aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Add "inline" compile fix for MSVC/BCC:Bruce Momjian2006-05-30
| | | | | | | | #define inline __inline Backpatch to 8.1.X. Hiroshi Saito
* Add dynamic record inspection to PL/PgSQL, useful for generic triggers:Bruce Momjian2006-05-30
| | | | | | | | | | tval2 := r.(cname); or columns := r.(*); Titus von Boxberg
* Back out patch, wrong previous commit message.Bruce Momjian2006-05-30
|
* Add regexp_replace() to string functions section.Bruce Momjian2006-05-30
| | | | Joachim Wieland
* Fix ancient misdescription of namegt/namege in comment. Greg StarkTom Lane2006-05-30
|
* Patch reverted because of random buildfarm failures:Bruce Momjian2006-05-30
| | | | | | | | | | | | | | | | | --------------------------------------------------------------------------- Delay write of pg_stats file to once every five minutes, during shutdown, or when requested by a backend: It changes so the file is only written once every 5 minutes (changeable of course, I just picked something) instead of once every half second. It's still written when the stats collector shuts down, just as before. And it is now also written on backend request. A backend requests a rewrite by simply sending a special stats message. It operates on the assumption that the backends aren't actually going to read the statistics file very often, compared to how frequent it's written today. Magnus Hagander
* Add PQclear() calls, for completeness (exits shortly anyway).Bruce Momjian2006-05-29
|
* Make plperl's $_TD trigger data a global rather than a lexical variable,Andrew Dunstan2006-05-29
| | | | | with a fresh local value for each invocation, to avoid unexpected sharing violations. Per recent -hackers discussion.
* Som improve page split in multicolumn GiST index.Teodor Sigaev2006-05-29
| | | | | | If user picksplit on n-th column generate equals left and right unions then it calls picksplit on n+1-th column.
* Correct cheking in findParents(). iTeodor Sigaev2006-05-29
| | | | From Andreas Seltenreich <andreas+pg@gate450.dyndns.org>
* enlargePQExpBuffer, alone among the functions exported by pqexpbuffer.h,Tom Lane2006-05-28
| | | | wasn't exported by exports.txt. Ooops. Per buildfarm results.
* Fix up pg_dump to do string escaping fully correctly for client encodingTom Lane2006-05-28
| | | | | | | | | and standard_conforming_strings; likewise for the other client programs that need it. As per previous discussion, a pg_dump dump now conforms to the standard_conforming_strings setting of the source database. We don't use E'' syntax in the dump, thereby improving portability of the SQL. I added a SET escape_strings_warning = off command to keep the dumps from getting a lot of back-chatter from that.
* Don't call PQclear until the struct is really no longer going to be used.Alvaro Herrera2006-05-28
| | | | | | | Per Coverity bug #304. Thanks to Martijn van Oosterhout for reporting it. Zero out the pointer fields of PGresult so that these mistakes are more easily catched, per discussion.
* fix typoAndrew Dunstan2006-05-28
|
* TG_table_name and TG_table_schema for plpgsql, plus docs and regression.Andrew Dunstan2006-05-28
|
* Remove traces of otherwise unused RELKIND_SPECIAL symbol. Leave the psql bitsAlvaro Herrera2006-05-28
| | | | | | in place though, so that it plays nicely with older servers. Per discussion.
* TG_table_name and TG_table_schema for pl/tcl, plus regression test and docs.Andrew Dunstan2006-05-27
|
* Revert ill-considered change to plpgsql: it should not rely on theTom Lane2006-05-27
| | | | | | current setting of standard_conforming_strings to decide how to quote strings that will be used later. There is much more to do here but this particular change breaks the build on Windows, so fix it now.
* Fix initdb to properly escape quotes and backslashes in the suppliedTom Lane2006-05-27
| | | | | superuser password, and also in the paths of the various files it issues SQL COPY commands for. Per bug #2424.
* Re-introduce the yylex filter function formerly used to support UNIONTom Lane2006-05-27
| | | | | | | JOIN, which I removed in a recent fit of over-optimism that we wouldn't have any future use for it. Now it's needed to support disambiguating WITH CHECK OPTION from WITH TIME ZONE. As proof of concept, add stub grammar productions for WITH CHECK OPTION.
* Looks like the new plpython regression test fails on older pythons. See if ↵Andrew Dunstan2006-05-27
| | | | this works.
* Use E'' strings internally only when standard_conforming_strings =Bruce Momjian2006-05-26
| | | | | | | | | 'off'. This allows pg_dump output with standard_conforming_strings = 'on' to generate proper strings that can be loaded into other databases without the backslash doubling we typically do. I have added the dumping of the standard_conforming_strings value to pg_dump. I also added standard backslash handling for plpgsql.
* Further hacking on performance of COPY OUT. It seems that fwrite()'sTom Lane2006-05-26
| | | | | | per-call overhead is quite significant, at least on Linux: whatever it's doing is more than just shoving the bytes into a buffer. Buffering the data so we can call fwrite() just once per row seems to be a win.
* Support binary COPY through psql. Also improve detection of write errorsTom Lane2006-05-26
| | | | during COPY OUT. Andreas Pflug, some editorialization by moi.
* Add table_name and table_schema to plpython trigger data, plus docs and ↵Andrew Dunstan2006-05-26
| | | | regression test.
* Add table_name and table_schema to plperl trigger data. relname isAndrew Dunstan2006-05-26
| | | | | | kept but now deprecated. Patch from Adam Sjøgren. Add regression test to show plperl trigger data (Andrew). TBD: apply similar changes to plpgsql, plpython and pltcl.
* Fix findParents() in case of multiple levels to find.Teodor Sigaev2006-05-26
| | | | By Andreas Seltenreich <andreas+pg@gate450.dyndns.org>
* Reduce per-character overhead in COPY OUT by combining calls toTom Lane2006-05-25
| | | | CopySendData.
* Fix pg_restore to process BLOB COMMENT entries correctly; they aren'tTom Lane2006-05-24
| | | | | really tables and shouldn't get DISABLE TRIGGER processing. Per bug #2452 from Robert Treat.
* * Add support NULL to GiST.Teodor Sigaev2006-05-24
| | | | | | | | * some refactoring and simplify code int gistutil.c and gist.c * now in some cases it can be called used-defined picksplit method for non-first column in index, but here is a place to do more. * small fix of docs related to support NULL.
* Remove trailing blank line from exports.txt.Bruce Momjian2006-05-23
|
* Add PQisthreadsafe() to libpq, to allow library applications to queryBruce Momjian2006-05-23
| | | | the thread-safety status of the library.
* Tweak writetup_heap/readtup_heap to avoid storing the tuple identityTom Lane2006-05-23
| | | | | | | | and transaction visibility fields of tuples being sorted. These are always uninteresting in a tuple being sorted (if the fields were actually selected, they'd have been pulled out into user columns beforehand). This saves about 24 bytes per row being sorted, which is a useful savings for any but the widest of sort rows. Per recent discussion.
* Avoid duplicate definition of LOCALEDIR in pg_config.h, already definedBruce Momjian2006-05-23
| | | | in port/pg_config_paths.h.
* Remove CXT_printf/CXT1_printf macros. If anyone had found them to be ofTom Lane2006-05-23
| | | | | | | | | any use in the past many years, we'd have made some effort to include them in all executor node types; but in fact they were only in nodeAppend.c and nodeIndexscan.c, up until I copied nodeIndexscan.c's occurrence into the new bitmap node types. Remove some other unused macros in execdebug.h, too. Some day the whole header probably ought to go away in favor of better-designed facilities.
* Change \; to ; in RULE, \; unnecessary.Bruce Momjian2006-05-22
|
* Add strerror to pg_dump error messages where missing.Peter Eisentraut2006-05-22
|
* Remove mention of pg_upgrade in release checklist.Bruce Momjian2006-05-21
|
* Modify libpq's string-escaping routines to be aware of encoding considerationsTom Lane2006-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and standard_conforming_strings. The encoding changes are needed for proper escaping in multibyte encodings, as per the SQL-injection vulnerabilities noted in CVE-2006-2313 and CVE-2006-2314. Concurrent fixes are being applied to the server to ensure that it rejects queries that may have been corrupted by attempted SQL injection, but this merely guarantees that unpatched clients will fail rather than allow injection. An actual fix requires changing the client-side code. While at it we have also fixed these routines to understand about standard_conforming_strings, so that the upcoming changeover to SQL-spec string syntax can be somewhat transparent to client code. Since the existing API of PQescapeString and PQescapeBytea provides no way to inform them which settings are in use, these functions are now deprecated in favor of new functions PQescapeStringConn and PQescapeByteaConn. The new functions take the PGconn to which the string will be sent as an additional parameter, and look inside the connection structure to determine what to do. So as to provide some functionality for clients using the old functions, libpq stores the latest encoding and standard_conforming_strings values received from the backend in static variables, and the old functions consult these variables. This will work reliably in clients using only one Postgres connection at a time, or even multiple connections if they all use the same encoding and string syntax settings; which should cover many practical scenarios. Clients that use homebrew escaping methods, such as PHP's addslashes() function or even hardwired regexp substitution, will require extra effort to fix :-(. It is strongly recommended that such code be replaced by use of PQescapeStringConn/PQescapeByteaConn if at all feasible.
* Add a new GUC parameter backslash_quote, which determines whether the SQLTom Lane2006-05-21
| | | | | | | | | | | | | | | | | parser will allow "\'" to be used to represent a literal quote mark. The "\'" representation has been deprecated for some time in favor of the SQL-standard representation "''" (two single quote marks), but it has been used often enough that just disallowing it immediately won't do. Hence backslash_quote allows the settings "on", "off", and "safe_encoding", the last meaning to allow "\'" only if client_encoding is a valid server encoding. That is now the default, and the reason is that in encodings such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a multibyte character, accepting "\'" allows SQL-injection attacks as per CVE-2006-2314 (further details will be published after release). The "on" setting is available for backward compatibility, but it must not be used with clients that are exposed to untrusted input. Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
* Change the backend to reject strings containing invalidly-encoded multibyteTom Lane2006-05-21
| | | | | | | | | | | | | | | | | | | | characters in all cases. Formerly we mostly just threw warnings for invalid input, and failed to detect it at all if no encoding conversion was required. The tighter check is needed to defend against SQL-injection attacks as per CVE-2006-2313 (further details will be published after release). Embedded zero (null) bytes will be rejected as well. The checks are applied during input to the backend (receipt from client or COPY IN), so it no longer seems necessary to check in textin() and related routines; any string arriving at those functions will already have been validated. Conversion failure reporting (for characters with no equivalent in the destination encoding) has been cleaned up and made consistent while at it. Also, fix a few longstanding errors in little-used encoding conversion routines: win1251_to_iso, win866_to_iso, euc_tw_to_big5, euc_tw_to_mic, mic_to_euc_tw were all broken to varying extents. Patches by Tatsuo Ishii and Tom Lane. Thanks to Akio Ishida and Yasuo Ohgaki for identifying the security issues.
* Add last-vacuum/analyze-time columns to the stats collector, both manual andAlvaro Herrera2006-05-19
| | | | | | | | | issued by autovacuum. Add accessor functions to them, and use those in the pg_stat_*_tables system views. Catalog version bumped due to changes in the pgstat views and the pgstat file. Patch from Larry Rosenman, minor improvements by me.
* Call MarkBufferDirty() before XLogInsert() during completion of insertTeodor Sigaev2006-05-19
|
* Simplify gistSplit() and some refactoring related code.Teodor Sigaev2006-05-19
|
* Have autovacuum report its activities to the stat collector.Alvaro Herrera2006-05-19
|
* Fix typo in comment.Alvaro Herrera2006-05-19
|
* Fix Solaris/ASM test for x86.Bruce Momjian2006-05-19
|
* Rework completion of incomplete inserts. Now it writesTeodor Sigaev2006-05-19
| | | | WAL log during inserts.
* Mention packager bumps configure.in/configure.Bruce Momjian2006-05-19
|
* Use unsigned into for slock_t for pre-sparcv8plus.Bruce Momjian2006-05-18
|