aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* In text search docs, properly use indexterm _zone_ only when we want anBruce Momjian2007-08-31
| | | | entire section, per Peter.
* Fix docs so indexes can be built by commenting out GiST/GIN indexBruce Momjian2007-08-31
| | | | entries in textsearch.sgml.
* Install check_stack_depth() protection in two recursive tsqueryTom Lane2007-08-31
| | | | processing routines. Per Heikki.
* Add openjade warning -wfully-tagged to warn about missing close tags onBruce Momjian2007-08-31
| | | | older SGML toolchains.
* Rewrite make_outerjoininfo's construction of min_lefthand and min_righthandTom Lane2007-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | sets for outer joins, in the light of bug #3588 and additional thought and experimentation. The original methodology was fatally flawed for nests of more than two outer joins: it got the relationships between adjacent joins right, but didn't always come to the right conclusions about whether a join could be interchanged with one two or more levels below it. This was largely caused by a mistaken idea that we should use the min_lefthand + min_righthand sets of a sub-join as the minimum left or right input set of an upper join when we conclude that the sub-join can't commute with the upper one. If there's a still-lower join that the sub-join *can* commute with, this method led us to think that that one could commute with the topmost join; which it can't. Another problem (not directly connected to bug #3588) was that make_outerjoininfo's processing-order-dependent method for enforcing outer join identity #3 didn't work right: if we decided that join A could safely commute with lower join B, we dropped all information about sub-joins under B that join A could perhaps not safely commute with, because we removed B's entire min_righthand from A's. To fix, make an explicit computation of all inner join combinations that occur below an outer join, and add to that the full syntactic relsets of any lower outer joins that we determine it can't commute with. This method gives much more direct enforcement of the outer join rearrangement identities, and it turns out not to cost a lot of additional bookkeeping. Thanks to Richard Harris for the bug report and test case.
* Make more logical index sections for text search.Bruce Momjian2007-08-30
|
* Fix int8mul so that overflow check is applied correctly for INT64_IS_BUSTEDTom Lane2007-08-30
| | | | | case, per Florian Pflug. Not back-patched since it's unclear that anyone but me still cares ...
* Fix broken markup.Tatsuo Ishii2007-08-30
|
* Update tsearch documentation wording.Bruce Momjian2007-08-29
|
* Text search documentation word improvements; move configuration sectionBruce Momjian2007-08-29
| | | | to be more logical.
* Move full text search operators, functions, and data type sections intoBruce Momjian2007-08-29
| | | | the main documentation, out of its own text search chapter.
* Relax permissions checks on dbsize functions, per discussion. Revert out allTom Lane2007-08-29
| | | | | | | | | | checks for individual-table-size functions, since anyone in the database could get approximate values from pg_class.relpages anyway. Allow database-size to users with CONNECT privilege for the target database (note that this is granted by default). Allow tablespace-size if the user has CREATE privilege on the tablespace (which is *not* granted by default), or if the tablespace is the default tablespace for the current database (since we treat that as implicitly allowing use of the tablespace).
* Fix aboriginal bug in _tarAddFile(): when complaining that the amount of dataTom Lane2007-08-29
| | | | | | read from the temp file didn't match the file length reported by ftello(), the wrong variable's value was printed, and so the message made no sense. Clean up a couple other coding infelicities while at it.
* Fixed bug in Informix define handling.Michael Meskes2007-08-29
|
* Properly indent SGML in textsearch.sgml.Bruce Momjian2007-08-29
|
* Add a debug logging message when a resource manager rejects an attemptedTom Lane2007-08-28
| | | | restart point. Per suggestion from Simon Riggs.
* Reduce the permissions check needed to use pgrowlocks() to havingTom Lane2007-08-28
| | | | SELECT on the target table. Per discussion.
* Improve behavior of log_lock_waits patch. Ensure that something gets loggedTom Lane2007-08-28
| | | | | | | | | | even if the "deadlock detected" ERROR message is suppressed by an exception catcher. Be clearer about the event sequence when a soft deadlock is fixed: the fixing process might or might not still have to wait, so log that separately. Fix race condition when someone releases us from the lock partway through printing all this junk --- we'd not get confused about our state, but the log message sequence could have been misleading, ie, a "still waiting" message with no subsequent "acquired" message. Greg Stark and Tom Lane.
* Mention configurations early in text search documentation to table/indexBruce Momjian2007-08-28
| | | | section makes a little more sense.
* Please ignore. Fresh checkout to see if this fixes it.Bruce Momjian2007-08-28
|
* Commit test, please ignore.Bruce Momjian2007-08-28
|
* CVS commit test, ignore.Bruce Momjian2007-08-28
|
* CVS commit test for TODO. Please ignore.Bruce Momjian2007-08-28
|
* Small commit test for TODO.Bruce Momjian2007-08-28
|
* Update TODO.html.Bruce Momjian2007-08-28
|
* Update TODO with lost change, mostly completed items and whitespaceBruce Momjian2007-08-28
| | | | corrections. Not sure why these were not in CVS. Researching.
* Batch of TODO updates, mostly completed item marking and whitespaceBruce Momjian2007-08-28
| | | | fixes. Not sure how these weren't comitted before.
* Exclude tsearch2 contrib tests in regression tests,Magnus Hagander2007-08-27
| | | | | pending decision on exactly what will happen with contrib/tsearch2 now that it's in core.
* Install stopword filesMagnus Hagander2007-08-27
|
* Fix generation of snowball_create.sql on msvc builds.Magnus Hagander2007-08-27
|
* Fix a couple of misbehaviors rooted in the fact that the default creationTom Lane2007-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | namespace isn't necessarily first in the search path (there could be implicit schemas ahead of it). Examples are test=# set search_path TO s1; test=# create view pg_timezone_names as select * from pg_timezone_names(); ERROR: "pg_timezone_names" is already a view test=# create table pg_class (f1 int primary key); ERROR: permission denied: "pg_class" is a system catalog You'd expect these commands to create the requested objects in s1, since names beginning with pg_ aren't supposed to be reserved anymore. What is happening is that we create the requested base table and then execute additional commands (here, CREATE RULE or CREATE INDEX), and that code is passed the same RangeVar that was in the original command. Since that RangeVar has schemaname = NULL, the secondary commands think they should do a path search, and that means they find system catalogs that are implicitly in front of s1 in the search path. This is perilously close to being a security hole: if the secondary command failed to apply a permission check then it'd be possible for unprivileged users to make schema modifications to system catalogs. But as far as I can find, there is no code path in which a check doesn't occur. Which makes it just a weird corner-case bug for people who are silly enough to want to name their tables the same as a system catalog. The relevant code has changed quite a bit since 8.2, which means this patch wouldn't work as-is in the back branches. Since it's a corner case no one has reported from the field, I'm not going to bother trying to back-patch.
* Remove the 'not in' operator (!!=). This was a hangover from BerkeleyTom Lane2007-08-27
| | | | | | | days that was obsolete the moment we had IN (SELECT ...) capability. It's arguably a security hole since it applied no permissions check to the table it searched, and since it was never documented anywhere, removing it seems more appropriate than fixing it.
* Require SELECT privilege on a table to do dblink_get_pkey(). This isTom Lane2007-08-27
| | | | | | not all that exciting when the system catalogs are readable by all, but some people try to lock them down, and would not like this sort of end run ...
* Restrict pg_relation_size to relation owner, pg_database_size to DB owner,Tom Lane2007-08-27
| | | | | | and pg_tablespace_size to superusers. Perhaps we could weaken the first case to just require SELECT privilege, but that doesn't work for the other cases, so use ownership as the common concept.
* Make currtid() functions require SELECT privileges on the target table.Tom Lane2007-08-27
| | | | | | While it's not clear that TID linkage info is of any great use to a nefarious user, it's certainly unexpected that these functions wouldn't insist on read privileges.
* Restrict pgrowlocks function to superusers. (This might be too strict,Tom Lane2007-08-27
| | | | | but no permissions check at all is certainly no good.) Clean up usage of some deprecated APIs.
* Restrict pgstattuple functions to superusers. (This might be too strict,Tom Lane2007-08-26
| | | | | but no permissions check at all is certainly no good.) Clean up usage of some deprecated APIs.
* Clean up usage of some deprecated APIs, particularly schema-unsafeTom Lane2007-08-26
| | | | usage of RelationNameGetTupleDesc().
* Code review for btreefuncs additions: restrict to superusers to avoidTom Lane2007-08-26
| | | | exposing user data to others, and clean up usage of deprecated APIs.
* Make ARRAY(SELECT ...) return an empty array, rather than a NULL, when theTom Lane2007-08-26
| | | | | sub-select returns zero rows. Per complaint from Jens Schicke. Since this is more in the nature of a definition change than a bug, not back-patched.
* Adjust with-system-tzdata patch to not attempt to install a symlink,Tom Lane2007-08-25
| | | | | | but just hardwire the specified timezone database path into the executable. Per discussion, this avoids some packaging disadvantages of using a symlink.
* Fix brain fade in DefineIndex(): it was continuing to access the table'sTom Lane2007-08-25
| | | | | | | | | | | | | | | relcache entry after having heap_close'd it. This could lead to misbehavior if a relcache flush wiped out the cache entry meanwhile. In 8.2 there is a very real risk of CREATE INDEX CONCURRENTLY using the wrong relid for locking and waiting purposes. I think the bug is only cosmetic in 8.0 and 8.1, because their transgression is limited to using RelationGetRelationName(rel) in an ereport message immediately after heap_close, and there's no way (except with special debugging options) for a cache flush to occur in that interval. Not quite sure that it's cosmetic in 7.4, but seems best to patch anyway. Found by trying to run the regression tests with CLOBBER_CACHE_ALWAYS enabled. Maybe we should try to do that on a regular basis --- it's awfully slow, but perhaps some fast buildfarm machine could do it once in awhile.
* Simplify implementation of ts_debug() function --- use a join insteadTom Lane2007-08-25
| | | | | of redundant sub-selects. initdb not forced, since this is just a cosmetic change, but the new code won't show up till you do one.
* The upper limit for -c option of pgbench is now obtained fromTatsuo Ishii2007-08-25
| | | | (FD_SETSIZE - 10) rather than a hardwired number.
* Some more tsearch docs work --- sync names with CVS-tip reality, someTom Lane2007-08-25
| | | | minor rewording, some markup fixups. Lots left to do here ...
* Fix synonym-dict breakage introduced in last patch :-(.Tom Lane2007-08-25
| | | | Minor other cleanups.
* Rename built-in Snowball stemmer dictionaries to be english_stem,Tom Lane2007-08-25
| | | | russian_stem, etc. Per discussion.
* Cleanup for some problems in tsearch patch:Tom Lane2007-08-25
| | | | | | | | | | | | | | - ispell initialization crashed on empty dictionary file - ispell initialization crashed on affix file with prefixes but no suffixes - stop words file was run through pg_verify_mbstr, with database encoding, but it's supposed to be UTF-8; similar bug for synonym files - bunch of comments added, typos fixed, and other cleanup Introduced consistent encoding checking/conversion of data read from tsearch configuration files, by doing this in a single t_readline() subroutine (replacing direct usages of fgets). Cleaned up API for readstopwords too. Heikki Linnakangas
* Fix combo_decrypt() to throw an error for zero-length input when using aTom Lane2007-08-23
| | | | | | | | padded encryption scheme. Formerly it would try to access res[(unsigned) -1], which resulted in core dumps on 64-bit machines, and was certainly trouble waiting to happen on 32-bit machines (though in at least the known case it was harmless because that byte would be overwritten after return). Per report from Ken Colson; fix by Marko Kreen.
* Reduce memory requirements for writing CSVlogs, so it will work with aboutAndrew Dunstan2007-08-23
| | | | the same amount of memory in ErrorContext as standard logs.