1. 12 Apr, 2002 2 commits
  2. 09 Apr, 2002 1 commit
  3. 01 Apr, 2002 1 commit
  4. 31 Mar, 2002 2 commits
  5. 29 Mar, 2002 2 commits
  6. 26 Mar, 2002 1 commit
  7. 24 Mar, 2002 1 commit
  8. 22 Mar, 2002 1 commit
    • Tom Lane's avatar
      A little further progress on schemas: push down RangeVars into · 108a0ec8
      Tom Lane authored
      addRangeTableEntry calls.  Remove relname field from RTEs, since
      it will no longer be a useful unique identifier of relations;
      we want to encourage people to rely on the relation OID instead.
      Further work on dumping qual expressions in EXPLAIN, too.
      108a0ec8
  9. 21 Mar, 2002 2 commits
    • Tom Lane's avatar
      Change the aclchk.c routines to uniformly use OIDs to identify the · 56c9b73c
      Tom Lane authored
      objects to be privilege-checked.  Some change in their APIs would be
      necessary no matter what in the schema environment, and simply getting
      rid of the name-based interface entirely seems like the best way.
      56c9b73c
    • Tom Lane's avatar
      First phase of SCHEMA changes, concentrating on fixing the grammar and · 95ef6a34
      Tom Lane authored
      the parsetree representation.  As yet we don't *do* anything with schema
      names, just drop 'em on the floor; but you can enter schema-compatible
      command syntax, and there's even a primitive CREATE SCHEMA command.
      No doc updates yet, except to note that you can now extract a field
      from a function-returning-row's result with (foo(...)).fieldname.
      95ef6a34
  10. 20 Mar, 2002 1 commit
  11. 19 Mar, 2002 2 commits
  12. 07 Mar, 2002 1 commit
  13. 06 Mar, 2002 2 commits
    • Bruce Momjian's avatar
      Fix syntax error introduced by patch. · 9178b7fc
      Bruce Momjian authored
      9178b7fc
    • Bruce Momjian's avatar
      Ok. Updated patch attached. · 01c76f74
      Bruce Momjian authored
      - domain.patch -> source patch against pgsql in cvs
      - drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs
      
      - dominfo.txt -> basic domain related queries I used for testing
      [ ADDED TO /doc]
      
      Enables domains of array elements -> CREATE DOMAIN dom int4[3][2];
      
      Uses a typbasetype column to describe the origin of the domain.
      
      Copies data to attnotnull rather than processing in execMain().
      
      Some documentation differences from earlier.
      
      If this is approved, I'll start working on pg_dump, and a \dD <domain>
      option in psql, and regression tests.  I don't really feel like doing
      those until the system table structure settles for pg_type.
      
      
      CHECKS when added, will also be copied to to the table attributes.  FK
      Constraints (if I ever figure out how) will be done similarly.  Both
      will lbe handled by MergeDomainAttributes() which is called shortly
      before MergeAttributes().
      
      Rod Taylor
      01c76f74
  14. 05 Mar, 2002 1 commit
    • Bruce Momjian's avatar
      I attach a version of my toast-slicing patch, against current CVS · 03194432
      Bruce Momjian authored
      (current as of a few hours ago.)
      
      This patch:
      
      1. Adds PG_GETARG_xxx_P_SLICE() macros and associated support routines.
      
      2. Adds routines in src/backend/access/tuptoaster.c for fetching only
      necessary chunks of a toasted value. (Modelled on latest changes to
      assume chunks are returned in order).
      
      3. Amends text_substr and bytea_substr to use new methods. It now
      handles multibyte cases -and should still lead to a performance
      improvement in the multibyte case where the substring is near the
      beginning of the string.
      
      4. Added new command: ALTER TABLE tabname ALTER COLUMN colname SET
      STORAGE {PLAIN | EXTERNAL | EXTENDED | MAIN} to parser and documented in
      alter-table.sgml. (NB I used ColId as the item type for the storage
      mode string, rather than a new production - I hope this makes sense!).
      All this does is sets attstorage for the specified column.
      
      4. AlterTableAlterColumnStatistics is now AlterTableAlterColumnFlags and
      handles both statistics and storage (it uses the subtype code to
      distinguish). The previous version of my patch also re-arranged other
      code in backend/commands/command.c but I have dropped that from this
      patch.(I plan to return to it separately).
      
      5. Documented new macros (and also the PG_GETARG_xxx_P_COPY macros) in
      xfunc.sgml. ref/alter_table.sgml also contains documentation for ALTER
      COLUMN SET STORAGE.
      
      John Gray
      03194432
  15. 01 Mar, 2002 1 commit
  16. 26 Feb, 2002 1 commit
    • Tom Lane's avatar
      Restructure command-completion-report code so that there is just one · 56ee2ecb
      Tom Lane authored
      report for each received SQL command, regardless of rewriting activity.
      Also ensure that this report comes from the 'original' command, not the
      last command generated by rewrite; this fixes 7.2 breakage for INSERT
      commands that have actions added by rules.  Fernando Nasser and Tom Lane.
      56ee2ecb
  17. 24 Feb, 2002 1 commit
  18. 07 Feb, 2002 1 commit
  19. 03 Jan, 2002 1 commit
    • Tom Lane's avatar
      Require ownership permission for CREATE INDEX, per bug report. · dc6b4deb
      Tom Lane authored
      Disallow CREATE INDEX on system catalogs, non-tables (views, sequences, etc).
      Disallow CREATE/DROP TRIGGER on system catalogs, non-tables.
      Disallow ALTER TABLE ADD/DROP CONSTRAINT on system catalogs.
      Disallow FOREIGN KEY reference to non-table.
      None of these things can actually work in the present system structure,
      but the code was letting them pass without complaint.
      dc6b4deb
  20. 20 Nov, 2001 1 commit
  21. 25 Oct, 2001 1 commit
  22. 18 Oct, 2001 1 commit
    • Thomas G. Lockhart's avatar
      Accept an INTERVAL argument for SET TIME ZONE per SQL99. · 9310075a
      Thomas G. Lockhart authored
       Modified the parser and the SET handlers to use full Node structures
       rather than simply a character string argument.
      Implement INTERVAL() YEAR TO MONTH (etc) syntax per SQL99.
       Does not yet accept the goofy string format that goes along with, but
       this should be fairly straight forward to fix now as a bug or later
       as a feature.
      Implement precision for the INTERVAL() type.
       Use the typmod mechanism for both of INTERVAL features.
      Fix the INTERVAL syntax in the parser:
       opt_interval was in the wrong place.
      INTERVAL is now a reserved word, otherwise we get reduce/reduce errors.
      Implement an explicit date_part() function for TIMETZ.
       Should fix coersion problem with INTERVAL reported by Peter E.
      Fix up some error messages for date/time types.
       Use all caps for type names within message.
      Fix recently introduced side-effect bug disabling 'epoch' as a recognized
       field for date_part() etc. Reported by Peter E. (??)
      Bump catalog version number.
      Rename "microseconds" current transaction time field
       from ...Msec to ...Usec. Duh!
      date/time regression tests updated for reference platform, but a few
       changes will be necessary for others.
      9310075a
  23. 12 Oct, 2001 1 commit
    • Tom Lane's avatar
      Break transformCreateStmt() into multiple routines and make · f9e6e27c
      Tom Lane authored
      transformAlterStmt() use these routines, instead of having lots of
      duplicate (not to mention should-have-been-duplicate) code.
      Adding a column with a CHECK constraint actually works now,
      and the tests to reject unsupported DEFAULT and NOT NULL clauses
      actually fire now.  ALTER TABLE ADD PRIMARY KEY works, modulo
      having to have created the column(s) NOT NULL already.
      f9e6e27c
  24. 09 Oct, 2001 1 commit
  25. 18 Sep, 2001 1 commit
  26. 08 Sep, 2001 1 commit
    • Tom Lane's avatar
      Clean up some confusion about where and how to set whereToSendOutput. · 02b1a7fd
      Tom Lane authored
      We will no longer try to send elog messages to the client before we have
      initialized backend libpq (oops); however, reporting bogus commandline
      switches via elog does work now (not irrelevant, because of PGOPTIONS).
      Fix problem with inappropriate sending of checkpoint-process messages
      to stderr.
      02b1a7fd
  27. 21 Aug, 2001 1 commit
    • Tom Lane's avatar
      Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in · f933766b
      Tom Lane authored
      pgsql-hackers.  pg_opclass now has a row for each opclass supported by each
      index AM, not a row for each opclass name.  This allows pg_opclass to show
      directly whether an AM supports an opclass, and furthermore makes it possible
      to store additional information about an opclass that might be AM-dependent.
      pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we
      previously expected the user to remember to provide in CREATE INDEX commands.
      Lossiness is no longer an index-level property, but is associated with the
      use of a particular operator in a particular index opclass.
      
      Along the way, IndexSupportInitialize now uses the syscaches to retrieve
      pg_amop and pg_amproc entries.  I find this reduces backend launch time by
      about ten percent, at the cost of a couple more special cases in catcache.c's
      IndexScanOK.
      
      Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane.
      
      initdb forced.
      f933766b
  28. 16 Jul, 2001 1 commit
  29. 18 Jun, 2001 1 commit
  30. 09 Jun, 2001 1 commit
  31. 30 May, 2001 1 commit
  32. 27 May, 2001 1 commit
  33. 07 May, 2001 1 commit
    • Tom Lane's avatar
      Rewrite of planner statistics-gathering code. ANALYZE is now available as · f905d65e
      Tom Lane authored
      a separate statement (though it can still be invoked as part of VACUUM, too).
      pg_statistic redesigned to be more flexible about what statistics are
      stored.  ANALYZE now collects a list of several of the most common values,
      not just one, plus a histogram (not just the min and max values).  Random
      sampling is used to make the process reasonably fast even on very large
      tables.  The number of values and histogram bins collected is now
      user-settable via an ALTER TABLE command.
      
      There is more still to do; the new stats are not being used everywhere
      they could be in the planner.  But the remaining changes for this project
      should be localized, and the behavior is already better than before.
      
      A not-very-related change is that sorting now makes use of btree comparison
      routines if it can find one, rather than invoking '<' twice.
      f905d65e
  34. 22 Mar, 2001 1 commit