1. 25 Jun, 2003 28 commits
    • Bruce Momjian's avatar
      sync. · 60050936
      Bruce Momjian authored
      60050936
    • Michael Meskes's avatar
      54fae9c2
    • Michael Meskes's avatar
    • Bruce Momjian's avatar
      Fix up JOIN .. USING with domains · ff4c69e0
      Bruce Momjian authored
      The attached fixes select_common_type() to support the below case:
      
      create table t1( c1 int);
      create domain dom_c1 int;
      create table t2(c1 dom_c1);
      select * from t1 join t2 using( c1 );
      
      I didn't see a need for maintaining the domain as the preferred type. A
      simple getBaseType() call on all elements of the list seems to be
      enough.
      
      --
      Rod Taylor <rbt@rbt.ca>
      ff4c69e0
    • Bruce Momjian's avatar
      Done: · faa8c757
      Bruce Momjian authored
      > * -Allow CIDR format to be used in pg_hba.conf
      faa8c757
    • Bruce Momjian's avatar
      Done: · f7827bdc
      Bruce Momjian authored
      > * -Allow UPDATE to use SET col = DEFAULT
      f7827bdc
    • Bruce Momjian's avatar
      UPDATE ... SET <col> = DEFAULT · 53c4f123
      Bruce Momjian authored
      Rod Taylor
      53c4f123
    • Bruce Momjian's avatar
      If they're not, the below causes problems, as the foreign key is added · a09ccc70
      Bruce Momjian authored
      after the CHECK.  Cluster depends on the index name, so I thought it
      wise to ensure all names are available, rather than leaving off the
      CONSTRAINT "$n" portion for internally named constraints.
      
      CREATE TABLE jkey (col integer primary key);
      CREATE TABLE j (col integer REFERENCES jkey);
      ALTER TABLE j ADD CHECK(col > 5);
      
      This is a problem in 7.3 series as well as -Tip.
      
      Rod Taylor <rbt@rbt.ca>
      a09ccc70
    • Bruce Momjian's avatar
      Updated the pg_get_constraintdef() to use conbin. Update pg_dump to use · ca64391d
      Bruce Momjian authored
      pg_get_constraintdef() for >= 70400.
      
      Rod Taylor <rbt@rbt.ca>
      ca64391d
    • Bruce Momjian's avatar
      Add missing </row>'s. · be94f198
      Bruce Momjian authored
      be94f198
    • Bruce Momjian's avatar
      Includes: · c70e606a
      Bruce Momjian authored
      - LIKE <subtable> [ INCLUDING DEFAULTS | EXCLUDING DEFAULTS ]
      - Quick cleanup of analyze.c function prototypes.
      - New non-reserved keywords (INCLUDING, EXCLUDING, DEFAULTS), SQL 200X
      
      Opted not to extend for check constraints at this time.
      
      As per the definition that it's user defined columns, OIDs are NOT
      inherited.
      
      Doc and Source patches attached.
      
      --
      Rod Taylor <rbt@rbt.ca>
      c70e606a
    • Bruce Momjian's avatar
      Back out commit. · dbca3702
      Bruce Momjian authored
      dbca3702
    • Bruce Momjian's avatar
      Adjust expected output for new functions. · ad41cd6c
      Bruce Momjian authored
      ad41cd6c
    • Bruce Momjian's avatar
      Add: · a804f9c7
      Bruce Momjian authored
      > * Allow creation of a libpq-only tarball
      >
      a804f9c7
    • Bruce Momjian's avatar
      Seems the runtime.sgml and perform.sgml patches combined are · ebbd2edf
      Bruce Momjian authored
      incompatible.
      
      I believe the attached xref meets the intent of the perform.sgml change.
      
      --
      Rod Taylor <rbt@rbt.ca>
      ebbd2edf
    • Bruce Momjian's avatar
      Update catversion for ipv6 addition. · d57d0006
      Bruce Momjian authored
      d57d0006
    • Bruce Momjian's avatar
      Documentation about using CIDR addresses in pg_hba.conf. · eaef65f6
      Bruce Momjian authored
      Andrew Dunstan
      eaef65f6
    • Bruce Momjian's avatar
      > This change (I'm sure this will wrap poorly -- sorry): · d9ddbdaa
      Bruce Momjian authored
      > http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/libpq/pqcomm.h.diff?r1=1.85&r2=1.86
      >
      > modified SockAddr, but no corresponding change was made here
      > (fe-auth.c:612):
      >
      >   case AUTH_REQ_KRB5:
      > #ifdef KRB5
      >   if (pg_krb5_sendauth(PQerrormsg, conn->sock, &conn->laddr.in,
      >                        &conn->raddr.in,
      >                        hostname) != STATUS_OK)
      >
      > It's not obvious to me what the change ought to be though.
      
      This patch should hopefully fix both kerberos 4 and 5.
      
      Kurt Roeckx
      d9ddbdaa
    • Bruce Momjian's avatar
      > I've worked with the Pl/Python code in the past and will see about removing · afb17d91
      Bruce Momjian authored
      > rexec and making it an untrusted language.  Last time I looked, it didn't
      > look particularly difficult.  I've set aside some time next week, so stay
      > tuned.
      
      Attached is a patch that removes all of the RExec code from plpython from
      the current PostgreSQL CVS.  In addition, plpython needs to be changed to an
      untrusted language in createlang.  Please let me know if there are any
      problems.
      
      Kevin Jacobs
      afb17d91
    • Bruce Momjian's avatar
      Attached is a patch that provides *VERY* limited support for multiple · b24a0293
      Bruce Momjian authored
      slave
      servers.  I haven't tested it very well, so use at your own risk (and I
      recommend against using it in production).
      
      Basically, I have a central database server that has 4 summary tables
      inside
      it replicated to a remote slave (these database tables are for my mail
      server
      authentication, so these are replicated to another server tuned for many
      connections, and so I don't have postgres connections opened straight to
      my
      back-end database server).
      
      Unfortunately, I also wanted to implement a replication database server
      for
      hot-backups.  I realized, too late, that the replication process is
      pretty
      greedy and will try to replicate all tables marked as a
      "MasterAddTable".
      
      To make a long story, I made a patch to RServ.pm and Replicate that
      allows you
      to specify, on the command line, a list of tables that you want to
      replicate...it'll ignore all others.
      
      I haven't finished, since this has to be integrated with CleanLog for
      instance, but this should (and does) suffice for the moment.
      
      I have yet to test it with two slaves, but at least my mail server
      replication
      database now works (it was failing every time it tried to replicate, for
      a
      variety of reasons).
      
      Anyone have any suggestions on how to improve on this?  (or, if someone
      more
      familiar with this code wants to take the ball and run with it, you're
      welcome to).
      
      --
      Michael A Nachbaur <mike@nachbaur.com>
      b24a0293
    • Bruce Momjian's avatar
      Here's a small patch to pg_hba.conf.sample that explains the use of CIDR · e1be2ee8
      Bruce Momjian authored
      addresses.
      
      Andrew Dunstan
      e1be2ee8
    • Bruce Momjian's avatar
      Create <link> entries for the foreign keys in the system catalog · 861ea4ba
      Bruce Momjian authored
      chapter.
      
      I got tired of hitting the 'up' link, then finding the table in the
      table of contents, and following it back down.
      
      Rod Taylor
      861ea4ba
    • Bruce Momjian's avatar
      client-auth.sgml references a renamed ID in runtime.sgml · 503a88a6
      Bruce Momjian authored
      Josh Berkus
      503a88a6
    • Bruce Momjian's avatar
      Attached is the fully corrected version of the re-ording patch for · 2a5e0bb6
      Bruce Momjian authored
      Runtime.sgml and dependant files.
      
      Josh Berkus
      2a5e0bb6
    • Bruce Momjian's avatar
      - Corrections for tables, columns with uppercase characters · 51d16423
      Bruce Momjian authored
      - Don't attempt to convert partial or expressional unique indexes
      - Don't attempt to convert unique indexes based on a non-default
      opclasses
      
      - Untested prevention of conversion of non-btree indexes unique
      indexes.  Untested as postgresql doesn't allow hash, gist, or rtree
      based indexes to be unique.
      
      rbt=# create unique index t on a using hash (col);
      ERROR:  DefineIndex: access method "hash" does not support UNIQUE
      indexes
      rbt=# create unique index t on a using gist (col);
      ERROR:  DefineIndex: access method "gist" does not support UNIQUE
      indexes
      rbt=# select version();
                                      version
      ------------------------------------------------------------------------
       PostgreSQL 7.4devel on i386-unknown-freebsd4.8, compiled by GCC 2.95.4
      
      Rod Taylor
      51d16423
    • Bruce Momjian's avatar
      Please apply attached patch to contrib/dblink. It adds named persistent · 8f337e86
      Bruce Momjian authored
      connections to dblink.
      
      Shridhar Daithanka
      8f337e86
    • Bruce Momjian's avatar
      · 92798de0
      Bruce Momjian authored
      This is a bug in python interface module,
      postgresql-7.3.3/src/interfaces/python/pg.py.
      
      _quote() function fails due to integer overflow if input d is larger
      than max integer.
      
      In the case where the column type is "BIGINT", the input d may very well
      be larger than max integer while its type, t, is labeled 'int'.
      The conversion on line 19, return "%d" % int(d), will fail due to
      "OverflowError: long int too large to convert to int".
      
      
      
      Please describe a way to repeat the problem.   Please try to provide a
      concise reproducible example, if at all possible:
      ----------------------------------------------------------------------
      
      [1] create a table with a column type 'BIGINT'.
      [2] use pg.DB.insert() to insert a value that is larger than max integer
      
      If you know how this problem might be fixed, list the solution below:
      ---------------------------------------------------------------------
      
      Just changing the conversion at line 19 of pg.py to long(d) instead of
      int(d) should fix it. The following is a patch:
      
      Chih-Hao Huang
      92798de0
    • Bruce Momjian's avatar
      >> If a transaction marks a tuple for update and later commits without · dd23a882
      Bruce Momjian authored
      >> actually having updated the tuple, [...] can we simply
      >> set the HEAP_XMAX_INVALID hint bit of the tuple?
      >
      >AFAICS this is a reasonable thing to do.
      
      Thanks for the confirmation.  Here's a patch which also contains some
      more noncritical changes to tqual.c:
       .  make code more readable by introducing local variables for xvac
       .  no longer two separate branches for aborted and crashed.
          The actions were the same in all cases.
      
      Manfred Koizar
      dd23a882
  2. 24 Jun, 2003 12 commits
    • Bruce Momjian's avatar
      Most of the synopsis areas for DROP commands use "name" as the · fce529e1
      Bruce Momjian authored
      identifier, while some areas do not.
      
      The attached converts be below to "name":
      conversion_name
      index_name
      
      
      The below have an existing, initdb supplied, entity named "name".  As
      such, it could be confusing for the reader to see that identifier used
      in the example.
      
      domainname
      typename
      
      Rod Taylor
      fce529e1
    • Bruce Momjian's avatar
      Revert ORDBMS change, per Peter. · 7eac8e38
      Bruce Momjian authored
      7eac8e38
    • Bruce Momjian's avatar
      Alter query.sgml to mention PostgreSQL as an ORDBMS. This falls in line · db57396c
      Bruce Momjian authored
      with advocacy and 'portal' websites.
      
      Link to createdb / dropdb from the tutorial page about create / dropdb.
      A pair of notes were asking about more info...
      
      Rod Taylor
      db57396c
    • Bruce Momjian's avatar
      In an attempt to simplify my life I'm submitting this patch that · 7f791925
      Bruce Momjian authored
      restructures the deferred trigger queue.  The fundamental change is to
      put all the static variables to hold the deferred triggers in a single
      structure.
      
      Alvaro Herrera
      7f791925
    • Bruce Momjian's avatar
      Add x86_64 support for spinlocks. · aa62f7f7
      Bruce Momjian authored
      Jeffrey W. Baker
      aa62f7f7
    • Bruce Momjian's avatar
      Small patch to link to the proper place in the "runtime" file, · 7cb4278e
      Bruce Momjian authored
      and to add the "schemaname" column to the description of the
      pg_stats view.
      
      Greg Sabino Mullane
      7cb4278e
    • Bruce Momjian's avatar
      Array mega-patch. · 46bf6514
      Bruce Momjian authored
      Joe Conway
      46bf6514
    • Bruce Momjian's avatar
      Done: · 50e53236
      Bruce Momjian authored
      > * -Add IPv6 capability to INET/CIDR types
      50e53236
    • Bruce Momjian's avatar
      Jim C. Nasby wrote: · 7b1f6ffa
      Bruce Momjian authored
      > Second argument to metaphone is suposed to set the limit on the
      > number of characters to return, but it breaks on some phrases:
      >
      > usps=# select metaphone(a,3),metaphone(a,4),metaphone(a,20) from
      > (select 'Hello world'::varchar AS a) a;
      > HLW       | HLWR      | HLWRLT
      >
      > usps=# select metaphone(a,3),metaphone(a,4),metaphone(a,20) from
      > (select 'A A COMEAUX MEMORIAL'::varchar AS a) a;
        > AKM       | AKMKS     | AKMKSMMRL
      >
      > In every case I've found that does this, the 4th and 5th letters are
      > always 'KS'.
      
      Nice catch.
      
      There was a bug in the original metaphone algorithm from CPAN. Patch
      attached (while I was at it I updated my email address, changed the
      copyright to PGDG, and removed an unnecessary palloc). Here's how it
      looks now:
      
      regression=# select metaphone(a,4) from (select 'A A COMEAUX
      MEMORIAL'::varchar AS a) a;
         metaphone
      -----------
         AKMK
      (1 row)
      
      regression=# select metaphone(a,5) from (select 'A A COMEAUX
      MEMORIAL'::varchar AS a) a;
         metaphone
      -----------
         AKMKS
      (1 row)
      
      Joe Conway
      7b1f6ffa
    • Bruce Momjian's avatar
    • Bruce Momjian's avatar
      Add ipv6 address parsing support to 'inet' and 'cidr' data types. · 945543d9
      Bruce Momjian authored
              Regression tests for IPv6 operations added.
      
              Documentation updated to document IPv6 bits.
      
              Stop treating IPv4 as an "unsigned int" and IPv6 as an array of
              characters.  Instead, always use the array of characters so we
              can have one function fits all.  This makes bitncmp(), addressOK(),
              and several other functions "just work" on both address families.
      
              add family() function which returns integer 4 or 6 for IPv4 or
              IPv6.  (See examples below)  Note that to add this new function
              you will need to dump/initdb/reload or find the correct magic
              to add the function to the postgresql function catalogs.
      
              IPv4 addresses always sort before IPv6.
      
              On disk we use AF_INET for IPv4, and AF_INET+1 for IPv6 addresses.
              This prevents the need for a dump and reload, but lets IPv6 parsing
              work on machines without AF_INET6.
      
              To select all IPv4 addresses from a table:
      
                      select * from foo where family(addr) = 4 ...
      
              Order by and other bits should all work.
      
      Michael Graff
      945543d9
    • Bruce Momjian's avatar
      Update: · 4dab978c
      Bruce Momjian authored
      < * Have SELECT '13 minutes'::interval display zero seconds
      > * Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
      4dab978c