aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Adjust 'permission denied' messages to be more useful and consistent.Tom Lane2003-08-01
|
* Very minor editing.Tom Lane2003-07-31
|
* Fix mistaken error code assignments, per Peter's note 7/28/03.Tom Lane2003-07-31
|
* When using a temp installation, unset PGUSER and other variables weTom Lane2003-07-31
| | | | | | might have inherited from the environment that would possibly cause psql to fail to connect to the temp installation properly. Per trouble report from Markus Bertheau 7/1/03.
* Cause library-preload feature to report error if specified initializationTom Lane2003-07-31
| | | | | function is not found. Also, make all the PL libraries have initialization functions with standard names. Patch from Joe Conway.
* Upgrade parsing code for ACLs to be less hokey and more cognizant ofTom Lane2003-07-31
| | | | | the actual logical structure and quoting rules being used. Fixes bug reported by Chris K-L on 7/8/03.
* Modify:Bruce Momjian2003-07-31
| | | | > * Implement dirty reads or shared row locks and use them in RI triggers
* Modify:Bruce Momjian2003-07-31
| | | | > * Implement dirty reads or shared locks and use them in RI triggers
* contraints -> constraintsBruce Momjian2003-07-31
| | | | Rod Taylor
* Update Turkish FAQ, Devrim GUNDUZBruce Momjian2003-07-31
|
* Add fflush of stdout when outputing query.Bruce Momjian2003-07-31
|
* dbf2pg - Insert xBase-style .dbf-files into a PostgreSQL-tableBruce Momjian2003-07-31
| | | | | | | | | | | | | | | | | | | | | | | | There is an option "-s oldname=newname", which changes the old field name of the dbf-file to the newname in PostgeSQL. If the length of the new name is 0, the field is skiped. If you want to skip the first field of the dbf-file, you get the wildest error-messages from the backend. dbf2pg load the dbf-file via "COPY tablename FROM STDIN". If you skip the first field, it is an \t to much in STDIN. A fix could be an counter j=0, which increments only, if a field is imported (IF (strlen(fields[h].db_name)> 0) j++. And only if j > 1 (if an other field is imported) the \t is printed. An other small bug in the README: -s start Specify the first record-number in the xBase-file we will insert. should be -e start Specify the first record-number in the xBase-file we will insert. Thomas Behr
* Add pretty-printing variants of pg_get_viewdef and related functions.Tom Lane2003-07-30
| | | | Patch from Andreas Pflug.
* Add:;Bruce Momjian2003-07-30
| | | | > * Allow server log information to be output as INSERT statements
* Fix numeric_smaller, numeric_larger, float4smaller, float4larger,Tom Lane2003-07-30
| | | | | | | | float8smaller, float8larger (and thereby the MIN/MAX aggregates on these datatypes) to agree with the datatypes' comparison operations as regards NaN handling. In all these datatypes, NaN is arbitrarily considered larger than any normal value ... but MIN/MAX had not gotten the word. Per recent discussion on pgsql-sql.
* Modify:Bruce Momjian2003-07-30
| | | | > * Allow log lines to include session-level information, like database and user
* Cause ARRAY[] construct to return a NULL array, rather than raising anTom Lane2003-07-30
| | | | | | error, if any input element is NULL. This is not what we ultimately want, but until arrays can have NULL elements, it will have to do. Patch from Joe Conway.
* Add:Bruce Momjian2003-07-30
| | | | > * Add database name and user name to logging options
* When shutting down the regression test postmaster after 'make check',Tom Lane2003-07-30
| | | | | | wait for the postmaster to actually exit. Otherwise running repeated 'make check's tends to misbehave, because we try to remove and recreate the data directory while the old PM is still alive.
* Fix longstanding error in _bt_search(): should moveright at top of loop notTom Lane2003-07-29
| | | | | | | | | bottom. Otherwise we fail to moveright when the root page was split while we were "in flight" to it. This is not a significant problem when the root is above the leaf level, but if the root was also a leaf (ie, a single-page index just got split) we may return the wrong leaf page to the caller, resulting in failure to find a key that is in fact present. Bug has existed at least since 7.1, probably forever.
* Coerce unknown-literal-constant default values to the column type duringTom Lane2003-07-29
| | | | | | | | | | | | | CREATE TABLE (or ALTER TABLE SET DEFAULT), rather than postponing it to the time that the default is inserted into an INSERT command by the rewriter. This reverses an old decision that was intended to make the world safe for writing f1 timestamp default 'now' but in fact merely made the failure modes subtle rather than obvious. Per recent trouble report and followup discussion. initdb forced since there is a chance that stored default expressions will change.
* There is no reason to cast valuntil to timestamp, and a very goodTom Lane2003-07-29
| | | | | reason not to: it fails for an 'invalid' abstime. Per bug report of today's date.
* Use a process-specific temp file name, per Andreas Haumer.Tom Lane2003-07-29
|
* Apply (a somewhat revised version of) Greg Mullane's patch to eliminateTom Lane2003-07-29
| | | | | | | | | heuristic determination of day vs month in date/time input. Add the ability to specify that input is interpreted as yy-mm-dd order (which formerly worked, but only for yy greater than 31). DateStyle's input component now has the preferred spellings DMY, MDY, or YMD; the older keywords European and US are now aliases for the first two of these. Per recent discussions on pgsql-general.
* Code review for recent GUC changes --- try to make it less obvious thatTom Lane2003-07-28
| | | | | these things were added at different times by different people ;-). Includes Aizaz Ahmed's patch to remove duplicate array in help_config.c.
* Add error stack traceback support for SQL-language functions.Tom Lane2003-07-28
|
* There was enough code drift since this patch, that a couple of bugsBruce Momjian2003-07-28
| | | | | | | | | | | materialized. New items have been added to GucContext and GucSource enums, but of course they were not added to the corresponding GucContextName[] and GucSourceName[] arrays in the patch. Here's a new patch to fix the resulting bugs. Joe Conway
* Localizability improvement.Tom Lane2003-07-28
|
* elog() is no longer a gettext trigger --- all remaining uses are consideredTom Lane2003-07-28
| | | | internal errors.
* Rename psql's VERBOSE variable to VERBOSITY, per suggestion from Bruce.Tom Lane2003-07-28
|
* A visit from the message-style police ...Tom Lane2003-07-28
|
* elog mop-up: bring some straggling fprintf(stderr)'s into the elog world.Tom Lane2003-07-27
|
* Updatge to skip composite types.Bruce Momjian2003-07-27
|
* Tom, happier with the attached patch?Bruce Momjian2003-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'd have to disagree with regards to the memory leaks not being worth a mention - any such leak can cause problems when the PostgreSQL installation is either unattended, long-living andor has very high connection levels. Half a kilobyte on start-up isn't negligible in this light. Regards, Lee. Tom Lane writes: > Lee Kindness <lkindness@csl.co.uk> writes: > > Guys, attached is a patch to fix two memory leaks on start-up. > > I do not like the changes to miscinit.c. In the first place, it is not > a "memory leak" to do a one-time allocation of state for a proc_exit > function. A bigger complaint is that your proposed change introduces > fragile coupling between CreateLockFile and its callers, in order to > save no resources worth mentioning. More, it introduces an assumption > that the globals directoryLockFile and socketLockFile don't change while > the postmaster is running. UnlinkLockFile should unlink the file that > it was originally told to unlink, regardless of what happens to those > globals. > > If you are intent on spending code to free stuff just before the > postmaster exits, a better fix would be for UnlinkLockFile to free its > string argument after using it. Lee Kindness
* Adjust oid2name to skip certain row types, per Tom.Bruce Momjian2003-07-27
|
* Fix some localizability issues with existing errcontext() calls.Tom Lane2003-07-27
|
* Move ERRCODE_XXX macros into their own header file.Tom Lane2003-07-27
|
* elog mop-up.Tom Lane2003-07-27
|
* elog mop-up.Tom Lane2003-07-27
|
* Remove unportable // comments.Tom Lane2003-07-27
|
* Cleanup of timetravel compile warnings.Bruce Momjian2003-07-27
|
* Error message editing in utils/adt. Again thanks to Joe Conway for doingTom Lane2003-07-27
| | | | the bulk of the heavy lifting ...
* Here is 4 file in tgz:Bruce Momjian2003-07-27
| | | | | | | | | | | | | | | | | | | | | | | | the new timetravel.c, new timetravel.README (cut from spi/README and modified), modified timetravel.sql.in and modified timetravel.example. Features: - optionally 3 parameter for insert/update/delete user name - work with CREATE UNIQUE INDEX ixxx on table xxx (unique_field,time_off); (the original version was work with unique index on 6.5.0-6.5.3, and not work on 7.3.2,7.3.3) (before 6.5.0 and between 6.5.3 and 7.3.2 I dont know) - get_timetravel(tablename) function for check timetravel-status. - timetravel trigger not change oid of the active record. (it is not a good feature, because the old version is automatice prevent the paralel update with "where oid=nnn") B?jthe Zolt?n
* > Joe Conway <mail@joeconway.com> writes:Bruce Momjian2003-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >>ISTM that "source" is worth knowing. > > Hm, possibly. Any other opinions? This version has the seven fields I proposed, including "source". Here's an example that shows why I think it's valuable: regression=# \x Expanded display is on. regression=# select * from pg_settings where name = 'enable_seqscan'; -[ RECORD 1 ]----------- name | enable_seqscan setting | on context | user vartype | bool source | default min_val | max_val | regression=# update pg_settings set setting = 'off' where name = 'enable_seqscan'; -[ RECORD 1 ]--- set_config | off regression=# select * from pg_settings where name = 'enable_seqscan'; -[ RECORD 1 ]----------- name | enable_seqscan setting | off context | user vartype | bool source | session min_val | max_val | regression=# alter user postgres set enable_seqscan to 'off'; ALTER USER (log out and then back in again) regression=# \x Expanded display is on. regression=# select * from pg_settings where name = 'enable_seqscan'; -[ RECORD 1 ]----------- name | enable_seqscan setting | off context | user vartype | bool source | user min_val | max_val | In the first case, enable_seqscan is set to its default value. After setting it to off, it is obvious that the value has been changed for the session only. In the third case, you can see that the value has been set specifically for the user. Joe Conway
* > Am Son, 2003-06-22 um 02.09 schrieb Joe Conway:Bruce Momjian2003-07-27
| | | | | | | | | | | | | | | | | | | >>Sounds like all that's needed for your case. But to be complete, in >>addition to changing tablefunc.c we'd have to: >>1) come up with a new function call signature that makes sense and does >>not cause backward compatibility problems for other people >>2) make needed changes to tablefunc.sql.in >>3) adjust the README.tablefunc appropriately >>4) adjust the regression test for new functionality >>5) be sure we don't break any of the old cases >> >>If you want to submit a complete patch, it would be gratefully accepted >>-- for review at least ;-) > > Here's the patch, at least for steps 1-3 Nabil Sayegh Joe Conway
* This is a totally trivial patch for something that was a very minor nit thatBruce Momjian2003-07-27
| | | | | | | | | | | annoyed me the other day while I was documenting my current project. It makes pg_dump use the same layout for types as for tables, by putting "\n\t" before the first field and "\n" before the final ");" Can't really justify this too much except to say I had an itch and I scratched it ;-) Andrew Dunstan
* here are the patches for psql on Win32:Bruce Momjian2003-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | psql4win32.patch - changes in the psql source code psql-ref.patch - changes in the documentation psql-ref.sgml (for new builtin variable WIN32_CONSOLE) To apply them use "patch -p 1" in the root directory of the postgres source directory. These patches fix the following problems of psql on Win32 (all changes only have effect #ifdef WIN32): a) Problem: Static library libpq.a did not work Solution: Added WSAStartup() in fe-connect.c b) Problem: Secret Password was echoed by psql Solution: Password echoing disabled in sprompt.c c) Problem: 8bit characters were displayed/interpreted wrong in psql This is due to the fact that the Win32 "console" uses a different encoding than the rest of the Windows system Solution: Introduced a new psql variable WIN32_CONSOLE When set with "\set WIN32_console", the function OemToChar() is applied after reading input and CharToOem() before displaying Output Christoph Dalitz
* This makes the initcap function compatible with Oracle 9i, it has beenBruce Momjian2003-07-27
| | | | | | tested on both redhat 8 and FreebSD. -- Mike Nolan
* The deferred trigger queue pushing to disk patch pointed outBruce Momjian2003-07-27
| | | | | | | | | | that the regression tests for foreign keys didn't seem to test a deferred constraint that was not satisified by a later statement and was not made immediate by set constraints, so here's a simple added test with a single invalid insert and a commit. Stephan Szabo
* >>You can alias $0, similar to the argument variables. And, I confirmedBruce Momjian2003-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >>that you cannot change the value, similar to the argument variables: > > Perhaps you shouldn't mark it isconst; then it would actually have some > usefulness (you could use it directly as a temporary variable to hold > the intended result). I can't see much value in aliasing it if it's > const, either. OK; the only change in this version is "isconst = false;". Now you can use $0 as a result placeholder if desired. E.g.: create or replace function tmp(anyelement, anyelement) returns anyarray as ' declare v_ret alias for $0; v_el1 alias for $1; v_el2 alias for $2; begin v_ret := ARRAY[v_el1, v_el2]; return v_ret; end; ' language 'plpgsql'; create table f(f1 text, f2 text, f3 int, f4 int); insert into f values ('a','b',1,2); insert into f values ('z','x',3,4); select tmp(f1,f2) from f; select tmp(f3,f4) from f; Joe Conway