aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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.
* unbreak ECPG tests for VPATH builds.Andrew Dunstan2007-08-23
|
* Fix typo in FAQ_DEV.Bruce Momjian2007-08-23
|
* Add book to FAQ_DEV:Bruce Momjian2007-08-23
| | | | Transactional Information Systems by Gerhard Weikum, Kaufmann
* Fix possible core dump from pgbench -d option. Julius StroffekTom Lane2007-08-22
|
* Suppress testing the options of CREATE TEXT SEARCH DICTIONARY duringTom Lane2007-08-22
| | | | | initdb. We should create all the standard dictionaries even though some of them may not work in template1's encoding. Per Teodor.
* More cleaning up and removed some duplicates.Michael Meskes2007-08-22
|
* Propagate Magnus' fix for Windows snowball build into Makefile.cygwin.Tom Lane2007-08-22
|
* Fix cut-n-paste-o.Tom Lane2007-08-22
|
* Fix VPATH-build problem in new tsearch makefile, per Chad Wagner.Tom Lane2007-08-22
|
* Remove option to change parser of an existing text search configuration.Tom Lane2007-08-22
| | | | | | This prevents needing to do complex and poorly-defined updates of the mapping table if the new parser has different token types than the old. Per discussion.
* Text search doc updates --- first cut atTom Lane2007-08-22
| | | | syncing the existing docs with the final syntax decisions.
* Whoops, missed updating dsynonym_init for new dictionary parameter method.Tom Lane2007-08-22
|
* Make \dFt and \dFt+ do something different --- omitting the functionTom Lane2007-08-22
| | | | | names in the former case seems more consistent with the behavior of other \dF commands.
* Simplify the syntax of CREATE/ALTER TEXT SEARCH DICTIONARY by treating theTom Lane2007-08-22
| | | | | | | | | | | | init options of the template as top-level options in the syntax. This also makes ALTER a bit easier to use, since options can be replaced individually. I also made these statements verify that the tmplinit method will accept the new settings before they get stored; in the original coding you didn't find out about mistakes until the dictionary got invoked. Under the hood, init methods now get options as a List of DefElem instead of a raw text string --- that lets tsearch use existing options-pushing code instead of duplicating functionality.
* Simplify CREATE TEXT SEARCH CONFIGURATION by eliminating the separateTom Lane2007-08-21
| | | | | | | | | 'with map' parameter; as things now stand there's really not much point in specifying a config-to-copy if you don't copy its map. Also, use COPY instead of TEMPLATE as the key word for a config-to-copy, so as to avoid confusion with text search templates. Per discussion; the just-committed reference page for the command already describes it this way.
* First rough cut at text search documentation: bare bones referenceTom Lane2007-08-21
| | | | | | pages for the new SQL commands. I also committed Bruce's text search introductory chapter, as-is except for fixing some markup errors, so that there would be a place for the reference pages to link to.
* Exclude snowball/libstemmer/ files from the set processed by pgindent.Tom Lane2007-08-21
| | | | | | There's not much point in prettifying machine-generated code, and it seems best to keep these files exactly like upstream anyway. Also add some notes about why various files are excluded.
* Uppercase keywords in regression tsearch test scripts.Bruce Momjian2007-08-21
|
* Avoid using TEXT as a Bison symbol, since this provokes warnings onTom Lane2007-08-21
| | | | | Windows builds. In passing, fix an obsolete comment, per gripe from Greg Stark.
* Remove tabs from SGML files.Bruce Momjian2007-08-21
|
* Build snowball DLL for tsearch-in-core.Magnus Hagander2007-08-21
| | | | | (Still needs to build the .sql output files, but this handles the C part of the build)
* Don't define BUILDING_DLL for snowball lib. Should fix build problemsMagnus Hagander2007-08-21
| | | | on mingw and probably cygwin.
* Remove extraneous semicolon --- buildfarm member bear, for one,Tom Lane2007-08-21
| | | | objects to it.
* Fix cash_mul_int4 and cash_div_int4 for overenthusiastic substitutionTom Lane2007-08-21
| | | | of int64 for int32. Per reports from Merlin Moncure and Andrew Chernow.
* Fix money type's send/receive functions to conform to recent wideningTom Lane2007-08-21
| | | | of the datatype to int64. Per Andrew Chernow.
* Fix potential access-off-the-end-of-memory in varbit_out(): it fetched theTom Lane2007-08-21
| | | | | | byte after the last full byte of the bit array, regardless of whether that byte was part of the valid data or not. Found by buildfarm testing. Thanks to Stefan Kaltenbrunner for nailing down the cause.
* Suppress uninitialized-variable warning.Tom Lane2007-08-21
|