summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAgeFilesLines
...
* Changes:Bruce Momjian2003-06-116-2875/+87
| | | | | | | | | | | 1 intarray: bugfix for int[]-int[] operation 2 intarray: split _int.c to several files (_int.c now is unused) 3 ntarray (gist__intbig_ops opclass): use special type for index storage 4 ltree (gist__ltree_ops opclass), intarray (gist__intbig_ops): optimize GiST's penalty and picksplit interface functions, now use Hemming distance. Teodor Sigaev
* Remove platform-specific executable; does not belong in distribution.Tom Lane2003-06-112-2/+2
|
* Fix uninitialized memory bugTatsuo Ishii2003-06-103-4/+23
| | | | Add support for PGHOST, PGPORT, PGUSER environment variables
* Ensure that in all flex lexers that are part of the backend, aTom Lane2003-05-293-1/+9
| | | | | | | yy_fatal_error() call results in elog(ERROR) not exit(). This was already fixed in the main lexer and plpgsql, but extend same technique to all the other dot-l files. Also, on review of the possible calls to yy_fatal_error(), it seems safe to use elog(ERROR) not elog(FATAL).
* Replace functional-index facility with expressional indexes. Any columnTom Lane2003-05-281-4/+1
| | | | | | | | | | | of an index can now be a computed expression instead of a simple variable. Restrictions on expressions are the same as for predicates (only immutable functions, no sub-selects). This fixes problems recently introduced with inlining SQL functions, because the inlining transformation is applied to both expression trees so the planner can still match them up. Along the way, improve efficiency of handling index predicates (both predicates and index expressions are now cached by the relcache) and fix 7.3 oversight that didn't record dependencies of predicate expressions.
* Make debug_ GUC varables output DEBUG1 rather than LOG, and mention inBruce Momjian2003-05-274-23/+23
| | | | | docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location. Doc changes included.
* Cause CHAR(n) to TEXT or VARCHAR conversion to automatically strip trailingTom Lane2003-05-263-95/+0
| | | | | | | | | | | | | | | | | | blanks, in hopes of reducing the surprise factor for newbies. Remove redundant operators for VARCHAR (it depends wholly on TEXT operations now). Clean up resolution of ambiguous operators/functions to avoid surprising choices for domains: domains are treated as equivalent to their base types and binary-coercibility is no longer considered a preference item when choosing among multiple operators/functions. IsBinaryCoercible now correctly reflects the notion that you need *only* relabel the type to get from type A to type B: that is, a domain is binary-coercible to its base type, but not vice versa. Various marginal cleanup, including merging the essentially duplicate resolution code in parse_func.c and parse_oper.c. Improve opr_sanity regression test to understand about binary compatibility (using pg_cast), and fix a couple of small errors in the catalogs revealed thereby. Restructure "special operator" handling to fetch operators via index opclasses rather than hardwiring assumptions about names (cleans up the pattern_ops stuff a little).
* Repair quoting sloppiness, lack of schema awareness in reindexdb.Tom Lane2003-05-191-23/+43
|
* Fix failure when uniq-ifying an array of zero elements.Tom Lane2003-05-161-17/+5
| | | | Teodor Sigaev
* Check calling context for connectby_text(), per Joe Conway.Tom Lane2003-05-161-0/+5
|
* Fix various recent build and regression-test problems in contrib/.Tom Lane2003-05-145-23/+9
| | | | Includes fixes from Joe Conway.
* Backend support for autocommit removed, per recent discussions. TheTom Lane2003-05-1453-187/+68
| | | | | | only remnant of this failed experiment is that the server will take SET AUTOCOMMIT TO ON. Still TODO: provide some client-side autocommit logic in libpq.
* Portal and memory management infrastructure for extended query protocol.Tom Lane2003-05-021-37/+15
| | | | | | | | | Both plannable queries and utility commands are now always executed within Portals, which have been revamped so that they can handle the load (they used to be good only for single SELECT queries). Restructure code to push command-completion-tag selection logic out of postgres.c, so that it won't have to be duplicated between simple and extended queries. initdb forced due to addition of a field to Query nodes.
* Please, apply patch for contrib/ltree to current CVS and 7.3.2Bruce Momjian2003-03-315-7/+300
| | | | | | | | | | CHANGES Mar 28, 2003 Added finctions index(ltree,ltree,offset), text2ltree(text), ltree2text(text) Teodor Sigaev
* Regression output didn't get updated to match recent commit.Tom Lane2003-03-281-10/+12
|
* This patch implements holdable cursors, following the proposalBruce Momjian2003-03-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (materialization into a tuple store) discussed on pgsql-hackers earlier. I've updated the documentation and the regression tests. Notes on the implementation: - I needed to change the tuple store API slightly -- it assumes that it won't be used to hold data across transaction boundaries, so the temp files that it uses for on-disk storage are automatically reclaimed at end-of-transaction. I added a flag to tuplestore_begin_heap() to control this behavior. Is changing the tuple store API in this fashion OK? - in order to store executor results in a tuple store, I added a new CommandDest. This works well for the most part, with one exception: the current DestFunction API doesn't provide enough information to allow the Executor to store results into an arbitrary tuple store (where the particular tuple store to use is chosen by the call site of ExecutorRun). To workaround this, I've temporarily hacked up a solution that works, but is not ideal: since the receiveTuple DestFunction is passed the portal name, we can use that to lookup the Portal data structure for the cursor and then use that to get at the tuple store the Portal is using. This unnecessarily ties the Portal code with the tupleReceiver code, but it works... The proper fix for this is probably to change the DestFunction API -- Tom suggested passing the full QueryDesc to the receiveTuple function. In that case, callers of ExecutorRun could "subclass" QueryDesc to add any additional fields that their particular CommandDest needed to get access to. This approach would work, but I'd like to think about it for a little bit longer before deciding which route to go. In the mean time, the code works fine, so I don't think a fix is urgent. - (semi-related) I added a NO SCROLL keyword to DECLARE CURSOR, and adjusted the behavior of SCROLL in accordance with the discussion on -hackers. - (unrelated) Cleaned up some SGML markup in sql.sgml, copy.sgml Neil Conway
* Rename README in autovacuum code to match Makefile.Bruce Momjian2003-03-231-0/+0
|
* please apply attached patch to current CVS.Bruce Momjian2003-03-204-7/+89
| | | | | btree_gist now supports int2 ! Thanks Janko Richter for contribution.
* I have updated my pg_autovacuum program (formerly pg_avd, the nameBruce Momjian2003-03-207-1/+955
| | | | | | | | | | | | | | | | | changed as per discussion on the patches list). This version should be a good bit better. It addresses all the issues pointed out by Neil Conway. Vacuum and Analyze are now handled separately. It now monitors for xid wraparound. The number of database connections and queries has been significantly reduced compared the previous version. I have moved it from bin to contrib. More detail on the changes are in the TODO file. I have not tested the xid wraparound code as I have to let my AthlonXP 1600 run select 1 in a tight loop for approx. two days in order to perform the required 500,000,000 xacts. Matthew T. O'Connor
* Attached is an update to contrib/tablefunc. It implements a new hashedBruce Momjian2003-03-206-1/+655
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | version of crosstab. This fixes a major deficiency in real-world use of the original version. Easiest to undestand with an illustration: Data: ------------------------------------------------------------------- select * from cth; id | rowid | rowdt | attribute | val ----+-------+---------------------+----------------+--------------- 1 | test1 | 2003-03-01 00:00:00 | temperature | 42 2 | test1 | 2003-03-01 00:00:00 | test_result | PASS 3 | test1 | 2003-03-01 00:00:00 | volts | 2.6987 4 | test2 | 2003-03-02 00:00:00 | temperature | 53 5 | test2 | 2003-03-02 00:00:00 | test_result | FAIL 6 | test2 | 2003-03-02 00:00:00 | test_startdate | 01 March 2003 7 | test2 | 2003-03-02 00:00:00 | volts | 3.1234 (7 rows) Original crosstab: ------------------------------------------------------------------- SELECT * FROM crosstab( 'SELECT rowid, attribute, val FROM cth ORDER BY 1,2',4) AS c(rowid text, temperature text, test_result text, test_startdate text, volts text); rowid | temperature | test_result | test_startdate | volts -------+-------------+-------------+----------------+-------- test1 | 42 | PASS | 2.6987 | test2 | 53 | FAIL | 01 March 2003 | 3.1234 (2 rows) Hashed crosstab: ------------------------------------------------------------------- SELECT * FROM crosstab( 'SELECT rowid, attribute, val FROM cth ORDER BY 1', 'SELECT DISTINCT attribute FROM cth ORDER BY 1') AS c(rowid text, temperature int4, test_result text, test_startdate timestamp, volts float8); rowid | temperature | test_result | test_startdate | volts -------+-------------+-------------+---------------------+-------- test1 | 42 | PASS | | 2.6987 test2 | 53 | FAIL | 2003-03-01 00:00:00 | 3.1234 (2 rows) Notice that the original crosstab slides data over to the left in the result tuple when it encounters missing data. In order to work around this you have to be make your source sql do all sorts of contortions (cartesian join of distinct rowid with distinct attribute; left join that back to the real source data). The new version avoids this by building a hash table using a second distinct attribute query. The new version also allows for "extra" columns (see the README) and allows the result columns to be coerced into differing datatypes if they are suitable (as shown above). In testing a "real-world" data set (69 distinct rowid's, 27 distinct categories/attributes, multiple missing data points) I saw about a 5-fold improvement in execution time (from about 2200 ms old, to 440 ms new). I left the original version intact because: 1) BC, 2) it is probably slightly faster if you know that you have no missing attributes. README and regression test adjustments included. If there are no objections, please apply. Joe Conway
* Just some fixups to a couple contrib directories I was trying out.Bruce Momjian2003-03-202-34/+65
| | | | | | | | | . replace CREATE OR REPLACE AGGREGATE with a separate DROP and CREATE . add DROP for all CREATE OPERATORs . use IMMUTABLE and STRICT instead of WITH (isStrict) . add IMMUTABLE and STRICT to int_array_aggregate's accumulator function Gregory Stark
* The attatched patch fixes a memory error with contrib/dbmirror/pending.cBruce Momjian2003-03-201-2/+2
| | | | | | | | when running it with older(Pre 7.3.x) versions of Postgresql. Backpatched to 7.3.X. Steven Singer
* This patch fixes a bunch of spelling mistakes in comments throughout theTom Lane2003-03-1014-31/+31
| | | | | | PostgreSQL source code. Neil Conway
* Revise tuplestore and nodeMaterial so that we don't have to read theTom Lane2003-03-091-4/+0
| | | | | | | | | | entire contents of the subplan into the tuplestore before we can return any tuples. Instead, the tuplestore holds what we've already read, and we fetch additional rows from the subplan as needed. Random access to the previously-read rows works with the tuplestore, and doesn't affect the state of the partially-read subplan. This is a step towards fixing the problems with cursors over complex queries --- we don't want to stick in Materialize nodes if they'll prevent quick startup for a cursor.
* Please apply patches for contrib/ltree.Bruce Momjian2003-02-199-128/+509
| | | | | | | | | | | | | | ltree_73.patch.gz - for 7.3 : Fix ~ operation bug: eg '1.1.1' ~ '*.1' ltree_74.patch.gz - for current CVS Fix ~ operation bug: eg '1.1.1' ~ '*.1' Add ? operation Optimize index storage Last change needs drop/create all ltree indexes, so only for 7.4 Teodor Sigaev
* We just released new version of contrib/btree_gistBruce Momjian2003-02-1910-602/+975
| | | | | | | (7.3 and current CVS) with support of int8, float4, float8 in addition to int4. Thanks Janko Richter for contribution. Oleg Bartunov
* The attached patches change earthdistance to use the new cube functionsBruce Momjian2003-02-132-24/+24
| | | | | | | | | | | | | | | in one of the earth functions so that latitude and longitude to cartesian coordinates conversion will be more accurrate. (Previously a text string was built to provide as input which limited the accuracy to the number of digits printed.) The new functions were included in a recent patch to contrib/cube that has not as yet been accepted as of yet. I also added check constraints to the domain 'earth' since they are now working in 7.4. Bruno Wolff III
* The attached patch provides cube with 4 functions for building cubesBruce Momjian2003-02-135-17/+205
| | | | | | | | | | | | | directly from float8 values. (As opposed to converting the values to strings and then parsing the strings.) The functions are: cube(float8) returns cube cube(float8,float8) returns cube cube(cube,float8) returns cube cube(cube,float8,float8) returns cube Bruno Wolff III
* Tweak bison build rules so that we get the same error messages fromTom Lane2003-01-312-4/+16
| | | | | | | | bison 1.875 and later as we did from earlier bison releases. Eventually we will probably want to adopt the newer message spelling ... but not yet. Per recent discussion on pgpatches. Note: I didn't change the build rules for bootstrap, ecpg, or plpgsql grammars, since these do not affect regression test results.
* This patch fixes an incorrect statement and makes a few cleanups toBruce Momjian2003-01-151-4/+3
| | | | | | | | contrib/fulltextindex/README.fti Backpatched to 7.3.X too. Neil Conway
* Add missing #include <getopt.h>.Tom Lane2003-01-091-1/+4
|
* Call timestamp_in with proper arguments, per gripe from Mark Halliwell.Tom Lane2003-01-091-2/+4
|
* Upgrade to my2pg 1.9Bruce Momjian2003-01-071-34/+37
|
* Upgrade to even newer ora2pg 2.0.Bruce Momjian2003-01-076-142/+252
|
* Upgrade to ora2pg 1.10. Backpatch to 7.3.X.Bruce Momjian2003-01-074-16/+39
|
* Update for new we-always-have-getopt_long approach.Tom Lane2003-01-072-42/+12
|
* Add casts between lo and oid.Hiroshi Inoue2002-12-311-6/+8
|
* Small fix in documentation and some examples of usage. Please, apply toBruce Momjian2002-12-271-2/+39
| | | | | | 7.3 and current CVS Oleg Bartunov
* Phase 3 of read-only-plans project: ExecInitExpr now builds expressionTom Lane2002-12-131-1/+0
| | | | | | | execution state trees, and ExecEvalExpr takes an expression state tree not an expression plan tree. The plan tree is now read-only as far as the executor is concerned. Next step is to begin actually exploiting this property.
* This patch fixes minor bugs in dictionary generator in contrib/tsearchBruce Momjian2002-12-131-1/+3
| | | | | | | | (contrib/tsearch/makedict/makedict.pl) [ Backpatched to 7.3.] Teodor Sigaev
* Following patch avoids removing oids in the temporary table from theBruce Momjian2002-12-101-1/+2
| | | | | | temporary table. Kenji Sugita
* I've simplified the Darwin/Mac OS X startup script I submitted earlierBruce Momjian2002-12-092-0/+95
| | | | | | | | | | | | | | in the year. This version has only the two files required by the Darwin startup bundle design. Plus the sh script now uses Darwin-standard functions to start up PostgreSQL, and it checks for the presence of a variable in /etc/hostconfig, as do other Darwin startup scripts. I suggest that a new directory be created, contrib/start-scripts/darwin, and that these two files be put into it. Folks who want to use the script can read the comments inside it to figure out how to use it. David Wheeler
* Thank you very much, you catch it :). This bug had a long life, because itBruce Momjian2002-12-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | exists if and only if locale of postmaster was a different from C (or ru_RU.KOI8-R). Please, apply patch for current CVS & 7.3.1 Magnus Naeslund(f) wrote: > Ok, I nailed the bug, but i'm not sure what the correct fix is. > Attached tsearch_morph.diff that remedies this problem by avoiding it. > Also there's a debug aid patch if someone would like to know how i > finally found it out :) > > There problem in the lemmatize() function is that GETDICT(...) returned > a value not handled (BYLOCALE). > The value (-1) and later used as an index into the dicts[] array. > After that everything went berserk stack went crazy somehow so trapping > the fault sent me to the wrong place, and every time i read the value it > was positive ;) > > So now i just return the initial word passed to the lemmatize function, > because i don't know what to do with it. Magnus Naeslund
* Some time ago John Gray <jgray@azuli.co.uk> and myself worked out andBruce Momjian2002-12-061-4/+7
| | | | | | | | | | tested a patch to contrib/xml where the existing code was causing postgres to crash when it encountered & entities in the XML. I've enclosed a patch that John came up with to correct this problem. It patches against 7.3 and will apply on 7.2x if the elog WARNING calls are changed to elog NOTICE. Michael Richards
* It looks like the problem was introduced when the "SET autocommit" andBruce Momjian2002-12-051-3/+3
| | | | | | | | | "SET search_path" commands were added to the beginning of the script. The attatched patch should fix the problem. It probably should be applied against the 7.3 and 7.4 branches. Steven Singer
* Fix off-by-one bug in usage check.Tom Lane2002-12-031-2/+2
|
* Fix script name in README.Tom Lane2002-12-021-1/+1
|
* Fix dependency generation for multicolumn foreign keys. From Adam Buraczewski.Tom Lane2002-12-021-2/+2
|
* Add note that scaling factor should be >= # of clients.Tom Lane2002-11-271-1/+3
|
* Allocate proper length for sprintf string, from Tatsuo.Bruce Momjian2002-11-261-3/+3
|