1. 21 Nov, 2003 1 commit
    • Tom Lane's avatar
      COMMENT ON casts, conversions, languages, operator classes, and · 42ce74bf
      Tom Lane authored
      large objects.  Dump all these in pg_dump; also add code to pg_dump
      user-defined conversions.  Make psql's large object code rely on
      the backend for inserting/deleting LOB comments, instead of trying to
      hack pg_description directly.  Documentation and regression tests added.
      
      Christopher Kings-Lynne, code reviewed by Tom
      42ce74bf
  2. 12 Nov, 2003 1 commit
    • Tom Lane's avatar
      Cross-data-type comparisons are now indexable by btrees, pursuant to my · fa5c8a05
      Tom Lane authored
      pghackers proposal of 8-Nov.  All the existing cross-type comparison
      operators (int2/int4/int8 and float4/float8) have appropriate support.
      The original proposal of storing the right-hand-side datatype as part of
      the primary key for pg_amop and pg_amproc got modified a bit in the event;
      it is easier to store zero as the 'default' case and only store a nonzero
      when the operator is actually cross-type.  Along the way, remove the
      long-since-defunct bigbox_ops operator class.
      fa5c8a05
  3. 09 Nov, 2003 1 commit
    • Tom Lane's avatar
      Add operator strategy and comparison-value datatype fields to ScanKey. · c1d62bfd
      Tom Lane authored
      Remove the 'strategy map' code, which was a large amount of mechanism
      that no longer had any use except reverse-mapping from procedure OID to
      strategy number.  Passing the strategy number to the index AM in the
      first place is simpler and faster.
      This is a preliminary step in planned support for cross-datatype index
      operations.  I'm committing it now since the ScanKeyEntryInitialize()
      API change touches quite a lot of files, and I want to commit those
      changes before the tree drifts under me.
      c1d62bfd
  4. 04 Aug, 2003 1 commit
  5. 24 Jul, 2003 1 commit
  6. 02 Sep, 2002 1 commit
  7. 25 Aug, 2002 1 commit
    • Tom Lane's avatar
      Clean up comments to be careful about the distinction between variable- · 58de4809
      Tom Lane authored
      width types and varlena types, since with the introduction of CSTRING as
      a more-or-less-real type, these concepts aren't identical.  I've tried to
      use varlena consistently to denote datatypes with typlen = -1, ie, they
      have a length word and are potentially TOASTable; while the term variable
      width covers both varlena and cstring (and, perhaps, someday other types
      with other rules for computing the actual width).  No code changes in this
      commit except for renaming a couple macros.
      58de4809
  8. 05 Aug, 2002 1 commit
    • Tom Lane's avatar
      Restructure system-catalog index updating logic. Instead of having · 15fe086f
      Tom Lane authored
      hardwired lists of index names for each catalog, use the relcache's
      mechanism for caching lists of OIDs of indexes of any table.  This
      reduces the common case of updating system catalog indexes to a single
      line, makes it much easier to add a new system index (in fact, you
      can now do so on-the-fly if you want to), and as a nice side benefit
      improves performance a little.  Per recent pghackers discussion.
      15fe086f
  9. 20 Jun, 2002 1 commit
  10. 21 May, 2002 1 commit
    • Tom Lane's avatar
      Remove global variable scanCommandId in favor of storing a command ID · 959e61e9
      Tom Lane authored
      in snapshots, per my proposal of a few days ago.  Also, tweak heapam.c
      routines (heap_insert, heap_update, heap_delete, heap_mark4update) to
      be passed the command ID to use, instead of doing GetCurrentCommandID.
      For catalog updates they'll still get passed current command ID, but
      for updates generated from the main executor they'll get passed the
      command ID saved in the snapshot the query is using.  This should fix
      some corner cases associated with functions and triggers that advance
      current command ID while an outer query is still in progress.
      959e61e9
  11. 20 May, 2002 1 commit
    • Tom Lane's avatar
      Restructure indexscan API (index_beginscan, index_getnext) per · 44fbe20d
      Tom Lane authored
      yesterday's proposal to pghackers.  Also remove unnecessary parameters
      to heap_beginscan, heap_rescan.  I modified pg_proc.h to reflect the
      new numbers of parameters for the AM interface routines, but did not
      force an initdb because nothing actually looks at those fields.
      44fbe20d
  12. 25 Oct, 2001 1 commit
  13. 10 Aug, 2001 1 commit
  14. 22 Jun, 2001 1 commit
  15. 25 Mar, 2001 1 commit
  16. 22 Mar, 2001 1 commit
  17. 10 Feb, 2001 1 commit
    • Tom Lane's avatar
      Restructure the key include files per recent pghackers discussion: there · d08741ea
      Tom Lane authored
      are now separate files "postgres.h" and "postgres_fe.h", which are meant
      to be the primary include files for backend .c files and frontend .c files
      respectively.  By default, only include files meant for frontend use are
      installed into the installation include directory.  There is a new make
      target 'make install-all-headers' that adds the whole content of the
      src/include tree to the installed fileset, for use by people who want to
      develop server-side code without keeping the complete source tree on hand.
      Cleaned up a whole lot of crufty and inconsistent header inclusions.
      d08741ea
  18. 24 Jan, 2001 1 commit
  19. 23 Jan, 2001 1 commit
    • Tom Lane's avatar
      Fix all the places that called heap_update() and heap_delete() without · 786f1a59
      Tom Lane authored
      bothering to check the return value --- which meant that in case the
      update or delete failed because of a concurrent update, you'd not find
      out about it, except by observing later that the transaction produced
      the wrong outcome.  There are now subroutines simple_heap_update and
      simple_heap_delete that should be used anyplace that you're not prepared
      to do the full nine yards of coping with concurrent updates.  In
      practice, that seems to mean absolutely everywhere but the executor,
      because *noplace* else was checking.
      786f1a59
  20. 21 Jan, 2001 2 commits
  21. 02 Nov, 2000 1 commit
  22. 24 Oct, 2000 1 commit
    • Tom Lane's avatar
      Major overhaul of large-object implementation, by Denis Perchine with · 4f44aa04
      Tom Lane authored
      kibitzing from Tom Lane.  Large objects are now all stored in a single
      system relation "pg_largeobject" --- no more xinv or xinx files, no more
      relkind 'l'.  This should offer substantial performance improvement for
      large numbers of LOs, since there won't be directory bloat anymore.
      It'll also fix problems like running out of locktable space when you
      access thousands of LOs in one transaction.
      Also clean up cruft in read/write routines.  LOs with "holes" in them
      (never-written byte ranges) now work just like Unix files with holes do:
      a hole reads as zeroes but doesn't occupy storage space.
      INITDB forced!
      4f44aa04
  23. 22 Oct, 2000 1 commit
    • Bruce Momjian's avatar
      BACKED OUT. · aa23c705
      Bruce Momjian authored
      > Regression tests opr_sanity and sanity_check are now failing.
      
      Um, Bruce, I've said several times that I didn't think Perchine's large
      object changes should be applied until someone had actually reviewed
      them.
      aa23c705
  24. 21 Oct, 2000 1 commit
    • Bruce Momjian's avatar
      here it is as requested by Bruce. · 293d1e5f
      Bruce Momjian authored
      I tested it restoring my database with > 100000 BLOBS, and dumping it out.
      But unfortunatly I can not restore it back due to problems in pg_dump.
      
      --
      Sincerely Yours,
      Denis Perchine
      293d1e5f
  25. 08 Oct, 2000 2 commits
    • Bruce Momjian's avatar
      Back out: · e5e5de8e
      Bruce Momjian authored
      > this is patch v 0.4 to support transactions with BLOBs.
      > All BLOBs are in one table. You need to make initdb.
      >
      > --
      > Sincerely Yours,
      > Denis Perchine
      e5e5de8e
    • Bruce Momjian's avatar
      Hello, · cf5a950c
      Bruce Momjian authored
      this is patch v 0.4 to support transactions with BLOBs.
      All BLOBs are in one table. You need to make initdb.
      
      --
      Sincerely Yours,
      Denis Perchine
      cf5a950c
  26. 14 Jul, 2000 1 commit
    • Tom Lane's avatar
      Cleanup of code for creating index entries. Functional indexes with · 6bfe6403
      Tom Lane authored
      pass-by-ref data types --- eg, an index on lower(textfield) --- no longer
      leak memory during index creation or update.  Clean up a lot of redundant
      code ... did you know that copy, vacuum, truncate, reindex, extend index,
      and bootstrap each basically duplicated the main executor's logic for
      extracting information about an index and preparing index entries?
      Functional indexes should be a little faster now too, due to removal
      of repeated function lookups.
      CREATE INDEX 'opt_type' clause is deimplemented by these changes,
      but I haven't removed it from the parser yet (need to merge with
      Thomas' latest change set first).
      6bfe6403
  27. 04 Jul, 2000 1 commit
    • Tom Lane's avatar
      Make toast-table creation and deletion work somewhat reliably. · cdeca5f5
      Tom Lane authored
      Don't go through pg_exec_query_dest(), but directly to the execution
      routines.  Also, extend parameter lists so that there's no need to
      change the global setting of allowSystemTableMods, a hack that was
      certain to cause trouble in the event of any error.
      cdeca5f5
  28. 28 Jun, 2000 1 commit
    • Tom Lane's avatar
      First phase of memory management rewrite (see backend/utils/mmgr/README · 1aebc361
      Tom Lane authored
      for details).  It doesn't really do that much yet, since there are no
      short-term memory contexts in the executor, but the infrastructure is
      in place and long-term contexts are handled reasonably.  A few long-
      standing bugs have been fixed, such as 'VACUUM; anything' in a single
      query string crashing.  Also, out-of-memory is now considered a
      recoverable ERROR, not FATAL.
      Eliminate a large amount of crufty, now-dead code in and around
      memory management.
      Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and
      backend startup.
      1aebc361
  29. 17 Jun, 2000 1 commit
    • Tom Lane's avatar
      Get rid of IndexIsUniqueNoCache() kluge by the simple expedient of · edf0b5f0
      Tom Lane authored
      passing the index-is-unique flag to index build routines (duh! ...
      why wasn't it done this way to begin with?).  Aside from eliminating
      an eyesore, this should save a few milliseconds in btree index creation
      because a full scan of pg_index is not needed any more.
      edf0b5f0
  30. 15 Jun, 2000 1 commit
    • Tom Lane's avatar
      Repair Large Object bugs demonstrated by Ian Grant's example. inv_write · a62d8393
      Tom Lane authored
      was inappropriately relying on rel->rd_nblocks to tell if the LO is
      empty (apparently a hack to get around a long-dead index bug), causing
      misbehavior on a written-but-never-vacuumed LO.  Also, inv_read failed
      to cope gracefully with 'holes' (unwritten regions) in the object.
      a62d8393
  31. 05 Jun, 2000 1 commit
  32. 28 May, 2000 1 commit
    • Tom Lane's avatar
      First round of changes for new fmgr interface. fmgr itself and the · 0a7fb4e9
      Tom Lane authored
      key call sites are changed, but most called functions are still oldstyle.
      An exception is that the PL managers are updated (so, for example, NULL
      handling now behaves as expected in plperl and plpgsql functions).
      NOTE initdb is forced due to added column in pg_proc.
      0a7fb4e9
  33. 12 Apr, 2000 1 commit
  34. 08 Apr, 2000 1 commit
  35. 26 Jan, 2000 1 commit
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  36. 30 Dec, 1999 1 commit
  37. 16 Dec, 1999 1 commit
  38. 10 Dec, 1999 1 commit