1. 20 Mar, 2003 16 commits
    • Bruce Momjian's avatar
      It has been tested only against CVS backend, however. Some checking of the · 1b3d4cef
      Bruce Momjian authored
      changes to the SQL to retrieve attributes for older versions of Postgres is
      probably wise.  Also, please make sure that I have mapped the storage types
      to the correct storage names, as this is relatively poorly documented.
      
      I think that this patch might need to be considered for back-porting to
      7.3.3 since at the moment, people will be losing valuable information after
      upgrades.
      
      Will dump:
      
      CREATE TABLE test (
          a text,
          b text,
          c text,
          d text
      );
      ALTER TABLE ONLY test ALTER COLUMN a SET STATISTICS 55;
      ALTER TABLE ONLY test ALTER COLUMN a SET STORAGE PLAIN;
      ALTER TABLE ONLY test ALTER COLUMN b SET STATISTICS 1000;
      ALTER TABLE ONLY test ALTER COLUMN c SET STORAGE EXTERNAL;
      ALTER TABLE ONLY test ALTER COLUMN d SET STORAGE MAIN;
      
      Christopher Kings-Lynne
      1b3d4cef
    • Bruce Momjian's avatar
      PGRES_POLLING_ACTIVE is unused, keep for backward compatibility. · 44aba280
      Bruce Momjian authored
      Lennert Buytenhek
      44aba280
    • Bruce Momjian's avatar
      Attached is a patch that limits the range tested by horology to · d7f10705
      Bruce Momjian authored
      what is capable using integer-datatime timestamps. It does attempt
      to exercise the maximum allowable timestamp range.
      Also is a small error check when converting a timestamp from external
      to internal format that prevents out of range timestamps from being
      entered.
      
      Files patched:
              Index: src/backend/utils/adt/timestamp.c
                      Added range check to prevent out of range timestamps
                      from being used.
      
              Index: src/test/regress/sql/horology.sql
              Index: src/test/regress/expected/horology-no-DST-before-1970.out
              Index: src/test/regress/expected/horology-solaris-1947.out
                      Limited range of timestamps being checked to
                      Jan 1, 4713 BC  to Dec 31, 294276
      
      In creating this patch, I have seen some definite problems with integer
      timestamps and how they react when used near their limits. For example,
      the following statement gives the correct result:
      
              SELECT timestamp without time zone 'Jan 1, 4713 BC'
                     + interval '109203489 days' AS "Dec 31, 294276";
      
      However, this statement which is the logical inverse of the above
      gives incorrect results:
      
              SELECT timestamp without time zone '12/31/294276'
                   - timestamp without time zone 'Jan 1, 4713 BC' AS "109203489 Days";
      
      John Cochran
      d7f10705
    • Bruce Momjian's avatar
      Here's some changes I made last night to psql's common.c (as found in · be1c6e75
      Bruce Momjian authored
      7.3.2).  It removes some code duplication and #ifdeffing, and some
      unstructured ugliness such as tacky breaks and an unneeded continue.
      Breaks up a large function into smaller functions and reduces required
      nesting levels, and kills a variable or two.
      
      Jeroen T. Vermeulen
      be1c6e75
    • Bruce Momjian's avatar
      Peter found bug in the to_char() routine for PL/MI options. This · 94701fb2
      Bruce Momjian authored
       patch fix it -- but this patch doesn't contains tests or docs fixes. I
       will send it later.
      
       Fixed outputs:
      
      select  to_char(x, '9999.999')  as x,
              to_char(x, 'S9999.999') as s,
              to_char(x, 'SG9999.999') as sg,
              to_char(x, 'MI9999.999') as mi,
              to_char(x, 'PL9999.999') as pl,
              to_char(x, 'PLMI9999.999') as plmi,
              to_char(x, '9999.999SG') as sg2,
              to_char(x, '9999.999PL') as pl2,
              to_char(x, '9999.999MI') as mi2 from num;
      
      Karel Zak
      94701fb2
    • Bruce Momjian's avatar
      > > - Move SEQ_MAXVALUE, SEQ_MINVALUE definitions to sequence.h · 8000fdd4
      Bruce Momjian authored
      > >
      > > - Add check in pg_dump to see if the value returned is the max /min
      > > values and replace with NO MAXVALUE, NO MINVALUE.
      > >
      > > - Change START and INCREMENT to use START WITH and INCREMENT BY syntax.
      > > This makes it a touch easier to port to other databases with sequences
      > > (Oracle).  PostgreSQL supports both syntaxes already.
      >
      > +       char            bufm[100],
      > +                               bufx[100];
      >
      > This seems to be an arbitary size. Why not set it to the actual maximum
      > length?
      >
      > Also:
      >
      > +       snprintf(bufm, 100, INT64_FORMAT, SEQ_MINVALUE);
      > +       snprintf(bufx, 100, INT64_FORMAT, SEQ_MAXVALUE);
      >
      > sizeof(bufm), sizeof(bufx) is probably the more
      > maintenance-friendly/standard way to do it.
      
      I changed the code to use sizeof - but will wait for a response from
      Peter before changing the size.  It's consistent throughout the sequence
      code to be 100 for this purpose.
      
      Rod Taylor <rbt@rbt.ca>
      8000fdd4
    • Bruce Momjian's avatar
      "Information_schema" changes · a00431b8
      Bruce Momjian authored
      - Add domain check constraints to "check_constraints" view
      - Create "domains" view
      - Create "domain_constraints" view
      
      --
      Rod Taylor <rbt@rbt.ca>
      a00431b8
    • Bruce Momjian's avatar
      (Now featuring documentation: fixed some typos, expanded the · 54ca7a7b
      Bruce Momjian authored
      Envrironment and Files section, explained exactly what -w
      does)
      
      This is a patch which allows pg_ctl to make an intelligent
      guess as to the proper port when running 'psql -l' to
      determine if the database has started up (the -w flag).
      
      The environment variable PGPORT is used. If that is not found,
      it checks if a specific port has been set inside the postgresql.conf
      file. If it is has not, it uses the port that Postgres was
      compiled with.
      
      Greg Sabino Mullane  greg@turnstep.com
      54ca7a7b
    • Bruce Momjian's avatar
      This trivial cleans up a little bit of the code in · 3c28f9c1
      Bruce Momjian authored
      src/test/regress/regress.c (e.g. removing K & R style parameter
      declarations, improving sprintf() usage, etc.)
      
      Neil Conway
      3c28f9c1
    • Bruce Momjian's avatar
      > I can see a couple possible downsides: (a) the library might have some · 15ce2d2e
      Bruce Momjian authored
      > weird behavior across fork boundaries; (b) the additional memory space
      > that has to be duplicated into child processes will cost something per
      > child launch, even if the child never uses it.  But these are only
      > arguments that it might not *always* be a prudent thing to do, not that
      > we shouldn't give the DBA the tool to do it if he wants.  So fire away.
      
      Here is a patch for the above, including a documentation update. It
      creates a new GUC variable "preload_libraries", that accepts a list in
      the form:
      
         preload_libraries = '$libdir/mylib1:initfunc,$libdir/mylib2'
      
      If ":initfunc" is omitted or not found, no initialization function is
      executed, but the library is still preloaded. If "$libdir/mylib" isn't
      found, the postmaster refuses to start.
      
      In my testing with PL/R, it reduces the first call to a PL/R function
      (after connecting) from almost 2 seconds, down to about 8 ms.
      
      Joe Conway
      15ce2d2e
    • Bruce Momjian's avatar
      > Mph. It fails for me too when I use --enable-integer-datetimes. Looks · e733510d
      Bruce Momjian authored
      > like that patch still needs some work...
      
      Yeah.  I'm really, really, *really* sorry for submitting it in the state
      it was in.  I shouldn't have done that just before moving to another
      country.  I found the problem last night, but couldn't get to a Net
      connection until now.
      
      The problem is in src/bin/psql/common.c, around line 250-335 somewhere
      depending on the version.  The 2nd and 3rd clauses of the "while" loop
      condition:
      
              (rstatus == PGRES_COPY_IN) &&
              (rstatus == PGRES_COPY_OUT))
      
      should of course be:
      
              (rstatus != PGRES_COPY_IN) &&
              (rstatus != PGRES_COPY_OUT))
      
      Jeroen T. Vermeulen
      e733510d
    • Bruce Momjian's avatar
      Minor doc patch: create function · 7d1d7200
      Bruce Momjian authored
      Gavin Sherry
      7d1d7200
    • Bruce Momjian's avatar
      Just some fixups to a couple contrib directories I was trying out. · ee303739
      Bruce Momjian authored
      . replace CREATE OR REPLACE AGGREGATE with a separate DROP and CREATE
      . add DROP for all CREATE OPERATORs
      . use IMMUTABLE and STRICT instead of WITH (isStrict)
      . add IMMUTABLE and STRICT to int_array_aggregate's accumulator function
      
      Gregory Stark
      ee303739
    • Bruce Momjian's avatar
      The attatched patch fixes a memory error with contrib/dbmirror/pending.c · 900fa3d0
      Bruce Momjian authored
      when running it with older(Pre 7.3.x) versions of Postgresql.
      
      Backpatched to 7.3.X.
      
      Steven Singer
      900fa3d0
    • Bruce Momjian's avatar
      Item done: · 31ce4557
      Bruce Momjian authored
      > * -Add start time to pg_stat_activity
      31ce4557
    • Bruce Momjian's avatar
      Add start time to pg_stat_activity · a1833100
      Bruce Momjian authored
      Neil Conway
      a1833100
  2. 19 Mar, 2003 6 commits
  3. 18 Mar, 2003 10 commits
  4. 17 Mar, 2003 5 commits
  5. 16 Mar, 2003 2 commits
  6. 15 Mar, 2003 1 commit