CVS log for pgsql/src/backend/bootstrap/bootparse.y

[BACK] Up to [PostgreSQL CVS Repository] / pgsql / src / backend / bootstrap

Request diff between arbitrary revisions - Display revisions graphically


Keyword substitution: kv
Default branch: MAIN


Revision 1.106: download - view: text, markup, annotated - select for diffs
Sun Jul 25 23:21:21 2010 UTC (15 years, 1 month ago) by rhaas
Branches: MAIN
CVS tags: REL9_1_ALPHA1, HEAD
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +3 -2 lines
CREATE TABLE IF NOT EXISTS.

Reviewed by Bernd Helmle.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Sun Feb 7 20:48:09 2010 UTC (15 years, 7 months ago) by tgl
Branches: MAIN
CVS tags: REL9_0_STABLE, REL9_0_RC1, REL9_0_BETA4, REL9_0_BETA3, REL9_0_BETA2, REL9_0_BETA1, REL9_0_ALPHA5_BRANCH, REL9_0_ALPHA5, REL9_0_ALPHA4_BRANCH, REL9_0_ALPHA4, REL9_0_0
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +22 -5 lines
Create a "relation mapping" infrastructure to support changing the relfilenodes
of shared or nailed system catalogs.  This has two key benefits:

* The new CLUSTER-based VACUUM FULL can be applied safely to all catalogs.

* We no longer have to use an unsafe reindex-in-place approach for reindexing
  shared catalogs.

CLUSTER on nailed catalogs now works too, although I left it disabled on
shared catalogs because the resulting pg_index.indisclustered update would
only be visible in one database.

Since reindexing shared system catalogs is now fully transactional and
crash-safe, the former special cases in REINDEX behavior have been removed;
shared catalogs are treated the same as non-shared.

This commit does not do anything about the recently-discussed problem of
deadlocks between VACUUM FULL/CLUSTER on a system catalog and other
concurrent queries; will address that in a separate patch.  As a stopgap,
parallel_schedule has been tweaked to run vacuum.sql by itself, to avoid
such failures during the regression tests.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Thu Jan 28 23:21:11 2010 UTC (15 years, 7 months ago) by petere
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +2 -1 lines
Type table feature

This adds the CREATE TABLE name OF type command, per SQL standard.

Revision 1.103: download - view: text, markup, annotated - select for diffs
Sat Jan 2 16:57:36 2010 UTC (15 years, 8 months ago) by momjian
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +2 -2 lines
Update copyright for the year 2010.

Revision 1.102: download - view: text, markup, annotated - select for diffs
Wed Dec 23 02:35:18 2009 UTC (15 years, 8 months ago) by tgl
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +2 -1 lines
Adjust naming of indexes and their columns per recent discussion.

Index expression columns are now named after the FigureColname result for
their expressions, rather than always being "pg_expression_N".  Digits are
appended to this name if needed to make the column name unique within the
index.  (That happens for regular columns too, thus fixing the old problem
that CREATE INDEX fooi ON foo (f1, f1) fails.  Before exclusion indexes
there was no real reason to do such a thing, but now maybe there is.)

Default names for indexes and associated constraints now include the column
names of all their columns, not only the first one as in previous practice.
(Of course, this will be truncated as needed to fit in NAMEDATALEN.  Also,
pkey indexes retain the historical behavior of not naming specific columns
at all.)

An example of the results:

