aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Tweak order of operations in BitmapHeapNext() to avoid the case of prefetchingTom Lane2009-01-12
| | | | | the same page we are nanoseconds away from reading for real. There should be something left to do on the current page before we consider issuing a prefetch.
* Use qualified_name instead of relation_expr for commands that have noPeter Eisentraut2009-01-12
| | | | | | | | business with inheritance recursion: ALTER INDEX, ALTER SEQUENCE, ALTER TRIGGER, ALTER VIEW. They would just silently ignore the ONLY. ALTER TABLE has mixed behavior and cannot be dealt with this way because of the resulting shift/reduce conflicts.
* Add ONLY support to LOCK and TRUNCATE. By default, these commands are nowPeter Eisentraut2009-01-12
| | | | | | recursive. => Note this incompatibility in the release notes.
* Implement prefetching via posix_fadvise() for bitmap index scans. A newTom Lane2009-01-12
| | | | | | | | | | GUC variable effective_io_concurrency controls how many concurrent block prefetch requests will be issued. (The best way to handle this for plain index scans is still under debate, so that part is not applied yet --- tgl) Greg Stark
* Re-enable the old code in xlog.c that tried to use posix_fadvise(), so thatTom Lane2009-01-11
| | | | | | | we can get some buildfarm feedback about whether that function is still problematic. (Note that the planned async-preread patch will not really prove anything one way or the other in buildfarm testing, since it will be inactive with default GUC settings.)
* Revise the TIDBitmap API to support multiple concurrent iterations over aTom Lane2009-01-10
| | | | | | bitmap. This is extracted from Greg Stark's posix_fadvise patch; it seems worth committing separately, since it's potentially useful independently of posix_fadvise.
* Arrange for function default arguments to be processed properly in expressionsTom Lane2009-01-09
| | | | | | | that are set up for execution with ExecPrepareExpr rather than going through the full planner process. By introducing an explicit notion of "expression planning", this patch also lays a bit of groundwork for maybe someday allowing sub-selects in standalone expressions.
* Code review of strftime patch, per comments from Tom:Magnus Hagander2009-01-09
| | | | | * Use correct buffer size MAX_L10N_DATA * Use strlcpy instead of StrNCpy
* Fix strftime usage on Win32 when trying to fetch the locale-awareMagnus Hagander2009-01-09
| | | | | | | parts of a time string so it properly handles different encodings. Original patch by Hiroshi Saito, heavily reworked by me and ITAGAKI Takahiro.
* Make krb_realm and krb_server_hostname be pg_hba options only, and removeMagnus Hagander2009-01-09
| | | | | | | their GUCs. In passing, noted that the pg_hba options for krb5 authentication weren't listed at all - so add this.
* A couple further reloptions improvements, per KaiGai Kohei: add a validationAlvaro Herrera2009-01-08
| | | | | | function to the string type and add a couple of macros for string handling. In passing, fix an off-by-one bug of mine.
* Defend against null input in analyze_requires_snapshot(), per reportTom Lane2009-01-08
| | | | from Rushabh Lathia.
* Revert current_query() change to use debug_query_string again; add comment.Bruce Momjian2009-01-08
|
* Add comment about why BETWEEN uses operator strings and not opclasses,Bruce Momjian2009-01-07
| | | | with URL pointing to email discussion.
* Create a third option named "partition" for constraint_exclusion, and make itTom Lane2009-01-07
| | | | | | | | | the default. This setting enables constraint exclusion checks only for appendrel members (ie, inheritance children and UNION ALL arms), which are the cases in which constraint exclusion is most likely to be useful. Avoiding the overhead for simple queries that are unlikely to benefit should bring the cost down to the point where this is a reasonable default setting. Per today's discussion.
* Have current_query() use ActivePortal->sourceText rather thanBruce Momjian2009-01-07
| | | | | debug_query_string; this allows current_query() to be more accurate; docs updated; per idea from Tom
* Insert conditional SPI_push/SPI_pop calls into InputFunctionCall,Tom Lane2009-01-07
| | | | | | | | | | | | | | | | | | | | OutputFunctionCall, and friends. This allows SPI-using functions to invoke datatype I/O without concern for the possibility that a SPI-using function will be called (which could be either the I/O function itself, or a function used in a domain check constraint). It's a tad ugly, but not nearly as ugly as what'd be needed to make this work via retail insertion of push/pop operations in all the PLs. This reverts my patch of 2007-01-30 that inserted some retail SPI_push/pop calls into plpgsql; that approach only fixed plpgsql, and not any other PLs. But the other PLs have the issue too, as illustrated by a recent gripe from Christian Schröder. Back-patch to 8.2, which is as far back as this solution will work. It's also as far back as we need to worry about the domain-constraint case, since earlier versions did not attempt to check domain constraints within datatype input. I'm not aware of any old I/O functions that use SPI themselves, so this should be sufficient for a back-patch.
* Add comment that it is difficult to access the more accurateBruce Momjian2009-01-07
| | | | 'query_string' from current_query().
* Update comment associated with 'debug_query_string'.Bruce Momjian2009-01-07
|
* Fix executor/spi.h to follow our usual conventions for include files, ie,Tom Lane2009-01-07
| | | | | | | | | not include postgres.h nor anything else it doesn't directly need. Add #includes to calling files as needed to compensate. Per my proposal of yesterday. This should be noted as a source code change in the 8.4 release notes, since it's likely to require changes in add-on modules.
* Add hba parameter include_realm to krb5, gss and sspi authentication, usedMagnus Hagander2009-01-07
| | | | | | to pass the full username@realm string to the authentication instead of just the username. This makes it possible to use pg_ident.conf to authenticate users from multiple realms as different database users.
* Allow krb_realm (krb5, gssapi and sspi) and krb_server_hostname (krb5 only)Magnus Hagander2009-01-07
| | | | | authentication options to be set in pg_hba.conf on a per-line basis, to override the defaults set in postgresql.conf.
* Make the log output of 'vxid' between csvlog and stderr/syslogBruce Momjian2009-01-07
| | | | | | | | consistent. Currently, in csvlog, vxid of an auxiliary process isn't displayed. On the other hand, in stderr/syslog, invalid vxid (-1/0) of that is displayed. Fujii Masao
* Clarify a confusing comment about MCVs vs histogram entries.Tom Lane2009-01-06
| | | | Per Nathan Boley.
* Change a couple of ill-advised uses of INFO elog level to WARNINGs; inTom Lane2009-01-06
| | | | | | | particular this allows EmitWarningsOnPlaceholders messages to show up in the postmaster log by default. Update elog.h comment to make it clearer what INFO is for, and fix one example in the SGML docs that was misusing it. Per my gripe of yesterday.
* Revert the default toast compression strategy to the former behaviorTom Lane2009-01-06
| | | | | where there's no limit on the size of datum we'll try to compress. Other 8.4 tweaks to the behavior remain in place. Per discussion.
* Fix logic in lazy vacuum to decide if it's worth trying to truncate the heap.Heikki Linnakangas2009-01-06
| | | | | | | | If the table was smaller than REL_TRUNCATE_FRACTION (= 16) pages, we always tried to acquire AccessExclusiveLock on it even if there was no empty pages at the end. Report by Simon Riggs. Back-patch all the way to 7.4.
* Fix string reloption handling, per KaiGai Kohei.Alvaro Herrera2009-01-06
|
* Suppress compiler warning in a different way, per Alvaro.Bruce Momjian2009-01-06
|
* Supress compiler warning.Bruce Momjian2009-01-06
|
* Add some comments about why function parameter default expressions areTom Lane2009-01-06
| | | | restricted.
* Fix an oversight in the function-default-arguments patch: after adding someTom Lane2009-01-06
| | | | | | | default expressions to a function call, eval_const_expressions must recurse on those expressions. Else they don't get simplified, and in particular we fail to insert additional default arguments if any functions needing defaults are in there. Per report from Rushabh Lathia.
* Change the reloptions machinery to use a table-based parser, and provideAlvaro Herrera2009-01-05
| | | | | | | | a more complete framework for writing custom option processing routines by user-defined access methods. Catalog version bumped due to the general API changes, which are going to affect user-defined "amoptions" routines.
* Quiet repeated "loaded library" messages from child backends that are justTom Lane2009-01-05
| | | | | | re-loading a library already loaded into the postmaster. ITAGAKI Takahiro
* Fix define_custom_variable to preserve any sourcefile/sourceline informationTom Lane2009-01-05
| | | | present in the placeholder. Noted while testing pg_stat_statements.
* Add contrib/pg_stat_statements for server-wide tracking of statement executionTom Lane2009-01-04
| | | | | | statistics. Takahiro Itagaki
* Add a pg_encoding_mbcliplen() function that is just like pg_mbcliplen()Tom Lane2009-01-04
| | | | | | | | except the caller can specify the encoding to work in; this will be needed for pg_stat_statements. In passing, do some marginal efficiency hacking and clean up some comments. Also, prevent the single-byte-encoding code path from fetching one byte past the stated length of the string (this last is a bug that might need to be back-patched at some point).
* Fix embarrassing bug in recent smgr refactoring patch: WAL records shouldHeikki Linnakangas2009-01-04
| | | | | be written for *non*-temp tables only. Report and test case by Mark Kirkwood and Simon Riggs.
* Allow loadable modules to create PGC_POSTMASTER GUC variables, but onlyTom Lane2009-01-03
| | | | | | when loaded via shared_preload_libraries. Needed for support of pg_stat_statements, or pretty much anything else that wants a GUC to control size of a shared memory allocation.
* Create a "shmem_startup_hook" to be called at the end of shared memoryTom Lane2009-01-03
| | | | | | | | | | | | | initialization, to give loadable modules a reasonable place to perform creation of any shared memory areas they need. This is the logical conclusion of our previous creation of RequestAddinShmemSpace() and RequestAddinLWLocks(). We don't need an explicit shmem_shutdown_hook, because the existing on_shmem_exit and on_proc_exit mechanisms serve that need. Also, adjust SubPostmasterMain so that libraries that got loaded into the postmaster will be loaded into all child processes, not only regular backends. This improves consistency with the non-EXEC_BACKEND behavior, and might be necessary for functionality for some types of add-ons.
* Include a pointer to the query's source text in QueryDesc structs. This isTom Lane2009-01-02
| | | | | | | practically free given prior 8.4 changes in plancache and portal management, and it makes it a lot easier for ExecutorStart/Run/End hooks to get at the query text. Extracted from Itagaki Takahiro's pg_stat_statements patch, with minor editorialization.
* Fix cut/paste error that caused all errors from REQUIRE_AUTH_OPTION to sayMagnus Hagander2009-01-02
| | | | it was the ldaptls parameter that was wrong...
* Remove comments that say restart is required for changing of KerberosMagnus Hagander2009-01-02
| | | | parameters.
* Make it possible to change Kerberos/GSSAPI parameters without restartingMagnus Hagander2009-01-02
| | | | | the postmaster. They are only used in backend processes, so it's just a matter of re-labeling the GUCs.
* write_nondefault_variables must take care to write custom_variable_classesTom Lane2009-01-02
| | | | | first; otherwise backends reading the file might reject values of custom variables. Per experimentation with auto_explain.
* Tweak guc.c to allow underscores in the names of custom variable classes,Tom Lane2009-01-02
| | | | | | | | | and change auto_explain's custom GUC variables to be named auto_explain.xxx not just explain.xxx. Per discussion in connection with the pg_stat_statements patch, it seems like a good idea to have the convention that custom variable classes are named the same as their defining module. Committing separately since this should happen regardless of what happens with pg_stat_statements itself.
* Update copyright for 2009.Bruce Momjian2009-01-01
|
* Fix an oversight in my patch of a couple weeks ago that ensured a snapshotTom Lane2009-01-01
| | | | | | | | | | is available during datatype input in Bind message processing. I put the PopActiveSnapshot() or equivalent just before PortalDefineQuery, which is an unsafe spot for it (in 8.3 and later) because we are carrying a plancache refcount that hasn't yet been assigned to the portal. Any error thrown there would result in leaking the refcount. It's not exactly likely that PopActiveSnapshot would throw an elog, perhaps, but it could happen. Reorder the code and add another comment warning not to do that.
* Throw error if a <window definition> references a window that already has aTom Lane2008-12-31
| | | | | frame clause, as appears to be required by the fine print in the SQL spec. Per discussion with Pavel, not doing so risks user confusion.
* Add a WINDOW attribute to CREATE FUNCTION, and teach pg_dump about it,Tom Lane2008-12-31
| | | | | | | | | | | so that user-defined window functions are possible. For the moment you'll have to write them in C, for lack of any interface to the WindowObject API in the available PLs, but it's better than no support at all. There was some debate about the best syntax for this. I ended up choosing the "it's an attribute" position --- the other approach will inevitably be more work, and the likely market for user-defined window functions is probably too small to justify it.