1. 16 Apr, 2002 1 commit
    • Tom Lane's avatar
      Operators live in namespaces. CREATE/DROP/COMMENT ON OPERATOR take · 6cef5d25
      Tom Lane authored
      qualified operator names directly, for example CREATE OPERATOR myschema.+
      ( ... ).  To qualify an operator name in an expression you need to write
      OPERATOR(myschema.+) (thanks to Peter for suggesting an escape hatch).
      I also took advantage of having to reformat pg_operator to fix something
      that'd been bugging me for a while: mergejoinable operators should have
      explicit links to the associated cross-data-type comparison operators,
      rather than hardwiring an assumption that they are named < and >.
      6cef5d25
  2. 09 Apr, 2002 1 commit
  3. 05 Apr, 2002 1 commit
  4. 01 Apr, 2002 1 commit
  5. 29 Mar, 2002 1 commit
  6. 26 Mar, 2002 1 commit
  7. 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
  8. 21 Mar, 2002 1 commit
    • 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
  9. 20 Mar, 2002 1 commit
  10. 19 Mar, 2002 1 commit
  11. 12 Mar, 2002 1 commit
    • Tom Lane's avatar
      Restructure representation of join alias variables. An explicit JOIN · 6eeb95f0
      Tom Lane authored
      now has an RTE of its own, and references to its outputs now are Vars
      referencing the JOIN RTE, rather than CASE-expressions.  This allows
      reverse-listing in ruleutils.c to use the correct alias easily, rather
      than painfully reverse-engineering the alias namespace as it used to do.
      Also, nested FULL JOINs work correctly, because the result of the inner
      joins are simple Vars that the planner can cope with.  This fixes a bug
      reported a couple times now, notably by Tatsuo on 18-Nov-01.  The alias
      Vars are expanded into COALESCE expressions where needed at the very end
      of planning, rather than during parsing.
      Also, beginnings of support for showing plan qualifier expressions in
      EXPLAIN.  There are probably still cases that need work.
      initdb forced due to change of stored-rule representation.
      6eeb95f0
  12. 08 Mar, 2002 1 commit
  13. 07 Mar, 2002 1 commit
  14. 06 Mar, 2002 1 commit
    • 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
  15. 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
  16. 01 Mar, 2002 1 commit
  17. 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
  18. 24 Feb, 2002 1 commit
  19. 18 Feb, 2002 1 commit
  20. 05 Nov, 2001 2 commits
  21. 28 Oct, 2001 1 commit
  22. 25 Oct, 2001 1 commit
  23. 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
  24. 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
  25. 02 Oct, 2001 1 commit
  26. 18 Sep, 2001 1 commit
  27. 26 Aug, 2001 1 commit
  28. 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
  29. 16 Aug, 2001 1 commit
    • Tom Lane's avatar
      Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type · d4f4b971
      Tom Lane authored
      has an alias SERIAL4 and a sister SERIAL8.  SERIAL8 is just the same
      except the created column is type int8 not int4.
      initdb forced.  Note this also breaks any chance of pg_upgrade from 7.1,
      unless we hack up pg_upgrade to drop and recreate sequences.  (Which is
      not out of the question, but I don't wanna do it.)
      d4f4b971
  30. 10 Aug, 2001 2 commits
  31. 04 Aug, 2001 2 commits
  32. 16 Jul, 2001 1 commit
  33. 12 Jul, 2001 1 commit
  34. 10 Jul, 2001 1 commit
    • Tom Lane's avatar
      Changes from Vince Vielhaber to allow the optional clauses of CREATE · 320b6db0
      Tom Lane authored
      USER and ALTER USER to appear in any order, not only the fixed order
      they used to be required to appear in.
      Also, some changes from Tom Lane to create a FULL option for VACUUM;
      it doesn't do anything yet, but I needed to change many of the same
      files to make that happen, so now seemed like a good time.
      320b6db0
  35. 23 Jun, 2001 1 commit
  36. 19 Jun, 2001 1 commit
  37. 09 Jun, 2001 1 commit