summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2002-03-05I attach a version of my toast-slicing patch, against current CVSBruce Momjian
(current as of a few hours ago.) This patch: 1. Adds PG_GETARG_xxx_P_SLICE() macros and associated support routines. 2. Adds routines in src/backend/access/tuptoaster.c for fetching only necessary chunks of a toasted value. (Modelled on latest changes to assume chunks are returned in order). 3. Amends text_substr and bytea_substr to use new methods. It now handles multibyte cases -and should still lead to a performance improvement in the multibyte case where the substring is near the beginning of the string. 4. Added new command: ALTER TABLE tabname ALTER COLUMN colname SET STORAGE {PLAIN | EXTERNAL | EXTENDED | MAIN} to parser and documented in alter-table.sgml. (NB I used ColId as the item type for the storage mode string, rather than a new production - I hope this makes sense!). All this does is sets attstorage for the specified column. 4. AlterTableAlterColumnStatistics is now AlterTableAlterColumnFlags and handles both statistics and storage (it uses the subtype code to distinguish). The previous version of my patch also re-arranged other code in backend/commands/command.c but I have dropped that from this patch.(I plan to return to it separately). 5. Documented new macros (and also the PG_GETARG_xxx_P_COPY macros) in xfunc.sgml. ref/alter_table.sgml also contains documentation for ALTER COLUMN SET STORAGE. John Gray
2002-03-05I was digging through the GiST code, and figured I'd fix up some of theBruce Momjian
"bad smell" in that code. Stuff like function parameters that aren't used, typos in the comments, comparison between signed and unsigned ints, etc. Attached is a pretty trivial patch; it compiles, but beyond that completely untested. Unless anyone sees any problems, please apply for 7.3. Neil Conway
2002-03-05Here's a patch against 7.1.3 that fixes a problem with sending largerBruce Momjian
queries over non-blocking connections with libpq. "Larger" here basically means that it doesn't fit into the output buffer. The basic strategy is to fix pqFlush and pqPutBytes. The problem with pqFlush as it stands now is that it returns EOF when an error occurs or when not all data could be sent. The latter case is clearly not an error for a non-blocking connection but the caller can't distringuish it from an error very well. The first part of the fix is therefore to fix pqFlush. This is done by to renaming it to pqSendSome which only differs from pqFlush in its return values to allow the caller to make the above distinction and a new pqFlush which is implemented in terms of pqSendSome and behaves exactly like the old pqFlush. The second part of the fix modifies pqPutBytes to use pqSendSome instead of pqFlush and to either send all the data or if not all data can be sent on a non-blocking connection to at least put all data into the output buffer, enlarging it if necessary. The callers of pqPutBytes don't have to be changed because from their point of view pqPutBytes behaves like before. It either succeeds in queueing all output data or fails with an error. I've also added a new API function PQsendSome which analogously to PQflush just calls pqSendSome. Programs using non-blocking queries should use this new function. The main difference is that this function will have to be called repeatedly (calling select() properly in between) until all data has been written. AFAICT, the code in CVS HEAD hasn't changed with respect to non-blocking queries and this fix should work there, too, but I haven't tested that yet. Bernhard Herzog
2002-03-05Previous patch to mark UNION outputs with common typmod (if any) breaksTom Lane
three-or-more-way UNIONs, as per example from Josh Berkus. Cause is a fragile assumption that one tlist's entries will exactly match another. Restructure code to make that assumption a little less fragile.
2002-03-05Doug Fields patch to prevent exception being thrown on zero length arraysDave Cramer
2002-03-05patch from Zhenbang WeiDave Cramer
The errors_zh_TW.properties must be translated using native2ascii or it will raise an exception. Please replace the old file.
2002-03-05Patch from Ryouichi MatsudaDave Cramer
An attached patch corrects problem of this bug and fractional second. The handling of time zone was as follows: (a) with time zone using SimpleDateFormat("yyyy-MM-dd HH:mm:ss z") (b) without time zone using SimpleDateFormat("yyyy-MM-dd HH:mm:ss") About problem of fractional second, Fractional second was changed from milli-second to nano-second
2002-03-05 patch from Mitchel Friedman to fix getTablesDave Cramer
2002-03-05Showing index details with \d on psql.Bruce Momjian
Greg Sabino Mullane
2002-03-05 patch from Vicktor to fix Numeric decimal digits in getColumnsDave Cramer
2002-03-05Back out python patch:Bruce Momjian
Elliot Lee wrote: > This patch to the python bindings adds C versions of the often-used query > args quoting routines, as well as support for quoting lists e.g. > dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))
2002-03-05This patch to the python bindings adds C versions of the often-usedBruce Momjian
query args quoting routines, as well as support for quoting lists e.g. dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],)) Elliot Lee
2002-03-05Add \timing patch to psql. Times all queries.Bruce Momjian
Greg Sabino Mullane
2002-03-04Add PQunescapeBytea libpq function.Bruce Momjian
Everyone using libpq and bytea is probably having to invent this wheel.. Patrick Welche
2002-03-04Improve libpgeasy API for multiple result sets, add example.Bruce Momjian
2002-03-04Add Assert check to catch vsnprintf overrunning its buffer. (Seen toTom Lane
occur on Solaris 7 in 64-bit mode, for one.)
2002-03-04Make port makefile slightly less crufty.Tom Lane
2002-03-04Fix very ancient breakage in alter-table tests: apparently, there was aTom Lane
type named 'dt' back in Postgres 4.2, and the regression test wasn't updated when it was removed. Per report from Patricia Holben of Great Bridge.
2002-03-04If presented db path has a trailing slash, remove it to avoid generatingTom Lane
double slashes in generated filenames. This is not strictly necessary on standard Unixen, but I'm being a neatnik...
2002-03-04Fix bug in extract/date_part for milliseconds/miscroseconds andTatsuo Ishii
timestamp/timestamptz combo. Now extract/date_part returns seconds*1000 or 1000000 + fraction part as the manual stats. regression test are also fixed. See the thread in pgsql-hackers: Subject: Re: [HACKERS] timestamp_part() bug? Date: Sat, 02 Mar 2002 11:29:53 +0900
2002-03-04Fix bogus error check in pg_execute, per report from lbayuk@mindspring.com.Tom Lane
2002-03-04Further work on elog cleanup: fix some bogosities in elog's logic aboutTom Lane
when to send what to which, prevent recursion by introducing new COMMERROR elog level for client-communication problems, get rid of direct writes to stderr in backend/libpq files, prevent non-error elogs from going to client during the authentication cycle.
2002-03-03Catcaches can now store negative entries as well as positive ones, toTom Lane
speed up repetitive failed searches; per pghackers discussion in late January. inval.c logic substantially simplified, since we can now treat inserts and deletes alike as far as inval events are concerned. Some repair work needed in heap_create_with_catalog, which turns out to have been doing CommandCounterIncrement at a point where the new relation has non-self-consistent catalog entries. With the new inval code, that resulted in assert failures during a relcache entry rebuild.
2002-03-03Default server_min_messages is NOTICE.Bruce Momjian
2002-03-03Cause regression tests to pass again after elog changes.Tom Lane
2002-03-02Some kibitzing about appropriate elog levels for sinval messages.Tom Lane
2002-03-02Commit to match discussed elog() changes. Only update is that LOG isBruce Momjian
now just below FATAL in server_min_messages. Added more text to highlight ordering difference between it and client_min_messages. --------------------------------------------------------------------------- REALLYFATAL => PANIC STOP => PANIC New INFO level the prints to client by default New LOG level the prints to server log by default Cause VACUUM information to print only to the client NOTICE => INFO where purely information messages are sent DEBUG => LOG for purely server status messages DEBUG removed, kept as backward compatible DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added DebugLvl removed in favor of new DEBUG[1-5] symbols New server_min_messages GUC parameter with values: DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC New client_min_messages GUC parameter with values: DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC Server startup now logged with LOG instead of DEBUG Remove debug_level GUC parameter elog() numbers now start at 10 Add test to print error message if older elog() values are passed to elog() Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-02Add code to allow profiling of backends on Linux: save and restore theTom Lane
profiling timer setting across fork(). The correct way to build a profilable backend on Linux is now gmake PROFILE="-pg -DLINUX_PROFILE"
2002-03-02Don't bother to request SSL connection over a Unix socket, since theTom Lane
postmaster won't accept the request anyway. (If your kernel can't be trusted, SSL will not help you.)
2002-03-02Array slice extraction should produce a result array with index lowerTom Lane
bounds of 1, not the lower bound subscripts of the original slice. Per bug report from Andre Holzner, 1-Feb-02.
2002-03-01User and database-specific session defaults for run-time configurationPeter Eisentraut
variables. New commands ALTER DATABASE ... SET and ALTER USER ... SET.
2002-03-01array_ref() should set isNull to false explicitly if it's not going toPeter Eisentraut
return NULL.
2002-03-01Fix thinko: cost_mergejoin must pay attention to which side of theTom Lane
mergeclause is which when extracting selectivity info.
2002-03-01Add files for Unicode support.Hiroshi Inoue
2002-03-01Second thoughts dept: arrange to cache mergejoin scan selectivityTom Lane
in RestrictInfo nodes, instead of recomputing on every use.
2002-03-01Teach planner about the idea that a mergejoin won't necessarily readTom Lane
both input streams to the end. If one variable's range is much less than the other, an indexscan-based merge can win by not scanning all of the other table. Per example from Reinhard Max.
2002-02-27Tweak pg_exec_query_string so that we close down transaction commandTom Lane
before reporting command-complete message for the final command of a query string. This way, any errors detected during finish_xact_command (such as RI violations) will appear to be part of the final command, rather than coming out after the command is reported complete. This avoids confusing PQendcopy and other not-overly-bright clients. Per Lee Harr's bug report of 25-Feb-02.
2002-02-27#ifdef out pg_dump's check on whether a sequence's sequence_name fieldTom Lane
matches the sequence name from pg_class. This fails if the sequence has been renamed, and seems rather pointless in any case. Also improve a couple of error messages about inconsistencies.
2002-02-27Paranoia about data structure lifetime ...Tom Lane
2002-02-27Clean up BeginCommand and related routines. BeginCommand and EndCommandTom Lane
are now both invoked once per received SQL command (raw parsetree) from pg_exec_query_string. BeginCommand is actually just an empty routine at the moment --- all its former operations have been pushed into tuple receiver setup routines in printtup.c. This makes for a clean distinction between BeginCommand/EndCommand (once per command) and the tuple receiver setup/teardown routines (once per ExecutorRun call), whereas the old code was quite ad hoc. Along the way, clean up the calling conventions for ExecutorRun a little bit.
2002-02-27Improve the handling of ODBC escape(a request from Marcelo Aceto).Hiroshi Inoue
Change SQLGetFunctions() to reply not yet implemented ODBC 3.0 functions precisely.
2002-02-27Fix bug in COPY FROM when DELIMITER is not in ASCII range.Tatsuo Ishii
See pgsql-bugs/pgsql-hackers discussion "COPY FROM is not 8bit clean" around 2002/02/26 for more details -- Tatsuo Ishii
2002-02-26Restructure command-completion-report code so that there is just oneTom Lane
report for each received SQL command, regardless of rewriting activity. Also ensure that this report comes from the 'original' command, not the last command generated by rewrite; this fixes 7.2 breakage for INSERT commands that have actions added by rules. Fernando Nasser and Tom Lane.
2002-02-26Implementation for cancelQuery by Grant Finnemore <grantf@guruhut.co.za>Dave Cramer
2002-02-26Use quote-marks to try to clarify a plpgsql error message, perTom Lane
gripe from Dan Langille.
2002-02-25Tweak psql's \connect command to not downcase unquoted database and userTom Lane
names. This is a temporary measure to allow backwards compatibility with 7.2 and earlier pg_dump. 7.2.1 and later pg_dump will double-quote mixed case names in \connect. Once we feel that older dumps are not a problem anymore, we can revert this change and treat \connect arguments as normal SQL identifiers.
2002-02-25Fix for PAM error message display:Bruce Momjian
> and that the right fix is to make each of the subsequent calls be in > this same pattern, not to try to emulate their nonsensical style. Dominic J. Eidson
2002-02-25Add note that BLCKSZ must be a power of 2.Tom Lane
2002-02-25Add a large number of time zones to the lookup table.Thomas G. Lockhart
Fix a few apparently-wrong TZ vs DTZ declarations.
2002-02-25This patch will allow arbitrary levels of analyze / rewritingBruce Momjian
by making the static variables extra_before and extra_after automatic so we can use recursion. It gets much easier to generate extra commands now, and one can rest assured that the extra commands will be properly analyzed/rewritten. Without this patch, if a command produced by transformation tries to use these static lists their first contents would be lost with unpredictable results. I know I could fix this by just using nconc() instead of assignments, but the resulting order of the commands would not be exactly what one could expect. -- Fernando Nasser