1. 16 Aug, 2006 1 commit
  2. 15 Aug, 2006 7 commits
  3. 14 Aug, 2006 7 commits
    • Tom Lane's avatar
      Cause '*' and 'foo.*' notations to mark the referenced RTE(s) as · 58538a0f
      Tom Lane authored
      requiring read permissions.  Up till now there was no possible case
      in which the RTEs wouldn't already have ACL_SELECT set ... but now that
      you can say something like 'INSERT INTO foo ... RETURNING *' this is
      an essential step.  With this commit, a RETURNING clause adds the
      requirement for SELECT permissions on the target table if and only if
      the clause actually reads the value of at least one target-table column.
      58538a0f
    • Tom Lane's avatar
      Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we · 65b2f93b
      Tom Lane authored
      cannot assume that there's exactly one Query in the Portal, as we can for
      ONE_SELECT mode, because non-SELECT queries might have extra queries added
      during rule rewrites.  Fix things up so that we'll use ONE_RETURNING mode
      when a Portal contains one primary (canSetTag) query and that query has
      a RETURNING list.  This appears to be a second showstopper reason for running
      the Portal to completion before we start to hand anything back --- we want
      to be sure that the rule-added queries get run too.
      65b2f93b
    • Tom Lane's avatar
      Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking · 3d1e01ca
      Tom Lane authored
      as per yesterday's proposal.  Also make things a tad more orthogonal by
      adding the recent STRICT addition to EXECUTE INTO.
      Jonah Harris and Tom Lane
      3d1e01ca
    • Tom Lane's avatar
      When executing a list of queries derived from rule expansion, · 29fa0513
      Tom Lane authored
      _SPI_execute_plan's return code should reflect the type of the query
      that is marked canSetTag, not necessarily the last one in the list.
      
      This is arguably a bug fix, but I'm hesitant to back-patch it because
      it's the sort of subtle change that might break someone's code, and it's
      best not to do that kind of thing in point releases.
      29fa0513
    • Tom Lane's avatar
      Remove hash_destroy calls in hash_create's failure paths. As noted by · c859294c
      Tom Lane authored
      a Coverity warning, these are risky since the hashtable isn't necessarily
      fully set up yet.  They're unnecessary anyway: a deletable hashtable
      should be in a memory context that will be cleared following elog(ERROR).
      Per report from Martijn van Oosterhout.
      c859294c
    • Bruce Momjian's avatar
      Revert (again) GUC patch to return commented fields to their default · f0584518
      Bruce Momjian authored
      values, due to concern about the patch.
      f0584518
    • Tom Lane's avatar
      Get rid of "lookahead" functionality in plpgsql's yylex() function, · 36481474
      Tom Lane authored
      and instead make the grammar production for the RETURN statement do the
      heavy lifting.  The lookahead idea was copied from the main parser, but
      it does not work in plpgsql's parser because here gram.y looks explicitly
      at the scanner's yytext variable, which will be out of sync after a
      failed lookahead step.  A minimal example is
      
      create or replace function foo() returns void language plpgsql as '
      begin
        perform return foo bar;
      end';
      
      which can be seen by testing to deliver "foo foo bar" to the main parser
      instead of the expected "return foo bar".  This isn't a huge bug since
      RETURN is not found in the main grammar, but it could bite someone who
      tried to use "return" as an identifier.
      
      Back-patch to 8.1.  Bug exists further back, but HEAD patch doesn't apply
      cleanly, and given the lack of field complaints it doesn't seem worth
      the effort to develop adjusted patches.
      36481474
  4. 13 Aug, 2006 11 commits
  5. 12 Aug, 2006 8 commits
  6. 11 Aug, 2006 6 commits
    • Bruce Momjian's avatar
      5c9e9c0c
    • Bruce Momjian's avatar
      Done: · 99c2b8b8
      Bruce Momjian authored
      < 	o %Allow commenting of variables in postgresql.conf to restore them
      > 	o -Allow commenting of variables in postgresql.conf to restore them
      99c2b8b8
    • Bruce Momjian's avatar
      Revert undesired FAQ_DEV change. · 12e46605
      Bruce Momjian authored
      12e46605
    • Bruce Momjian's avatar
      Allow commenting of variables in postgresql.conf to restore them to · 262a7bc1
      Bruce Momjian authored
      defaults.
      
      Zdenek Kotala
      262a7bc1
    • Bruce Momjian's avatar
      Refactor GUC set_config_option function: · f91ddb76
      Bruce Momjian authored
      The main reason for refactoring was that set_config_option() was too
      overloaded function and its behavior did not consistent. Old version of
      set_config_function hides some messages. For example if you type:
      
      tcp_port = 5432.1
      
      then old implementation ignore this error without any message to log
      file in the signal context (configuration reload). Main problem was that
      semantic analysis of postgresql.conf is not perform in the
      ProcessConfigFile function, but in the set_config_options *after*
      context check. This skipped check for variables with PG_POSTMASTER
      context. There was request from Joachim Wieland to add more messages
      about ignored changes in the config file as well.
      
      Zdenek Kotala
      f91ddb76
    • Bruce Momjian's avatar
      plperl: · c07fbcf5
      Bruce Momjian authored
      Allow conversion from perl to postgresql array in OUT parameters. Second,
      allow hash form output from procedures with one OUT argument.
      
      Pavel Stehule
      c07fbcf5