1. 31 7月, 2003 3 次提交
  2. 30 7月, 2003 2 次提交
    • T
      Fix longstanding error in _bt_search(): should moveright at top of loop not · 892a51c3
      Tom Lane 提交于
      bottom.  Otherwise we fail to moveright when the root page was split while
      we were "in flight" to it.  This is not a significant problem when the root
      is above the leaf level, but if the root was also a leaf (ie, a single-page
      index just got split) we may return the wrong leaf page to the caller,
      resulting in failure to find a key that is in fact present.  Bug has existed
      at least since 7.1, probably forever.
      892a51c3
    • T
      Coerce unknown-literal-constant default values to the column type during · 5e3c09a1
      Tom Lane 提交于
      CREATE TABLE (or ALTER TABLE SET DEFAULT), rather than postponing it to
      the time that the default is inserted into an INSERT command by the
      rewriter.  This reverses an old decision that was intended to make the
      world safe for writing
      	f1 timestamp default 'now'
      but in fact merely made the failure modes subtle rather than obvious.
      Per recent trouble report and followup discussion.
      
      initdb forced since there is a chance that stored default expressions
      will change.
      5e3c09a1
  3. 29 7月, 2003 6 次提交
  4. 28 7月, 2003 13 次提交
  5. 27 7月, 2003 11 次提交
    • B
      Cleanup of timetravel compile warnings. · b29c557e
      Bruce Momjian 提交于
      b29c557e
    • T
      Error message editing in utils/adt. Again thanks to Joe Conway for doing · b6a1d25b
      Tom Lane 提交于
      the bulk of the heavy lifting ...
      b6a1d25b
    • B
      Here is 4 file in tgz: · 524cfad2
      Bruce Momjian 提交于
      the new timetravel.c,
      new timetravel.README (cut from spi/README and modified),
      modified timetravel.sql.in
      and modified timetravel.example.
      
      Features:
      - optionally 3 parameter for insert/update/delete user name
      
      - work with CREATE UNIQUE INDEX ixxx on table xxx
      (unique_field,time_off);
          (the  original version was work with unique index on 6.5.0-6.5.3,
      and not work on 7.3.2,7.3.3)
           (before 6.5.0 and between 6.5.3 and 7.3.2 I dont know)
      
      - get_timetravel(tablename) function for check timetravel-status.
      
      - timetravel trigger not change  oid of the active record. (it is not a
      good feature, because the  old version is automatice prevent the paralel
      update with "where oid=nnn")
      
      B?jthe Zolt?n
      524cfad2
    • B
      > Joe Conway <mail@joeconway.com> writes: · 38fb906f
      Bruce Momjian 提交于
      >>ISTM that "source" is worth knowing.
      >
      > Hm, possibly.  Any other opinions?
      
      This version has the seven fields I proposed, including "source". Here's
      an example that shows why I think it's valuable:
      
      regression=# \x
      Expanded display is on.
      regression=# select * from pg_settings where name = 'enable_seqscan';
      -[ RECORD 1 ]-----------
      name    | enable_seqscan
      setting | on
      context | user
      vartype | bool
      source  | default
      min_val |
      max_val |
      
      regression=# update pg_settings set setting = 'off' where name =
      'enable_seqscan';
      -[ RECORD 1 ]---
      set_config | off
      
      regression=# select * from pg_settings where name = 'enable_seqscan';
      -[ RECORD 1 ]-----------
      name    | enable_seqscan
      setting | off
      context | user
      vartype | bool
      source  | session
      min_val |
      max_val |
      
      regression=# alter user postgres set enable_seqscan to 'off';
      ALTER USER
      
      (log out and then back in again)
      
      regression=# \x
      Expanded display is on.
      regression=# select * from pg_settings where name = 'enable_seqscan';
      -[ RECORD 1 ]-----------
      name    | enable_seqscan
      setting | off
      context | user
      vartype | bool
      source  | user
      min_val |
      max_val |
      
      In the first case, enable_seqscan is set to its default value. After
      setting it to off, it is obvious that the value has been changed for the
      session only. In the third case, you can see that the value has been set
      specifically for the user.
      
      Joe Conway
      38fb906f
    • B
      > Am Son, 2003-06-22 um 02.09 schrieb Joe Conway: · a265b7f7
      Bruce Momjian 提交于
      >>Sounds like all that's needed for your case. But to be complete, in
      >>addition to changing tablefunc.c we'd have to:
      >>1) come up with a new function call signature that makes sense and does
      >>not cause backward compatibility problems for other people
      >>2) make needed changes to tablefunc.sql.in
      >>3) adjust the README.tablefunc appropriately
      >>4) adjust the regression test for new functionality
      >>5) be sure we don't break any of the old cases
      >>
      >>If you want to submit a complete patch, it would be gratefully accepted
      >>-- for review at least ;-)
      >
      > Here's the patch, at least for steps 1-3
      
      Nabil Sayegh
      Joe Conway
      a265b7f7
    • B
      This is a totally trivial patch for something that was a very minor nit that · 9ae69055
      Bruce Momjian 提交于
      annoyed me the other day while I was documenting my current project. It
      makes pg_dump use the same layout for types as for tables, by putting "\n\t"
      before the first field and "\n" before the final ");"
      
      Can't really justify this too much except to say I had an itch and I
      scratched it ;-)
      
      Andrew Dunstan
      9ae69055
    • B
      here are the patches for psql on Win32: · 9df48371
      Bruce Momjian 提交于
        psql4win32.patch  - changes in the psql source code
        psql-ref.patch    - changes in the documentation psql-ref.sgml
                            (for new builtin variable WIN32_CONSOLE)
      
      To apply them use "patch -p 1" in the root directory of the
      postgres source directory.
      
      These patches fix the following problems of psql on Win32
      (all changes only have effect #ifdef WIN32):
      
        a) Problem:  Static library libpq.a did not work
           Solution: Added WSAStartup() in fe-connect.c
      
        b) Problem:  Secret Password was echoed by psql
           Solution: Password echoing disabled in sprompt.c
      
        c) Problem:  8bit characters were displayed/interpreted wrong in psql
                     This is due to the fact that the Win32 "console" uses a
                     different encoding than the rest of the Windows system
           Solution: Introduced a new psql variable WIN32_CONSOLE
                     When set with "\set WIN32_console", the function OemToChar()
                     is applied after reading input and CharToOem() before
                     displaying Output
      
      Christoph Dalitz
      9df48371
    • B
      This makes the initcap function compatible with Oracle 9i, it has been · e7fe89d5
      Bruce Momjian 提交于
      tested on both redhat 8 and FreebSD.
      --
      Mike Nolan
      e7fe89d5
    • B
      The deferred trigger queue pushing to disk patch pointed out · 1e5a16cc
      Bruce Momjian 提交于
      that the regression tests for foreign keys didn't seem to test
      a deferred constraint that was not satisified by a later
      statement and was not made immediate by set constraints,
      so here's a simple added test with a single invalid insert and
      a commit.
      
      Stephan Szabo
      1e5a16cc
    • B
      >>You can alias $0, similar to the argument variables. And, I confirmed · 1be17f1f
      Bruce Momjian 提交于
      >>that you cannot change the value, similar to the argument variables:
      >
      > Perhaps you shouldn't mark it isconst; then it would actually have some
      > usefulness (you could use it directly as a temporary variable to hold
      > the intended result).  I can't see much value in aliasing it if it's
      > const, either.
      
      OK; the only change in this version is "isconst = false;". Now you can
      use $0 as a result placeholder if desired. E.g.:
      
      create or replace function tmp(anyelement, anyelement) returns anyarray as '
      declare
        v_ret alias for $0;
        v_el1 alias for $1;
        v_el2 alias for $2;
      begin
        v_ret := ARRAY[v_el1, v_el2];
        return v_ret;
      end;
      ' language 'plpgsql';
      
      create table f(f1 text, f2 text, f3 int, f4 int);
      insert into f values ('a','b',1,2);
      insert into f values ('z','x',3,4);
      
      select tmp(f1,f2) from f;
      select tmp(f3,f4) from f;
      
      
      Joe Conway
      1be17f1f
    • B
      Fix for Linux startup script. · 9df03060
      Bruce Momjian 提交于
      Slawomir Sudnik
      9df03060
  6. 26 7月, 2003 5 次提交
    • B
      Have SSL text print only when SSL mode is enabled. · abc7f732
      Bruce Momjian 提交于
      abc7f732
    • B
      I corecting date_trunc('quarter',...) and friends because orig version · 74ca6867
      Bruce Momjian 提交于
      doing '2003-07-30' -> '2003-04-01', '2003-11-30' ->'2003-07-01'
      
      B?jthe Zolt?n
      74ca6867
    • B
      At long last I put together a patch to support 4 client SSL negotiation · 397831e1
      Bruce Momjian 提交于
      modes (and replace the requiressl boolean). The four options were first
      spelled out by Magnus Hagander <mha@sollentuna.net> on 2000-08-23 in email
      to pgsql-hackers, archived here:
      
      http://archives.postgresql.org/pgsql-hackers/2000-08/msg00639.php
      
      My original less-flexible patch and the ensuing thread are archived at:
      
      http://dbforums.com/t623845.html
      
      Attached is a new patch, including documentation.
      
      To sum up, there's a new client parameter "sslmode" and environment
      variable "PGSSLMODE", with these options:
      
      sslmode   description
      -------   -----------
      disable   Unencrypted non-SSL only
      allow     Negotiate, prefer non-SSL
      prefer    Negotiate, prefer SSL (default)
      require   Require SSL
      
      The only change to the server is a new pg_hba.conf line type,
      "hostnossl", for specifying connections that are not allowed to use SSL
      (for example, to prevent servers on a local network from accidentally
      using SSL and wasting cycles). Thus the 3 pg_hba.conf line types are:
      
      pg_hba.conf line types
      ----------------------
      host       applies to either SSL or regular connections
      hostssl    applies only to SSL connections
      hostnossl  applies only to regular connections
      
      These client and server options, the postgresql.conf ssl = false option,
      and finally the possibility of compiling with no SSL support at all,
      make quite a range of combinations to test. I threw together a test
      script to try many of them out. It's in a separate tarball with its
      config files, a patch to psql so it'll announce SSL connections even in
      absence of a tty, and the test output. The test is especially informative
      when run on the same tty the postmaster was started on, so the FATAL:
      errors during negotiation are interleaved with the psql client output.
      
      I saw Tom write that new submissions for 7.4 have to be in before midnight
      local time, and since I'm on the east coast in the US, this just makes it
      in before the bell. :)
      
      Jon Jensen
      397831e1
    • T
      Update to match error editing. · 5f2499d5
      Tom Lane 提交于
      5f2499d5
    • T
      Error message editing in src/pl. The plpython module could use another · 3b04893f
      Tom Lane 提交于
      look ... I'm not real certain which errors are strictly internal and which
      are likely to be provoked by users.
      3b04893f