1. 31 Jul, 2003 4 commits
    • Bruce Momjian's avatar
      contraints -> constraints · 36f3a3c4
      Bruce Momjian authored
      Rod Taylor
      36f3a3c4
    • Bruce Momjian's avatar
      Update Turkish FAQ, Devrim GUNDUZ · 6b8f6a65
      Bruce Momjian authored
      6b8f6a65
    • Bruce Momjian's avatar
      Add fflush of stdout when outputing query. · f766b376
      Bruce Momjian authored
      f766b376
    • Bruce Momjian's avatar
      dbf2pg - Insert xBase-style .dbf-files into a PostgreSQL-table · 82bade79
      Bruce Momjian authored
        There is an option "-s oldname=newname", which changes the old field name of
        the dbf-file to the newname in PostgeSQL. If the length of the new name is 0,
        the field is skiped. If you want to skip the first field of the dbf-file,
        you get the wildest error-messages from the backend.
        dbf2pg load the dbf-file via "COPY tablename FROM STDIN". If you skip the
        first field, it is an \t to much in STDIN.
      
      A fix could be an counter j=0, which increments only, if a field is imported
      (IF (strlen(fields[h].db_name)> 0) j++. And only if j > 1 (if an other field is
      imported) the \t is printed.
      
      An other small bug in the README:
      -s start
                    Specify  the  first record-number in the xBase-file
                    we will insert.
      should be
      -e start
                    Specify  the  first record-number in the xBase-file
                    we will insert.
      
      Thomas Behr
      82bade79
  2. 30 Jul, 2003 7 commits
  3. 29 Jul, 2003 5 commits
    • Tom Lane's avatar
      Fix longstanding error in _bt_search(): should moveright at top of loop not · 892a51c3
      Tom Lane authored
      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
    • Tom Lane's avatar
      Coerce unknown-literal-constant default values to the column type during · 5e3c09a1
      Tom Lane authored
      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
    • Tom Lane's avatar
      There is no reason to cast valuntil to timestamp, and a very good · f353f8e8
      Tom Lane authored
      reason not to: it fails for an 'invalid' abstime.  Per bug report
      of today's date.
      f353f8e8
    • Tom Lane's avatar
      a5e804df
    • Tom Lane's avatar
      Apply (a somewhat revised version of) Greg Mullane's patch to eliminate · 9c2a7c22
      Tom Lane authored
      heuristic determination of day vs month in date/time input.  Add the
      ability to specify that input is interpreted as yy-mm-dd order (which
      formerly worked, but only for yy greater than 31).  DateStyle's input
      component now has the preferred spellings DMY, MDY, or YMD; the older
      keywords European and US are now aliases for the first two of these.
      Per recent discussions on pgsql-general.
      9c2a7c22
  4. 28 Jul, 2003 7 commits
  5. 27 Jul, 2003 17 commits
    • Tom Lane's avatar
    • Bruce Momjian's avatar
      Updatge to skip composite types. · 606debf2
      Bruce Momjian authored
      606debf2
    • Bruce Momjian's avatar
      Tom, happier with the attached patch? · 440953e6
      Bruce Momjian authored
      I'd have to disagree with regards to the memory leaks not being worth
      a mention - any such leak can cause problems when the PostgreSQL
      installation is either unattended, long-living andor has very high
      connection levels. Half a kilobyte on start-up isn't negligible in
      this light.
      
      Regards, Lee.
      
      Tom Lane writes:
       > Lee Kindness <lkindness@csl.co.uk> writes:
       > > Guys, attached is a patch to fix two memory leaks on start-up.
       >
       > I do not like the changes to miscinit.c.  In the first place, it is not
       > a "memory leak" to do a one-time allocation of state for a proc_exit
       > function.  A bigger complaint is that your proposed change introduces
       > fragile coupling between CreateLockFile and its callers, in order to
       > save no resources worth mentioning.  More, it introduces an assumption
       > that the globals directoryLockFile and socketLockFile don't change while
       > the postmaster is running.  UnlinkLockFile should unlink the file that
       > it was originally told to unlink, regardless of what happens to those
       > globals.
       >
       > If you are intent on spending code to free stuff just before the
       > postmaster exits, a better fix would be for UnlinkLockFile to free its
       > string argument after using it.
      
      Lee Kindness
      440953e6
    • Bruce Momjian's avatar
      51e46d14
    • Tom Lane's avatar
    • Tom Lane's avatar
      2d7a6a9e
    • Tom Lane's avatar
      elog mop-up. · aec57ea8
      Tom Lane authored
      aec57ea8
    • Tom Lane's avatar
      elog mop-up. · e8db9b26
      Tom Lane authored
      e8db9b26
    • Tom Lane's avatar
      Remove unportable // comments. · aeea73d4
      Tom Lane authored
      aeea73d4
    • Bruce Momjian's avatar
      Cleanup of timetravel compile warnings. · b29c557e
      Bruce Momjian authored
      b29c557e
    • Tom Lane's avatar
      Error message editing in utils/adt. Again thanks to Joe Conway for doing · b6a1d25b
      Tom Lane authored
      the bulk of the heavy lifting ...
      b6a1d25b
    • Bruce Momjian's avatar
      Here is 4 file in tgz: · 524cfad2
      Bruce Momjian authored
      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
    • Bruce Momjian's avatar
      > Joe Conway <mail@joeconway.com> writes: · 38fb906f
      Bruce Momjian authored
      >>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
    • Bruce Momjian's avatar
      > Am Son, 2003-06-22 um 02.09 schrieb Joe Conway: · a265b7f7
      Bruce Momjian authored
      >>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
    • Bruce Momjian's avatar
      This is a totally trivial patch for something that was a very minor nit that · 9ae69055
      Bruce Momjian authored
      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
    • Bruce Momjian's avatar
      here are the patches for psql on Win32: · 9df48371
      Bruce Momjian authored
        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
    • Bruce Momjian's avatar
      This makes the initcap function compatible with Oracle 9i, it has been · e7fe89d5
      Bruce Momjian authored
      tested on both redhat 8 and FreebSD.
      --
      Mike Nolan
      e7fe89d5