aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Clean up recent patch for PL handler functions in pg_catalog: the patchTom Lane2005-08-15
| | | | | | caused PL languages and handlers to be dumped ALWAYS, even in the face of contrary --schema or --table switches. Adopt a slightly saner definition.
* Make createlang and droplang proof against weird search_path settingsTom Lane2005-08-15
| | | | by forcing search_path to be just pg_catalog.
* array_in() and array_recv() need to be more paranoid about validatingTom Lane2005-08-15
| | | | | | | | | their OID parameter. It was possible to crash the backend with select array_in('{123}',0,0); because that would bypass the needed step of initializing the workspace. These seem to be the only two places with a problem, though (record_in and record_recv don't have the issue, and the other array functions aren't depending on user-supplied input). Back-patch as far as 7.4; 7.3 does not have the bug.
* int_array_enum function should be using fcinfo->flinfo->fn_extra forTom Lane2005-08-15
| | | | | working state, not fcinfo->context. Silly oversight on my part in last go-round of fixes.
* Allow the pgstat views to show toast tables as well as regular tablesTom Lane2005-08-15
| | | | | | | | (the stats system has always collected this info, but the views were filtering it out). Modify autovacuum so that over-threshold activity in a toast table can trigger a VACUUM of the parent table, even if the parent didn't appear to need vacuuming itself. Per discussion a month or so back about "short, wide tables".
* Clean up some stray remaining references to pg_shadow, pg_user, pg_group.Tom Lane2005-08-15
|
* Change pg_dump to use pg_roles instead of pg_user on 8.1 and up,Tom Lane2005-08-15
| | | | so that it will correctly dump owners of objects owned by non-login roles.
* Update administrator's guide chapters for ROLEs patch.Tom Lane2005-08-14
|
* Change standard_compliant_strings to standard_conforming_strings.Peter Eisentraut2005-08-14
|
* Update the createuser utility for the ROLEs world. Alvaro HerreraTom Lane2005-08-14
|
* Fix psql's \d commands to use pg_roles instead of pg_user, so thatTom Lane2005-08-14
| | | | they don't miss owners that are NOLOGIN.
* Fix up tab completion for ROLEs and add some more completion logic forTom Lane2005-08-14
| | | | | | other stuff; change \du and \dg to be role-aware (Stefan Kaltenbrunner). Also make tab completion fetch the list of GUC variables from pg_settings instead of having a hard-wired copy of the list (Tom Lane).
* Tweak catalog cache management algorithms to reduce cost ofTom Lane2005-08-13
| | | | | | | | | | | | | | | | | SearchCatCacheList and ReleaseCatCacheList. Previously, we incremented and decremented the refcounts of list member tuples along with the list itself, but that's unnecessary, and very expensive when the list is big. It's cheaper to change only the list refcount. When we are considering deleting a cache entry, we have to check not only its own refcount but its parent list's ... but it's easy to arrange the code so that this check is not made in any commonly-used paths, so the cost is really nil. The bigger gain though is to refrain from DLMoveToFront'ing each individual member tuple each time the list is referenced. To keep some semblance of fair space management, lists are just marked as used or not since the last cache cleanout search, and we do a MoveToFront pass only when about to run a cleanout. In combination, these changes reduce the costs of SearchCatCacheList and ReleaseCatCacheList from about 4.5% of pgbench runtime to under 1%, according to my gprof results.
* Make pg_stat_file() use OUT parameters so that the user doesn't have toTom Lane2005-08-13
| | | | | | | remember the output parameter set for himself. It's a bit of a kluge but fixing array_in to work in bootstrap mode looks worse. I removed the separate pg_file_length() function, as it no longer has any real notational advantage --- you can write (pg_stat_file(...)).length.
* Remove API file.Bruce Momjian2005-08-13
| | | | Marko Kreen
* CREATE TABLE has optional column names, so change {} to [].Bruce Momjian2005-08-13
| | | | Alvaro.
* The large one adds support for RSA keys and reorganizesBruce Momjian2005-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the pubkey functions a bit. The actual RSA-specific code there is tiny, most of the patch consists of reorg of the pubkey code, as lots of it was written as elgamal-only. --------------------------------------------------------------------------- The SHLIB section was copy-pasted from somewhere and contains several unnecessary libs. This cleans it up a bit. -lcrypt we don't use system crypt() -lssl, -lssleay32 no SSL here -lz in win32 section already added on previous line -ldes The chance anybody has it is pretty low. And the chance pgcrypto works with it is even lower. Also trim the win32 section. --------------------------------------------------------------------------- It is already disabled in Makefile, remove code too. --------------------------------------------------------------------------- I was bit hasty making the random exponent 'k' a prime. Further researh shows that Elgamal encryption has no specific needs in respect to k, any random number is fine. It is bit different for signing, there it needs to be 'relatively prime' to p - 1, that means GCD(k, p-1) == 1, which is also a lot lighter than full primality. As we don't do signing, this can be ignored. This brings major speedup to Elgamal encryption. --------------------------------------------------------------------------- o pgp_mpi_free: Accept NULLs o pgp_mpi_cksum: result should be 16bit o Remove function name from error messages - to be similar to other SQL functions, and it does not match anyway the called function o remove couple junk lines --------------------------------------------------------------------------- o Support for RSA encryption o Big reorg to better separate generic and algorithm-specific code. o Regression tests for RSA. --------------------------------------------------------------------------- o Tom stuck a CVS id into file. I doubt the usefulness of it, but if it needs to be in the file then rather at the end. Also tag it as comment for asciidoc. o Mention bytea vs. text difference o Couple clarifications --------------------------------------------------------------------------- There is a choice whether to update it with pgp functions or remove it. I decided to remove it, updating is pointless. I've tried to keep the core of pgcrypto relatively independent from main PostgreSQL, to make it easy to use externally if needed, and that is good. Eg. that made development of PGP functions much nicer. But I have no plans to release it as generic library, so keeping such doc up-to-date is waste of time. If anyone is interested in using it in other products, he can probably bother to read the source too. Commented source is another thing - I'll try to make another pass over code to see if there is anything non-obvious that would need more comments. --------------------------------------------------------------------------- Marko Kreen
* Add documentation:Bruce Momjian2005-08-13
| | | | | | | | | | | | | | | | | | >>>I think a more accurate description would be "permissions not >>>inherited by children," and that isn't necessarily a bug. >> >>I agree it may not be a bug - but it's more than the permissions not >>being inherited: the parent is affected. > > > Not really, once you understand what's happening. Unless you use > FROM ONLY, selecting from the parent selects from the parent *and* > its children. The parent itself isn't affected, as queries with > FROM ONLY should demonstrate. I understand what you're saying -- > that there's an apparent effect on the parent -- but there really > isn't. Sean Burlington
* Disable strtoul() ERANGE check on Win32, because it isn't thread safe,Bruce Momjian2005-08-13
| | | | and it isn't really required.
* Reverse out Assert addition.Bruce Momjian2005-08-12
|
* Pass the type OID as the typioparam for all non-array types, rather thanTom Lane2005-08-12
| | | | | only composite types as we did in 8.0. Per discussion with Martijn van Oosterhout.
* Back out plpython makefile change.Bruce Momjian2005-08-12
|
* Improve documention on loading large data sets into plperl.Bruce Momjian2005-08-12
| | | | David Fetter
* This patch fixes the event type used to log output from theBruce Momjian2005-08-12
| | | | | | | | | | | | stderr-in-service or output-from-syslogger-in-service code. Previously everything was flagged as ERRORs there, which caused all instances to log "LOG: logger shutting down" as error... Please apply for 8.1. I'd also like it considered for 8.0 since logging non-errors as errors can be cause for alarm amongst people who actually look at their logs... Magnus Hagander
* Un-break plperl for non-set case.Tom Lane2005-08-12
|
* [ backpatched to 8.0.X.]Bruce Momjian2005-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > >> 3) I restarted the postmaster both times. I got this error > both times. > >> :25: ERROR: could not load library "C:/Program > >> Files/PostgreSQL/8.0/lib/testtrigfuncs.dll": dynamic load error > > > Yes. We really need to look at fixing that error message. I had > > forgotten it completely :-( > > > Bruce, you think we can sneak that in after feature freeze? I would > > call it a bugfix :-) > > Me too. That's been on the radar for awhile --- please do > send in a patch. Here we go, that wasn't too hard :-) Apart from adding the error handling, it does one more thing: it changes the errormode when loading the DLLs. Previously if a DLL was broken, or referenced other DLLs that couldn't be found, a popup dialog box would appear on the screen. Which had to be clicked before the backend could continue. This patch also disables the popup error message for DLL loads. I think this is something we should consider doing for the entire backend - disable those popups, and say we deal with it ourselves. What do you other win32 hackers thinnk about this? In the meantime, this patch fixes the error msgs. Please apply for 8.1 and please consider a backpatch to 8.0. Magnus Hagander
* > Gavin Sherry <swm@linuxworld.com.au> writes:Bruce Momjian2005-08-12
| | | | | | | | | | | | | | | | | | | | | | | | > > I ran across this yesterday on HEAD: > > > template1=# grant select on foo, foo to swm; > > ERROR: tuple already updated by self > > Seems to fail similarly in every version back to 7.2; probably further, > but that's all I have running at the moment. > > > We could do away with the error by producing a unique list of object names > > -- but that would impose an extra cost on the common case. > > CommandCounterIncrement in the GRANT loop would be easier, likely. > I'm having a hard time getting excited about it though... Yeah, its not that exciting but that error message would throw your average user. I've attached a patch which calls CommandCounterIncrement() in each of the grant loops. Gavin Sherry
* More rsi assignment line too.Bruce Momjian2005-08-12
|
* Fix up canonicalize_path to do the right thing in all cases (I think ...Tom Lane2005-08-12
| | | | | this was harder than it seemed at first glance). Also push code for checking for ".." in file names into path.c where it belongs.
* Fix this:Bruce Momjian2005-08-12
| | | | | | | | | | | | $ ./configure --without-docdir .. $ cd contrib/pgstattuple/ $ make install mkdir -p -- /contrib mkdir: cannot create directory `/contrib': Permission denied make: *** [installdirs] Error 1 ISHIDA Akio
* Cleanups for FreeBSD linking (PIC) and plpython compiles.Bruce Momjian2005-08-12
| | | | FreeBSD ports, supplied by Jim C. Nasby
* > The attached patch moves a plperl sanity check into the correctBruce Momjian2005-08-12
| | | | | | | > position. Performing the check in the existing position allows the call > to go through to perl first, possibly resulting in a SEGV. Andrew Dunstan
* No server version of snprintf needed, so remove Makefile rule.Bruce Momjian2005-08-12
|
* Reverse out changes to canonicalize_path(), per suggestion from Tom.Bruce Momjian2005-08-12
|
* Modify canonicalize_path() so if we would return a trailing "..", throwBruce Momjian2005-08-12
| | | | an error instead.
* Code & docs review for server instrumentation patch. File timestampsTom Lane2005-08-12
| | | | | | should surely be timestamptz not timestamp; fix some but not all of the holes in check_and_make_absolute(); other minor cleanup. Also put in the missed catversion bump.
* Add markup for GUC mention in docs.Bruce Momjian2005-08-12
|
* Change a couple of "can't happen" error messages to be a shade moreTom Lane2005-08-12
| | | | | verbose when they do happen. The "left link changed unexpectedly" one in particular has been seen more than once in the field.
* Remove BufferBlockPointers array in favor of a base + (bufnum) * BLCKSZTom Lane2005-08-12
| | | | | | | | computation. On modern machines this is as fast if not faster, and we don't have to clog the CPU's L2 cache with a tens-of-KB pointer array. If we ever decide to adopt a more dynamic allocation method for shared buffers, we'll probably have to revert this patch, but in the meantime we might as well save a few bytes and nanoseconds. Per Qingqing Zhou.
* Add files to do read I/O on the cluster directory:Bruce Momjian2005-08-12
| | | | | | | | | | | pg_stat_file() pg_read_file() pg_ls_dir() pg_reload_conf() pg_rotate_logfile() Dave Page Andreas Pflug
* Update comments.Bruce Momjian2005-08-12
|
* Document why we only handle trailing "..".Bruce Momjian2005-08-12
|
* Solve the problem of OID collisions by probing for duplicate OIDsTom Lane2005-08-12
| | | | | | | whenever we generate a new OID. This prevents occasional duplicate-OID errors that can otherwise occur once the OID counter has wrapped around. Duplicate relfilenode values are also checked for when creating new physical files. Per my recent proposal.
* Fix BSD fseeko to seek from the end of the file.Bruce Momjian2005-08-11
|
* EINTR return from connect() should be treated exactly the same asTom Lane2005-08-11
| | | | | EINPROGRESS, according to Florian Hars. I'm not completely convinced but the spec does seem to read that way.
* Autovacuum loose end mop-up. Provide autovacuum-specific vacuum costTom Lane2005-08-11
| | | | | | | delay and limit, both as global GUCs and as table-specific entries in pg_autovacuum. stats_reset_on_server_start is now OFF by default, but a reset is forced if we did WAL replay. XID-wrap vacuums do not ANALYZE, but do FREEZE if it's a template database. Alvaro Herrera
* Update for new CVS homepage.Bruce Momjian2005-08-11
|
* Mention MD5 function index for indexing long values.Bruce Momjian2005-08-11
|
* Update MD5 mention for long values.Bruce Momjian2005-08-11
|
* Fix canonicalize_path so "../.." isn't stripped off and ignored.Bruce Momjian2005-08-11
|