- 28 8月, 2007 1 次提交
-
-
由 Tom Lane 提交于
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.
-
- 27 8月, 2007 8 次提交
-
-
由 Magnus Hagander 提交于
pending decision on exactly what will happen with contrib/tsearch2 now that it's in core.
-
由 Magnus Hagander 提交于
-
由 Magnus Hagander 提交于
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
- 26 8月, 2007 3 次提交
-
-
由 Tom Lane 提交于
but just hardwire the specified timezone database path into the executable. Per discussion, this avoids some packaging disadvantages of using a symlink.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
- 25 8月, 2007 3 次提交
-
-
由 Tom Lane 提交于
Minor other cleanups.
-
由 Tom Lane 提交于
russian_stem, etc. Per discussion.
-
由 Tom Lane 提交于
- 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
-
- 23 8月, 2007 3 次提交
-
-
由 Andrew Dunstan 提交于
the same amount of memory in ErrorContext as standard logs.
-
由 Andrew Dunstan 提交于
-
由 Tom Lane 提交于
initdb. We should create all the standard dictionaries even though some of them may not work in template1's encoding. Per Teodor.
-
- 22 8月, 2007 9 次提交
-
-
由 Michael Meskes 提交于
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
names in the former case seems more consistent with the behavior of other \dF commands.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
'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.
-
由 Tom Lane 提交于
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.
-
- 21 8月, 2007 11 次提交
-
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
Windows builds. In passing, fix an obsolete comment, per gripe from Greg Stark.
-
由 Magnus Hagander 提交于
(Still needs to build the .sql output files, but this handles the C part of the build)
-
由 Magnus Hagander 提交于
on mingw and probably cygwin.
-
由 Tom Lane 提交于
objects to it.
-
由 Tom Lane 提交于
of int64 for int32. Per reports from Merlin Moncure and Andrew Chernow.
-
由 Tom Lane 提交于
of the datatype to int64. Per Andrew Chernow.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
Oleg Bartunov and Teodor Sigaev, but I did a lot of editorializing, so anything that's broken is probably my fault. Documentation is nonexistent as yet, but let's land the patch so we can get some portability testing done.
-
- 20 8月, 2007 1 次提交
-
-
由 Peter Eisentraut 提交于
database.
-
- 19 8月, 2007 1 次提交
-
-
由 Andrew Dunstan 提交于
redirect_stderr to logging_collector. Original patch from Arul Shaji, subsequently modified by Greg Smith, and then heavily modified by me.
-