regression=# create table foo (f1 int, f2 text,
regression(# exclude (f1 with =, lower(f2) with =));
NOTICE:  CREATE TABLE / EXCLUDE will create implicit index "foo_f1_lower_exclusion" for table "foo"
CREATE TABLE
regression=# \d foo_f1_lower_exclusion
Index "public.foo_f1_lower_exclusion"
 Column |  Type   | Definition
--------+---------+------------
 f1     | integer | f1
 lower  | text    | lower(f2)
btree, for table "public.foo"

Revision 1.101: download - view: text, markup, annotated - select for diffs
Mon Dec 7 05:22:21 2009 UTC (15 years, 9 months ago) by tgl
Branches: MAIN
CVS tags: REL8_5_ALPHA3_BRANCH, REL8_5_ALPHA3
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +3 -3 lines
Add exclusion constraints, which generalize the concept of uniqueness to
support any indexable commutative operator, not just equality.  Two rows
violate the exclusion constraint if "row1.col OP row2.col" is TRUE for
each of the columns in the constraint.

Jeff Davis, reviewed by Robert Haas

Revision 1.100: download - view: text, markup, annotated - select for diffs
Mon Oct 5 19:24:34 2009 UTC (15 years, 11 months ago) by tgl
Branches: MAIN
CVS tags: REL8_5_ALPHA2_BRANCH, REL8_5_ALPHA2
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +2 -1 lines
Create an ALTER DEFAULT PRIVILEGES command, which allows users to adjust
the privileges that will be applied to subsequently-created objects.

Such adjustments are always per owning role, and can be restricted to objects
created in particular schemas too.  A notable benefit is that users can
override the traditional default privilege settings, eg, the PUBLIC EXECUTE
privilege traditionally granted by default for functions.

Petr Jelinek

Revision 1.99: download - view: text, markup, annotated - select for diffs
Sun Sep 27 01:32:11 2009 UTC (15 years, 11 months ago) by tgl
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +36 -36 lines
Simplify the bootstrap (BKI) code by getting rid of a useless table of all
the strings seen during the bootstrap run.  There might have been some
actual point to doing that, many years ago, but as far as I can see the only
value now is to conserve a bit of memory.  Even if we cared about wasting
a megabyte or so during the initdb run, it'd be far more effective to
arrange to release memory at the end of each BKI command, instead of
intentionally hanging onto strings that might never be used again.
Not maintaining the table probably makes it faster too; but the main point
of this patch is to get rid of a couple hundred lines of unnecessary and
rather crufty code.

Revision 1.98: download - view: text, markup, annotated - select for diffs
Sat Sep 26 22:42:01 2009 UTC (15 years, 11 months ago) by tgl
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +25 -19 lines
Extend the BKI infrastructure to allow system catalogs to be given
hand-assigned rowtype OIDs, even when they are not "bootstrapped" catalogs
that have handmade type rows in pg_type.h.  Give pg_database such an OID.
Restore the availability of C macros for the rowtype OIDs of the bootstrapped
catalogs.  (These macros are now in the individual catalogs' .h files,
though, not in pg_type.h.)

This commit doesn't do anything especially useful by itself, but it's
necessary infrastructure for reverting some ill-considered changes in
relcache.c.

Revision 1.97: download - view: text, markup, annotated - select for diffs
Wed Jul 29 20:56:18 2009 UTC (16 years, 1 month ago) by tgl
Branches: MAIN
CVS tags: REL8_5_ALPHA1_BRANCH, REL8_5_ALPHA1
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +3 -3 lines
Support deferrable uniqueness constraints.

The current implementation fires an AFTER ROW trigger for each tuple that
looks like it might be non-unique according to the index contents at the
time of insertion.  This works well as long as there aren't many conflicts,
but won't scale to massive unique-key reassignments.  Improving that case
is a TODO item.

Dean Rasheed

Revision 1.96: download - view: text, markup, annotated - select for diffs
Thu Jan 1 17:23:36 2009 UTC (16 years, 8 months ago) by momjian
Branches: MAIN
CVS tags: REL8_4_STABLE, REL8_4_RC2, REL8_4_RC1, REL8_4_BETA2, REL8_4_BETA1, REL8_4_4, REL8_4_3, REL8_4_2, REL8_4_1, REL8_4_0
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +2 -2 lines
Update copyright for 2009.

Revision 1.95: download - view: text, markup, annotated - select for diffs
Wed Nov 26 08:45:11 2008 UTC (16 years, 9 months ago) by petere
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +2 -1 lines
Add %expect 0 to all parser input files to prevent conflicts slipping by.

Revision 1.94: download - view: text, markup, annotated - select for diffs
Tue Sep 2 20:37:54 2008 UTC (17 years ago) by tgl
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +12 -1 lines
Prevent memory leaks in our various bison parsers when an error occurs
during parsing.  Formerly the parser's stack was allocated with malloc
and so wouldn't be reclaimed; this patch makes it use palloc instead,
so that flushing the current context will reclaim the memory.  Per
Marko Kreen.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Mon Sep 1 20:42:43 2008 UTC (17 years ago) by tgl
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +3 -3 lines
Add a bunch of new error location reports to parse-analysis error messages.
There are still some weak spots around JOIN USING and relation alias lists,
but most errors reported within backend/parser/ now have locations.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Fri May 9 23:32:04 2008 UTC (17 years, 4 months ago) by tgl
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +2 -1 lines
Change the rules for inherited CHECK constraints to be essentially the same
as those for inherited columns; that is, it's no longer allowed for a child
table to not have a check constraint matching one that exists on a parent.
This satisfies the principle of least surprise (rows selected from the parent
will always appear to meet its check constraints) and eliminates some
longstanding bogosity in pg_dump, which formerly had to guess about whether
check constraints were really inherited or not.

The implementation involves adding conislocal and coninhcount columns to
pg_constraint (paralleling attislocal and attinhcount in pg_attribute)
and refactoring various ALTER TABLE actions to be more like those for
columns.

Alex Hunsaker, Nikhil Sontakke, Tom Lane

Revision 1.91: download - view: text, markup, annotated - select for diffs
Tue Jan 1 19:45:48 2008 UTC (17 years, 8 months ago) by momjian
Branches: MAIN
CVS tags: REL8_3_STABLE, REL8_3_RC2, REL8_3_RC1, REL8_3_9, REL8_3_8, REL8_3_7, REL8_3_6, REL8_3_5, REL8_3_4, REL8_3_3, REL8_3_2, REL8_3_11, REL8_3_10, REL8_3_1, REL8_3_0
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +2 -2 lines
Update copyrights in source tree to 2008.

Revision 1.90: download - view: text, markup, annotated - select for diffs
Sat Dec 1 23:44:44 2007 UTC (17 years, 9 months ago) by tgl
Branches: MAIN
CVS tags: REL8_3_BETA4
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +3 -3 lines
Code review for LIKE ... INCLUDING INDEXES patch.  Fix failure to propagate
constraint status of copied indexes (bug #3774), as well as various other
small bugs such as failure to pstrdup when needed.  Allow INCLUDING INDEXES
indexes to be merged with identical declared indexes (perhaps not real useful,
but the code is there and having it not apply to LIKE indexes seems pretty
unorthogonal).  Avoid useless work in generateClonedIndexStmt().  Undo some
poorly chosen API changes, and put a couple of routines in modules that seem
to be better places for them.

Revision 1.89: download - view: text, markup, annotated - select for diffs
Tue Jul 17 05:02:00 2007 UTC (18 years, 1 month ago) by neilc
Branches: MAIN
CVS tags: REL8_3_BETA3, REL8_3_BETA2, REL8_3_BETA1
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +3 -3 lines
Implement CREATE TABLE LIKE ... INCLUDING INDEXES. Patch from NikhilS,
based in part on an earlier patch from Trevor Hardcastle, and reviewed
by myself.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Tue Mar 13 00:33:39 2007 UTC (18 years, 6 months ago) by tgl
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +3 -3 lines
First phase of plan-invalidation project: create a plan cache management
module and teach PREPARE and protocol-level prepared statements to use it.
In service of this, rearrange utility-statement processing so that parse
analysis does not assume table schemas can't change before execution for
utility statements (necessary because we don't attempt to re-acquire locks
for utility statements when reusing a stored plan).  This requires some
refactoring of the ProcessUtility API, but it ends up cleaner anyway,
for instance we can get rid of the QueryContext global.

Still to do: fix up SPI and related code to use the plan cache; I'm tempted to
try to make SQL functions use it too.  Also, there are at least some aspects
of system state that we want to ensure remain the same during a replan as in
the original processing; search_path certainly ought to behave that way for
instance, and perhaps there are others.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Wed Mar 7 13:35:02 2007 UTC (18 years, 6 months ago) by alvherre
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +2 -5 lines
Cleanup the bootstrap code a little, and rename "dummy procs" in the code
comments and variables to "auxiliary proc", per Heikki's request.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Tue Jan 9 02:14:11 2007 UTC (18 years, 8 months ago) by tgl
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +3 -1 lines
Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LAST
per-column options for btree indexes.  The planner's support for this is still
pretty rudimentary; it does not yet know how to plan mergejoins with
nondefault ordering options.  The documentation is pretty rudimentary, too.
I'll work on improving that stuff later.

Note incompatible change from prior behavior: ORDER BY ... USING will now be
rejected if the operator is not a less-than or greater-than member of some
btree opclass.  This prevents less-than-sane behavior if an operator that
doesn't actually define a proper sort ordering is selected.

Revision 1.85: download - view: text, markup, annotated - select for diffs
Fri Jan 5 22:19:24 2007 UTC (18 years, 8 months ago) by momjian
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +2 -2 lines
Update CVS HEAD for 2007 copyright.  Back branches are typically not
back-stamped for this.

Revision 1.84: download - view: text, markup, annotated - select for diffs
Fri Aug 25 04:06:46 2006 UTC (19 years ago) by tgl
Branches: MAIN
CVS tags: REL8_2_STABLE, REL8_2_RC1, REL8_2_BETA3, REL8_2_BETA2, REL8_2_BETA1, REL8_2_9, REL8_2_8, REL8_2_7, REL8_2_6, REL8_2_5, REL8_2_4, REL8_2_3, REL8_2_2, REL8_2_17, REL8_2_16, REL8_2_15, REL8_2_14, REL8_2_13, REL8_2_12, REL8_2_11, REL8_2_10, REL8_2_1, REL8_2_0
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +3 -3 lines
Add the ability to create indexes 'concurrently', that is, without
blocking concurrent writes to the table.  Greg Stark, with a little help
from Tom Lane.

Revision 1.83: download - view: text, markup, annotated - select for diffs
Mon Jul 31 01:16:36 2006 UTC (19 years, 1 month ago) by tgl
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +14 -2 lines
Change the bootstrap sequence so that toast tables for system catalogs are
created in the bootstrap phase proper, rather than added after-the-fact
by initdb.  This is cleaner than before because it allows us to retire the
undocumented ALTER TABLE ... CREATE TOAST TABLE command, but the real reason
I'm doing it is so that toast tables of shared catalogs will now have
predetermined OIDs.  This will allow a reasonably clean solution to the
problem of locking tables before we load their relcache entries, to appear
in a forthcoming patch.

Revision 1.82: download - view: text, markup, annotated - select for diffs
Mon Jul 3 22:45:37 2006 UTC (19 years, 2 months ago) by tgl
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +3 -6 lines
Code review for FILLFACTOR patch.  Change WITH grammar as per earlier
discussion (including making def_arg allow reserved words), add missed
opt_definition for UNIQUE case.  Put the reloptions support code in a less
random place (I chose to make a new file access/common/reloptions.c).
Eliminate header inclusion creep.  Make the index options functions safely
user-callable (seems like client apps might like to be able to test validity
of options before trying to make an index).  Reduce overhead for normal case
with no options by allowing rd_options to be NULL.  Fix some unmaintainably
klugy code, including getting rid of Natts_pg_class_fixed at long last.
Some stylistic cleanup too, and pay attention to keeping comments in sync
with code.

Documentation still needs work, though I did fix the omissions in
catalogs.sgml and indexam.sgml.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Sun Jul 2 02:23:19 2006 UTC (19 years, 2 months ago) by momjian
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +8 -4 lines
Add FILLFACTOR to CREATE INDEX.

ITAGAKI Takahiro

Revision 1.80: download - view: text, markup, annotated - select for diffs
Tue Mar 7 01:03:12 2006 UTC (19 years, 6 months ago) by tgl
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +4 -2 lines
Make all our flex and bison files use %option prefix or %name-prefix
(respectively) to rename yylex and related symbols.  Some were doing
it this way already, while others used not-too-reliable sed hacks in
the Makefiles.  It's all nice and consistent now.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Sun Mar 5 15:58:22 2006 UTC (19 years, 6 months ago) by momjian
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +2 -2 lines
Update copyright for 2006.  Update scripts.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Fri Aug 26 03:07:00 2005 UTC (20 years ago) by tgl
Branches: MAIN
CVS tags: REL8_1_STABLE, REL8_1_9, REL8_1_8, REL8_1_7, REL8_1_6, REL8_1_5, REL8_1_4, REL8_1_3, REL8_1_21, REL8_1_20, REL8_1_2, REL8_1_19, REL8_1_18, REL8_1_17, REL8_1_16, REL8_1_15, REL8_1_14, REL8_1_13, REL8_1_12, REL8_1_11, REL8_1_10, REL8_1_1, REL8_1_0RC1, REL8_1_0BETA4, REL8_1_0BETA3, REL8_1_0BETA2, REL8_1_0
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +3 -1 lines
Arrange for indexes and toast tables to inherit their ownership from
the parent table, even if the command that creates them is executed by
someone else (such as a superuser or a member of the owning role).
Per gripe from Michael Fuhr.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Wed Jun 29 22:51:54 2005 UTC (20 years, 2 months ago) by tgl
Branches: MAIN
CVS tags: REL8_1_0BETA1
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +1 -2 lines
Clean up the rather historically encumbered interface to now() and
current time: provide a GetCurrentTimestamp() function that returns
current time in the form of a TimestampTz, instead of separate time_t
and microseconds fields.  This is what all the callers really want
anyway, and it eliminates low-level dependencies on AbsoluteTime,
which is a deprecated datatype that will have to disappear eventually.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Thu Apr 14 01:38:15 2005 UTC (20 years, 5 months ago) by tgl
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +26 -16 lines
First phase of project to use fixed OIDs for all system catalogs and
indexes.  Extend the macros in include/catalog/*.h to carry the info
about hand-assigned OIDs, and adjust the genbki script and bootstrap
code to make the relations actually get those OIDs.  Remove the small
number of RelOid_pg_foo macros that we had in favor of a complete
set named like the catname.h and indexing.h macros.  Next phase will
get rid of internal use of names for looking up catalogs and indexes;
but this completes the changes forcing an initdb, so it looks like a
good place to commit.
Along the way, I made the shared relations (pg_database etc) not be
'bootstrap' relations any more, so as to reduce the number of hardwired
entries and simplify changing those relations in future.  I'm not
sure whether they ever really needed to be handled as bootstrap
relations, but it seems to work fine to not do so now.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Fri Dec 31 21:59:34 2004 UTC (20 years, 8 months ago) by pgsql
Branches: MAIN
CVS tags: REL8_0_STABLE, REL8_0_9, REL8_0_8, REL8_0_7, REL8_0_6, REL8_0_5, REL8_0_4, REL8_0_3, REL8_0_25, REL8_0_24, REL8_0_23, REL8_0_22, REL8_0_21, REL8_0_20, REL8_0_2, REL8_0_19, REL8_0_18, REL8_0_17, REL8_0_16, REL8_0_15, REL8_0_14, REL8_0_13, REL8_0_12, REL8_0_11, REL8_0_10, REL8_0_1, REL8_0_0RC5, REL8_0_0RC4, REL8_0_0RC3, REL8_0_0
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +2 -2 lines

Tag appropriate files for rc3

Also performed an initial run through of upgrading our Copyright date to
extend to 2005 ... first run here was very simple ... change everything
where: grep 1996-2004 && the word 'Copyright' ... scanned through the
generated list with 'less' first, and after, to make sure that I only
picked up the right entries ...

Revision 1.74: download - view: text, markup, annotated - select for diffs
Sun Oct 10 23:37:16 2004 UTC (20 years, 11 months ago) by neilc
Branches: MAIN
CVS tags: REL8_0_0RC2, REL8_0_0RC1, REL8_0_0BETA5, REL8_0_0BETA4
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +3 -3 lines
Cosmetic improvements/code cleanup:

- replace some function signatures of the form "some_type foo()" with
"some_type foo(void)"
- replace a few instances of a literal 0 being used as a NULL pointer;
there are more instances of this in the code, but I just fixed a few
- in src/backend/utils/mb/wstrncmp.c, replace K&R style function
declarations with ANSI style, remove use of 'register' keyword
- remove an "extern" modifier that was applied to a function definition
(rather than a declaration)

Revision 1.73: download - view: text, markup, annotated - select for diffs
Tue Aug 31 17:10:36 2004 UTC (21 years ago) by tgl
Branches: MAIN
CVS tags: REL8_0_0BETA3
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +2 -2 lines
Fix unintended assignment of sequences to the containing schema's
default tablespace --- they should always go in the database's default
tablespace.  Adjust heap_create() API so that it is passed the relkind
to make this easier; should simplify any further tweaking of the same
sort.

Revision 1.72: download - view: text, markup, annotated - select for diffs
Sun Aug 29 04:12:24 2004 UTC (21 years ago) by momjian
Branches: MAIN
CVS tags: REL8_0_0BETA2
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +2 -2 lines
Update copyright to 2004.

Revision 1.71: download - view: text, markup, annotated - select for diffs
Sat Jul 17 03:28:37 2004 UTC (21 years, 1 month ago) by tgl
Branches: MAIN
CVS tags: REL8_0_0BETA1
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +7 -2 lines
Invent ResourceOwner mechanism as per my recent proposal, and use it to
keep track of portal-related resources separately from transaction-related
resources.  This allows cursors to work in a somewhat sane fashion with
nested transactions.  For now, cursor behavior is non-subtransactional,
that is a cursor's state does not roll back if you abort a subtransaction
that fetched from the cursor.  We might want to change that later.

Revision 1.70: download - view: text, markup, annotated - select for diffs
Fri Jun 18 06:13:17 2004 UTC (21 years, 2 months ago) by tgl
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +6 -1 lines
Tablespaces.  Alternate database locations are dead, long live tablespaces.

There are various things left to do: contrib dbsize and oid2name modules
need work, and so does the documentation.  Also someone should think about
COMMENT ON TABLESPACE and maybe RENAME TABLESPACE.  Also initlocation is
dead, it just doesn't know it yet.

Gavin Sherry and Tom Lane.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Thu Jun 3 02:08:02 2004 UTC (21 years, 3 months ago) by tgl
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +1 -2 lines
Adjust our timezone library to use pg_time_t (typedef'd as int64) in
place of time_t, as per prior discussion.  The behavior does not change
on machines without a 64-bit-int type, but on machines with one, which
is most, we are rid of the bizarre boundary behavior at the edges of
the 32-bit-time_t range (1901 and 2038).  The system will now treat
times over the full supported timestamp range as being in your local
time zone.  It may seem a little bizarre to consider that times in
4000 BC are PST or EST, but this is surely at least as reasonable as
propagating Gregorian calendar rules back that far.

I did not modify the format of the zic timezone database files, which
means that for the moment the system will not know about daylight-savings
periods outside the range 1901-2038.  Given the way the files are set up,
it's not a simple decision like 'widen to 64 bits'; we have to actually
think about the range of years that need to be supported.  We should
probably inquire what the plans of the upstream zic people are before
making any decisions of our own.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Wed May 26 04:41:05 2004 UTC (21 years, 3 months ago) by neilc
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +3 -3 lines
Reimplement the linked list data structure used throughout the backend.

In the past, we used a 'Lispy' linked list implementation: a "list" was
merely a pointer to the head node of the list. The problem with that
design is that it makes lappend() and length() linear time. This patch
fixes that problem (and others) by maintaining a count of the list
length and a pointer to the tail node along with each head node pointer.
A "list" is now a pointer to a structure containing some meta-data
about the list; the head and tail pointers in that structure refer
to ListCell structures that maintain the actual linked list of nodes.

The function names of the list API have also been changed to, I hope,
be more logically consistent. By default, the old function names are
still available; they will be disabled-by-default once the rest of
the tree has been updated to use the new API names.

Revision 1.67: download - view: text, markup, annotated - select for diffs
Fri May 21 05:07:56 2004 UTC (21 years, 3 months ago) by tgl
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +2 -2 lines
Integrate src/timezone library for all platforms.  There is more we can
and should do now that we control our own destiny for timezone handling,
but this commit gets the bulk of the picayune diffs in place.
Magnus Hagander and Tom Lane.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Wed May 5 04:48:45 2004 UTC (21 years, 4 months ago) by tgl
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +7 -3 lines
ALTER TABLE rewrite.  New cool stuff:

* ALTER ... ADD COLUMN with defaults and NOT NULL constraints works per SQL
spec.  A default is implemented by rewriting the table with the new value
stored in each row.

* ALTER COLUMN TYPE.  You can change a column's datatype to anything you
want, so long as you can specify how to convert the old value.  Rewrites
the table.  (Possible future improvement: optimize no-op conversions such
as varchar(N) to varchar(N+1).)

* Multiple ALTER actions in a single ALTER TABLE command.  You can perform
any number of column additions, type changes, and constraint additions with
only one pass over the table contents.

Basic documentation provided in ALTER TABLE ref page, but some more docs
work is needed.

Original patch from Rod Taylor, additional work from Tom Lane.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Tue Mar 23 19:35:16 2004 UTC (21 years, 5 months ago) by tgl
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +3 -1 lines
Upgrade ALTER TABLE DROP COLUMN so that it can drop an OID column, and
remove separate implementation of ALTER TABLE SET WITHOUT OIDS in favor
of doing a regular DROP.  Also, cause CREATE TABLE to account completely
correctly for the inheritance status of the OID column.  This fixes
problems with dropping OID columns that have dependencies, as noted by
Christopher Kings-Lynne, as well as making sure that you can't drop an
OID column that was inherited from a parent.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Wed Jan 7 18:56:25 2004 UTC (21 years, 8 months ago) by neilc
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +2 -2 lines
More janitorial work: remove the explicit casting of NULL literals to a
pointer type when it is not necessary to do so.

For future reference, casting NULL to a pointer type is only necessary
when (a) invoking a function AND either (b) the function has no prototype
OR (c) the function is a varargs function.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Sat Nov 29 19:51:41 2003 UTC (21 years, 9 months ago) by pgsql
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +1 -1 lines

$Header: -> $PostgreSQL Changes ...

Revision 1.62: download - view: text, markup, annotated - select for diffs
Fri Nov 14 18:19:45 2003 UTC (21 years, 10 months ago) by tgl
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +2 -1 lines
Add CHECK_FOR_INTERRUPTS() to bootstrap command loop, so that control-C
can terminate the bootstrap run.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Sun Nov 9 21:30:35 2003 UTC (21 years, 10 months ago) by tgl
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +1 -2 lines
Add operator strategy and comparison-value datatype fields to ScanKey.
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.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Mon Aug 4 02:39:57 2003 UTC (22 years, 1 month ago) by momjian
Branches: MAIN
CVS tags: WIN32_DEV, REL7_4_STABLE, REL7_4_RC2, REL7_4_RC1, REL7_4_BETA5, REL7_4_BETA4, REL7_4_BETA3, REL7_4_BETA2, REL7_4_BETA1, REL7_4_9, REL7_4_8, REL7_4_7, REL7_4_6, REL7_4_5, REL7_4_4, REL7_4_3, REL7_4_29, REL7_4_28, REL7_4_27, REL7_4_26, REL7_4_25, REL7_4_24, REL7_4_23, REL7_4_22, REL7_4_21, REL7_4_20, REL7_4_2, REL7_4_19, REL7_4_18, REL7_4_17, REL7_4_16, REL7_4_15, REL7_4_14, REL7_4_13, REL7_4_12, REL7_4_11, REL7_4_10, REL7_4_1, REL7_4
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +2 -2 lines
Update copyrights to 2003.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Tue Jul 22 23:30:37 2003 UTC (22 years, 1 month ago) by tgl
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +5 -5 lines
Error message editing in backend/bootstrap, /lib, /nodes, /port.

Revision 1.58: download - view: text, markup, annotated - select for diffs
Wed May 28 16:03:55 2003 UTC (22 years, 3 months ago) by tgl
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +2 -2 lines
Replace functional-index facility with expressional indexes.  Any column
of an index can now be a computed expression instead of a simple variable.
Restrictions on expressions are the same as for predicates (only immutable
functions, no sub-selects).  This fixes problems recently introduced with
inlining SQL functions, because the inlining transformation is applied to
both expression trees so the planner can still match them up.  Along the
way, improve efficiency of handling index predicates (both predicates and
index expressions are now cached by the relcache) and fix 7.3 oversight
that didn't record dependencies of predicate expressions.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Tue May 27 17:49:45 2003 UTC (22 years, 3 months ago) by momjian
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +9 -9 lines
Make debug_ GUC varables output DEBUG1 rather than LOG, and mention in
docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location.
Doc changes included.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Wed May 14 03:26:00 2003 UTC (22 years, 4 months ago) by tgl
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +3 -3 lines
Backend support for autocommit removed, per recent discussions.  The
only remnant of this failed experiment is that the server will take
SET AUTOCOMMIT TO ON.  Still TODO: provide some client-side autocommit
logic in libpq.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Mon Nov 11 22:19:21 2002 UTC (22 years, 10 months ago) by tgl
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +2 -3 lines
Code review for ON COMMIT patch.  Make the actual on-commit action happen
before commit, not after :-( --- the original coding is not only unsafe
if an error occurs while it's processing, but it generates an invalid
sequence of WAL entries.  Resurrect 7.2 logic for deleting items when
no longer needed.  Use an enum instead of random macros.  Editorialize
on names used for routines and constants.  Teach backend/nodes routines
about new field in CreateTable struct.  Add a regression test.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Sat Nov 9 23:56:38 2002 UTC (22 years, 10 months ago) by momjian
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +3 -1 lines
Add code to handle [ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP }]
for temp tables.

Gavin Sherry

Revision 1.53: download - view: text, markup, annotated - select for diffs
Fri Nov 1 22:52:33 2002 UTC (22 years, 10 months ago) by tgl
Branches: MAIN
CVS tags: REL7_3_STABLE, REL7_3_9, REL7_3_8, REL7_3_7, REL7_3_6, REL7_3_5, REL7_3_4, REL7_3_21, REL7_3_20, REL7_3_2, REL7_3_19, REL7_3_18, REL7_3_17, REL7_3_16, REL7_3_15, REL7_3_14, REL7_3_13, REL7_3_12, REL7_3_11, REL7_3_10
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +3 -1 lines
Arrange to compile flex output files as inclusions into other files
(usually bison output files), not as standalone files.  This hack
works around flex's insistence on including <stdio.h> before we are
able to include postgres.h; postgres.h will already be read before
the compiler starts to read the flex output file.  Needed for largefile
support on some platforms.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Mon Sep 2 01:05:03 2002 UTC (23 years ago) by tgl
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +5 -8 lines
Code review for HeapTupleHeader changes.  Add version number to page headers
(overlaying low byte of page size) and add HEAP_HASOID bit to t_infomask,
per earlier discussion.  Simplify scheme for overlaying fields in tuple
header (no need for cmax to live in more than one place).  Don't try to
clear infomask status bits in tqual.c --- not safe to do it there.  Don't
try to force output table of a SELECT INTO to have OIDs, either.  Get rid
of unnecessarily complex three-state scheme for TupleDesc.tdhasoids, which
has already caused one recent failure.  Improve documentation.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Fri Aug 30 22:18:05 2002 UTC (23 years ago) by tgl
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +3 -3 lines
AUTOCOMMIT mode is now an available backend GUC variable; setting it
to false provides more SQL-spec-compliant behavior than we had before.
I am not sure that setting it false is actually a good idea yet; there
is a lot of client-side code that will probably be broken by turning
autocommit off.  But it's a start.

Loosely based on a patch by David Van Wie.

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sat Jul 20 05:16:56 2002 UTC (23 years, 1 month ago) by momjian
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -2 lines
oid is needed, it is added at the end of the struct (after the null
bitmap, if present).

Per Tom Lane's suggestion the information whether a tuple has an oid
or not is carried in the tuple descriptor.  For debugging reasons
tdhasoid is of type char, not bool.  There are predefined values for
WITHOID, WITHOUTOID and UNDEFOID.

This patch has been generated against a cvs snapshot from last week
and I don't expect it to apply cleanly to current sources.  While I
post it here for public review, I'm working on a new version against a
current snapshot.  (There's been heavy activity recently; hope to
catch up some day ...)

This is a long patch;  if it is too hard to swallow, I can provide it
in smaller pieces:

Part 1:  Accessor macros
Part 2:  tdhasoid in TupDesc
Part 3:  Regression test
Part 4:  Parameter withoid to heap_addheader
Part 5:  Eliminate t_oid from HeapTupleHeader

Part 2 is the most hairy part because of changes in the executor and
even in the parser;  the other parts are straightforward.

Up to part 4 the patched postmaster stays binary compatible to
databases created with an unpatched version.  Part 5 is small (100
lines) and finally breaks compatibility.

Manfred Koizar

Revision 1.49: download - view: text, markup, annotated - select for diffs
Fri Jul 12 18:43:13 2002 UTC (23 years, 2 months ago) by tgl
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +5 -3 lines
Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.
pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY
constraints all have real live entries in pg_constraint.  pg_depend
exists, and RESTRICT/CASCADE options work on most kinds of DROP;
however, pg_depend is not yet very well populated with dependencies.
(Most of the ones that are present at this point just replace formerly
hardwired associations, such as the implicit drop of a relation's pg_type
entry when the relation is dropped.)  Need to add more logic to create
dependency entries, improve pg_dump to dump constraints in place of
indexes and triggers, and add some regression tests.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Thu Jun 20 20:29:25 2002 UTC (23 years, 2 months ago) by momjian
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +2 -2 lines
Update copyright to 2002.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Tue Jun 11 13:40:50 2002 UTC (23 years, 3 months ago) by wieck
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +3 -3 lines
Katherine Ward wrote:
> Changes to avoid collisions with WIN32 & MFC names...
> 1.  Renamed:
>       a.  PROC => PGPROC
>       b.  GetUserName() => GetUserNameFromId()
>       c.  GetCurrentTime() => GetCurrentDateTime()
>       d.  IGNORE => IGNORE_DTF in include/utils/datetime.h & utils/adt/datetim
>
> 2.  Added _P to some lex/yacc tokens:
>       CONST, CHAR, DELETE, FLOAT, GROUP, IN, OUT

Jan

Revision 1.46: download - view: text, markup, annotated - select for diffs
Sat Apr 27 21:24:33 2002 UTC (23 years, 4 months ago) by tgl
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +29 -23 lines
Support toasting of shared system relations, and provide toast tables for
pg_database, pg_shadow, pg_group, all of which now have potentially-long
fields.  Along the way, get rid of SharedSystemRelationNames list: shared
rels are now identified in their include/pg_catalog/*.h files by a
BKI_SHARED_RELATION macro, while indexes and toast rels inherit sharedness
automatically from their parent table.  Fix some bugs with failure to detoast
pg_group.grolist during ALTER GROUP.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Wed Apr 17 20:57:56 2002 UTC (23 years, 4 months ago) by tgl
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +2 -2 lines
Opclasses live in namespaces.  I also took the opportunity to create
an 'opclass owner' column in pg_opclass.  Nothing is done with it at
present, but since there are plans to invent a CREATE OPERATOR CLASS
command soon, we'll probably want DROP OPERATOR CLASS too, which
suggests that a notion of ownership would be a good idea.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Tue Apr 9 20:35:46 2002 UTC (23 years, 5 months ago) by tgl
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +2 -1 lines
Functions live in namespaces.  Qualified function names work, eg
SELECT schema1.func2(...).  Aggregate names can be qualified at the
syntactic level, but the qualification is ignored for the moment.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Mon Apr 1 14:22:41 2002 UTC (23 years, 5 months ago) by momjian
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +3 -1 lines
Attached is a patch which adds 2 missing semi-colons to
bootstrap/bootparse.y, so that recent versions of bison don't emit a
warning.

Neil Conway

Revision 1.42: download - view: text, markup, annotated - select for diffs
Sun Mar 31 06:26:29 2002 UTC (23 years, 5 months ago) by tgl
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +2 -3 lines
Reimplement temp tables using schemas.  The temp table map is history;
temp table entries in pg_class have the names the user would expect.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue Mar 26 19:15:16 2002 UTC (23 years, 5 months ago) by tgl
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +9 -4 lines
pg_class has a relnamespace column.  You can create and access tables
in schemas other than the system namespace; however, there's no search
path yet, and not all operations work yet on tables outside the system
namespace.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sat Mar 2 21:39:20 2002 UTC (23 years, 6 months ago) by momjian
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +16 -26 lines
Commit to match discussed elog() changes.  Only update is that LOG is
now just below FATAL in server_min_messages.  Added more text to
highlight ordering difference between it and client_min_messages.

---------------------------------------------------------------------------

REALLYFATAL => PANIC
STOP => PANIC
New INFO level the prints to client by default
New LOG level the prints to server log by default
Cause VACUUM information to print only to the client
NOTICE => INFO where purely information messages are sent
DEBUG => LOG for purely server status messages
DEBUG removed, kept as backward compatible
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
DebugLvl removed in favor of new DEBUG[1-5] symbols
New server_min_messages GUC parameter with values:
        DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
New client_min_messages GUC parameter with values:
        DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
Server startup now logged with LOG instead of DEBUG
Remove debug_level GUC parameter
elog() numbers now start at 10
Add test to print error message if older elog() values are passed to elog()
Bootstrap mode now has a -d that requires an argument, like postmaster

Revision 1.39: download - view: text, markup, annotated - select for diffs
Sat Sep 29 04:02:22 2001 UTC (23 years, 11 months ago) by tgl
Branches: MAIN
CVS tags: REL7_2_STABLE, REL7_2_RC2, REL7_2_RC1, REL7_2_BETA5, REL7_2_BETA4, REL7_2_BETA3, REL7_2_BETA2, REL7_2_BETA1, REL7_2_8, REL7_2_7, REL7_2_6, REL7_2_5, REL7_2_4, REL7_2_3, REL7_2
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +1 -2 lines
Implement new 'lightweight lock manager' that's intermediate between
existing lock manager and spinlocks: it understands exclusive vs shared
lock but has few other fancy features.  Replace most uses of spinlocks
with lightweight locks.  All remaining uses of spinlocks have very short
lock hold times (a few dozen instructions), so tweak spinlock backoff
code to work efficiently given this assumption.  All per my proposal on
pghackers 26-Sep-01.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Tue Aug 21 16:36:00 2001 UTC (24 years ago) by tgl
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +3 -3 lines
Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
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.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Fri Aug 10 18:57:33 2001 UTC (24 years, 1 month ago) by tgl
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +23 -16 lines
Make OIDs optional, per discussions in pghackers.  WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them.
Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
pg_description has a three-column key instead of one.

Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
has some usefulness; pg_dump dumps comments on indexes, rules, and
triggers in a valid order.

initdb forced.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Sat May 12 01:48:49 2001 UTC (24 years, 4 months ago) by petere
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +76 -62 lines
Make bootstrap debug messages more readable.  Clean up some clutter.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Wed Jan 24 19:42:51 2001 UTC (24 years, 7 months ago) by momjian
Branches: MAIN
CVS tags: REL7_1_STABLE, REL7_1_2, REL7_1
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +2 -2 lines
Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed Jan 17 17:26:44 2001 UTC (24 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +2 -2 lines
Change lcons(x, NIL) to makeList(x) where appropriate.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Tue Nov 21 21:15:59 2000 UTC (24 years, 9 months ago) by petere
Branches: MAIN
CVS tags: REL7_1_BETA3, REL7_1_BETA2, REL7_1_BETA
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +3 -2 lines
Put external declarations into header files.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Fri Jul 14 22:17:38 2000 UTC (25 years, 2 months ago) by tgl
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +1 -2 lines
Cleanup of code for creating index entries.  Functional indexes with
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).

Revision 1.31: download - view: text, markup, annotated - select for diffs
Tue Jul 4 06:11:22 2000 UTC (25 years, 2 months ago) by tgl
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +6 -3 lines
Make toast-table creation and deletion work somewhat reliably.
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.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Sun Jun 18 22:43:51 2000 UTC (25 years, 2 months ago) by tgl
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -2 lines
Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the
materialized tupleset is small enough) instead of a temporary relation.
This was something I was thinking of doing anyway for performance, and Jan
says he needs it for TOAST because he doesn't want to cope with toasting
noname relations.  With this change, the 'noname table' support in heap.c
is dead code, and I have accordingly removed it.  Also clean up 'noname'
plan handling in planner --- nonames are either sort or materialize plans,
and it seems less confusing to handle them separately under those names.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Wed Jan 26 05:56:07 2000 UTC (25 years, 7 months ago) by momjian
Branches: MAIN
CVS tags: REL7_0_PATCHES, REL7_0
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +3 -2 lines
Add:

  * Portions Copyright (c) 1996-2000, PostgreSQL, Inc

to all files copyright Regents of Berkeley.  Man, that's a lot of files.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Thu Nov 4 08:00:58 1999 UTC (25 years, 10 months ago) by inoue
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +17 -3 lines
Make it possible to execute crashed CREATE/DROP commands again.
Now indexes of pg_class and pg_type are unique indexes
and guarantee the uniqueness of correponding attributes.
heap_create() was changed to take another boolean parameter
which allows to postpone the creation of disk file.
The name of rd_nonameunlinked was changed to rd_unlinked.
It is used generally(not only for noname relations) now.
Requires initdb.

Revision 1.25.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 2 05:56:51 1999 UTC (26 years, 1 month ago) by scrappy
Branches: REL6_5_PATCHES
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +2 -3 lines

Another mass of them... just #include file changes and/or DOUBLEALIGN->MAXALIGN

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sat Jul 17 20:16:46 1999 UTC (26 years, 2 months ago) by momjian
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +1 -2 lines
 Move some system includes into c.h, and remove duplicates.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Fri Jul 16 04:58:34 1999 UTC (26 years, 2 months ago) by momjian
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -2 lines
Final cleanup.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Mon May 10 00:44:51 1999 UTC (26 years, 4 months ago) by momjian
Branches: MAIN
CVS tags: REL6_5
Branch point for: REL6_5_PATCHES
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +2 -2 lines
Change error messages to oids come out as %u and not %d.  Change has no
real affect now.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Sat Feb 13 23:14:51 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -2 lines
Change my-function-name-- to my_function_name, and optimizer renames.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Tue Feb 2 03:44:03 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +4 -3 lines
Add TEMP tables/indexes.  Add COPY pfree().  Other cleanups.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Jan 21 22:48:04 1999 UTC (26 years, 7 months ago) by momjian
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2 lines
The following patch finishes primary key support.  Previously, when
a field was labelled as a primary key, the system automatically
created a unique index on the field.  This patch extends it so
that the index has the indisprimary field set.  You can pull a list
of primary keys with the followiing select.

SELECT pg_class.relname, pg_attribute.attname
    FROM pg_class, pg_attribute, pg_index
    WHERE pg_class.oid = pg_attribute.attrelid AND
        pg_class.oid = pg_index.indrelid AND
        pg_index.indkey[0] = pg_attribute.attnum AND
        pg_index.indisunique = 't';

There is nothing in this patch that modifies the template database to
set the indisprimary attribute for system tables.  Should they be
changed or should we only be concerned with user tables?

D'Arcy

Revision 1.21: download - view: text, markup, annotated - select for diffs
Mon Aug 24 01:13:36 1998 UTC (27 years ago) by momjian
Branches: MAIN
CVS tags: REL6_4
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -6 lines
o note that now pg_database has a new attribuite "encoding" even
if MULTIBYTE is not enabled. So be sure to run initdb.

o these patches are made against the latest source tree (after
Bruce's massive patch, I think) BTW, I noticed that after running
regression, the oid field of pg_type seems disappeared.

	regression=> select oid from pg_type; ERROR:  attribute
	'oid' not found

this happens after the constraints test. This occures with/without
my patches. strange...

o pg_database_mb.h, pg_class_mb.h, pg_attribute_mb.h are no longer
used, and shoud be removed.

o GetDatabaseInfo() in utils/misc/database.c removed (actually in
#ifdef 0). seems nobody uses.

t-ishii@sra.co.jp

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Aug 19 02:01:23 1998 UTC (27 years ago) by momjian
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +11 -32 lines
heap_fetch requires buffer pointer, must be released; heap_getnext
no longer returns buffer pointer, can be gotten from scan;
	descriptor; bootstrap can create multi-key indexes;
pg_procname index now is multi-key index; oidint2, oidint4, oidname
are gone (must be removed from regression tests); use System Cache
rather than sequential scan in many places; heap_modifytuple no
longer takes buffer parameter; remove unused buffer parameter in
a few other functions; oid8 is not index-able; remove some use of
single-character variable names; cleanup Buffer variables usage
and scan descriptor looping; cleaned up allocation and freeing of
tuples; 18k lines of diff;

Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu Aug 6 05:12:16 1998 UTC (27 years, 1 month ago) by momjian
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +3 -3 lines
Make large objects their own relkind type.  Fix dups in pg_class_mb
files.  Fix sequence creation hack for relkind type.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Jul 26 04:30:18 1998 UTC (27 years, 1 month ago) by scrappy
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -2 lines

From: t-ishii@sra.co.jp

As Bruce mentioned, this is due to the conflict among changes we made.
Included patches should fix the problem(I changed all MB to
MULTIBYTE). Please let me know if you have further problem.

P.S. I did not include pathces to configure and gram.c to save the
file size(configure.in and gram.y modified).

Revision 1.17: download - view: text, markup, annotated - select for diffs
Fri Jul 24 03:31:07 1998 UTC (27 years, 1 month ago) by scrappy
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +6 -1 lines

I really hope that I haven't missed anything in this one...

From: t-ishii@sra.co.jp

Attached are patches to enhance the multi-byte support.  (patches are
against 7/18 snapshot)

* determine encoding at initdb/createdb rather than compile time

Now initdb/createdb has an option to specify the encoding. Also, I
modified the syntax of CREATE DATABASE to accept encoding option. See
README.mb for more details.

For this purpose I have added new column "encoding" to pg_database.
Also pg_attribute and pg_class are changed to catch up the
modification to pg_database.  Actually I haved added pg_database_mb.h,
pg_attribute_mb.h and pg_class_mb.h. These are used only when MB is
enabled. The reason having separate files is I couldn't find a way to
use ifdef or whatever in those files. I have to admit it looks
ugly. No way.

* support for PGCLIENTENCODING when issuing COPY command

commands/copy.c modified.

* support for SQL92 syntax "SET NAMES"

See gram.y.

* support for LATIN2-5
* add UNICODE regression test case
* new test suite for MB

New directory test/mb added.

* clean up source files

Basic idea is to have MB's own subdirectory for easier maintenance.
These are include/mb and backend/utils/mb.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Apr 26 04:05:51 1998 UTC (27 years, 4 months ago) by momjian
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +25 -31 lines
Re-apply Darren's char2-16 removal code.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Tue Apr 7 18:10:11 1998 UTC (27 years, 5 months ago) by momjian
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +31 -25 lines
Back out char2-char16 removal.  Add later.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Mar 30 17:22:44 1998 UTC (27 years, 5 months ago) by momjian
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +25 -31 lines
The following uuencoded, gzip'd file will ...

1. Remove the char2, char4, char8 and char16 types from postgresql
2. Change references of char16 to name in the regression tests.
3. Rename the char16.sql regression test to name.sql.  4. Modify
the regression test scripts and outputs to match up.

Might require new regression.{SYSTEM} files...

Darren King

Revision 1.13: download - view: text, markup, annotated - select for diffs
Wed Jan 7 21:02:29 1998 UTC (27 years, 8 months ago) by momjian
Branches: MAIN
CVS tags: release-6-3
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +3 -3 lines
Goodbye ABORT.  Hello ERROR for all errors.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Tue Jan 6 18:51:55 1998 UTC (27 years, 8 months ago) by momjian
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +53 -53 lines
Change some labels in bootparse to make ctags happy.  Clean up outfunc/readfunc code and add missing fields for Query structure and new Union fields.  Fix optimizer bug shown in new \do command.  Change WARN to ERROR in contrib and regression stuff.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Jan 5 03:30:16 1998 UTC (27 years, 8 months ago) by momjian
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3 lines
Change elog(WARN) to elog(ERROR) and elog(ABORT).

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Dec 17 18:21:37 1997 UTC (27 years, 8 months ago) by momjian
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +4 -4 lines
Rename Query label so ctags finds real structure.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri Nov 28 17:26:43 1997 UTC (27 years, 9 months ago) by momjian
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -3 lines
Rename heap_destroyr to heap_destroy, heap_destroy to heap_destroy_with_catalog.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri Nov 28 04:39:25 1997 UTC (27 years, 9 months ago) by momjian
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +4 -4 lines
Rename heap_create to heap_create_and_catatlog, rename heap_creatr to heap_create().

Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Nov 24 05:07:54 1997 UTC (27 years, 9 months ago) by momjian
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +1 -2 lines
Remove tqual.h includes not needed.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Fri Nov 21 18:04:03 1997 UTC (27 years, 9 months ago) by momjian
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -9 lines
Remove archive stuff.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Sep 8 03:19:50 1997 UTC (28 years ago) by momjian
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +216 -208 lines
Lex/yacc source cleanup like indent.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Nov 13 20:47:45 1996 UTC (28 years, 10 months ago) by scrappy
Branches: MAIN
CVS tags: REL2_0B, REL2_0
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -2 lines
Commit of a *MAJOR* patch from Dan McGuirk <djm@indirect.com>

Changes:

        * Unique index capability works using the syntax 'create unique
          index'.

        * Duplicate OID's in the system tables are removed.  I put
          little scripts called 'duplicate_oids' and 'find_oid' in
          include/catalog that help to find and remove duplicate OID's.
          I also moved 'unused_oids' from backend/catalog to
          include/catalog, since it has to be in the same directory
          as the include files in order to work.

        * The backend tries converting the name of a function or aggregate
          to all lowercase if the original name given doesn't work (mostly
          for compatibility with ODBC).

        * You can 'SELECT NULL' to your heart's content.

        * I put my _bt_updateitem fix in instead, which uses
          _bt_insertonpg so that even if the new key is so big that
          the page has to be split, everything still works.

        * All literal references to system catalog OID's have been
          replaced with references to define'd constants from the catalog
          header files.

        * I added a couple of node copy functions.  I think this was a
          preliminary attempt to get rules to work.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Oct 21 08:31:18 1996 UTC (28 years, 10 months ago) by scrappy
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +42 -12 lines
-Wall'd

Revision 1.1.1.1.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 20 15:25:29 1996 UTC (29 years ago) by scrappy
Branches: Release_1_0_3
Diff to: previous 1.1.1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.1.1: +2 -2 lines
No wonder the Linux version kept screwing up...err() was fixed in
the wrong file...

Pointed out by: Philip Plane <P.J.Plane@massey.ac.nz>

Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Aug 13 01:28:27 1996 UTC (29 years, 1 month ago) by scrappy
Branches: MAIN
CVS tags: Release_2_0_0, Release_2_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
Fixes:

There is a support routine in the standard 4.4BSD C library
called "err()".  There is also a utility routine in
.../src/backend/bootstrap/bootstrap.c
with the same name.

Here's a patch that renames the pg95 routine to something a little
more sane.  As a bonus, one more bit of system-specific code leaves
the system...

Submitted by: "Kurt J. Lidl" <lidl@va.pubnix.com>

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue Jul 9 06:21:14 1996 UTC (29 years, 2 months ago) by scrappy
Branches: PG95_DIST
CVS tags: Release_1_0_2, PG95-1_01
Branch point for: Release_1_0_3
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
Postgres95 1.01 Distribution - Virgin Sources

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Jul 9 06:21:14 1996 UTC (29 years, 2 months ago) by scrappy
Branches: MAIN
Initial revision

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

PostgreSQL CVSweb <webmaster@postgresql.org>