1. 24 3月, 2007 2 次提交
    • T
      Adjust DatumGetBool macro so that it isn't fooled by garbage in the Datum · 23a41573
      Tom Lane 提交于
      to the left of the actual bool value.  While in most cases there won't be
      any, our support for old-style user-defined functions violates the C spec
      to the extent of calling functions that might return char or short through
      a function pointer declared to return "char *", which we then coerce to
      Datum.  It is not surprising that the result might contain garbage
      high-order bits ... what is surprising is that we didn't see such cases
      long ago.  Per report from Magnus.
      23a41573
    • T
      Fix plancache so that any required replanning is done with the same · 547b6e53
      Tom Lane 提交于
      search_path that was active when the plan was first made.  To do this,
      improve namespace.c to support a stack of "override" search path settings
      (we must have a stack since nested replan events are entirely possible).
      This facility replaces the "special namespace" hack formerly used by
      CREATE SCHEMA, and should be able to support per-function search path
      settings as well.
      547b6e53
  2. 23 3月, 2007 18 次提交
  3. 22 3月, 2007 10 次提交
  4. 21 3月, 2007 6 次提交
  5. 20 3月, 2007 4 次提交
    • N
      Add three new regexp functions: regexp_matches, regexp_split_to_array, · 9eb78bee
      Neil Conway 提交于
      and regexp_split_to_table. These functions provide access to the
      capture groups resulting from a POSIX regular expression match,
      and provide the ability to split a string on a POSIX regular
      expression, respectively. Patch from Jeremy Drake; code review by
      Neil Conway, additional comments and suggestions from Tom and
      Peter E.
      
      This patch bumps the catversion, adds some regression tests,
      and updates the docs.
      9eb78bee
    • J
      Bumping catversion due to changes to pg_trigger and pg_rewrite. · 5e96b04a
      Jan Wieck 提交于
      BTW, the comment in this file says that we hope we never have more than
      10 catversion changes per day, but to even make this possible we should
      start counting at zero, shouldn't we?
      
      
      Jan
      5e96b04a
    • J
      Changes pg_trigger and extend pg_rewrite in order to allow triggers and · 0fe16500
      Jan Wieck 提交于
      rules to be defined with different, per session controllable, behaviors
      for replication purposes.
      
      This will allow replication systems like Slony-I and, as has been stated
      on pgsql-hackers, other products to control the firing mechanism of
      triggers and rewrite rules without modifying the system catalog directly.
      
      The firing mechanisms are controlled by a new superuser-only GUC
      variable, session_replication_role, together with a change to
      pg_trigger.tgenabled and a new column pg_rewrite.ev_enabled. Both
      columns are a single char data type now (tgenabled was a bool before).
      The possible values in these attributes are:
      
           'O' - Trigger/Rule fires when session_replication_role is "origin"
                 (default) or "local". This is the default behavior.
      
           'D' - Trigger/Rule is disabled and fires never
      
           'A' - Trigger/Rule fires always regardless of the setting of
                 session_replication_role
      
           'R' - Trigger/Rule fires when session_replication_role is "replica"
      
      The GUC variable can only be changed as long as the system does not have
      any cached query plans. This will prevent changing the session role and
      accidentally executing stored procedures or functions that have plans
      cached that expand to the wrong query set due to differences in the rule
      firing semantics.
      
      The SQL syntax for changing a triggers/rules firing semantics is
      
           ALTER TABLE <tabname> <when> TRIGGER|RULE <name>;
      
           <when> ::= ENABLE | ENABLE ALWAYS | ENABLE REPLICA | DISABLE
      
      psql's \d command as well as pg_dump are extended in a backward
      compatible fashion.
      
      Jan
      0fe16500
    • B
      Remove last line of patch license, per Zeugswetter Andreas: · e927f8f1
      Bruce Momjian 提交于
      "If the patch is not BSD-licensed, it will be rejected."
      e927f8f1