- 22 Jan, 2000 1 commit
-
-
Tom Lane authored
-
- 20 Jan, 2000 1 commit
-
-
Tom Lane authored
allows casts without specific length requirements to continue to work as they did before; that is, x::char will not truncate the value of x, whereas x::char(1) will. Likewise for NUMERIC precision/scale. The column length defaults of char(1) and numeric(30,6) are now inserted in analyze.c's processing of CREATE TABLE.
-
- 16 Jan, 2000 1 commit
-
-
Tom Lane authored
-
- 15 Jan, 2000 1 commit
-
-
Peter Eisentraut authored
-
- 10 Jan, 2000 1 commit
-
-
Bruce Momjian authored
-
- 06 Jan, 2000 1 commit
-
-
Jan Wieck authored
in trigger manager. Jan
-
- 10 Dec, 1999 1 commit
-
-
Tom Lane authored
yet, but at least we can give a better error message: regression=> select count(distinct f1) from int4_tbl; ERROR: aggregate(DISTINCT ...) is not implemented yet instead of 'parser: parse error at or near distinct'.
-
- 06 Dec, 1999 1 commit
-
-
Jan Wieck authored
Added functionality for automatic trigger creation during CREATE TABLE. Added ON DELETE RESTRICT and some others. Jan
-
- 15 Nov, 1999 1 commit
-
-
Tom Lane authored
subselects can only appear on the righthand side of a binary operator. That's still true for quantified predicates like x = ANY (SELECT ...), but a subselect that delivers a single result can now appear anywhere in an expression. This is implemented by changing EXPR_SUBLINK sublinks to represent just the (SELECT ...) expression, without any 'left hand side' or combining operator --- so they're now more like EXISTS_SUBLINK. To handle the case of '(x, y, z) = (SELECT ...)', I added a new sublink type MULTIEXPR_SUBLINK, which acts just like EXPR_SUBLINK used to. But the grammar will only generate one for a multiple-left-hand-side row expression.
-
- 07 Nov, 1999 1 commit
-
-
Bruce Momjian authored
Fewer calls to nameout. Better use of RelationGetRelationName.
-
- 01 Nov, 1999 1 commit
-
-
Tom Lane authored
make_const --- don't repeat cache searches that aren't needed.
-
- 07 Oct, 1999 1 commit
-
-
Tom Lane authored
mentioned in FROM but not elsewhere in the query: such tables should be joined over anyway. Aside from being more standards-compliant, this allows removal of some very ugly hacks for COUNT(*) processing. Also, allow HAVING clause without aggregate functions, since SQL does. Clean up CREATE RULE statement-list syntax the same way Bruce just fixed the main stmtmulti production. CAUTION: addition of a field to RangeTblEntry nodes breaks stored rules; you will have to initdb if you have any rules.
-
- 03 Oct, 1999 1 commit
-
-
Tom Lane authored
expressions in CREATE TABLE. There is no longer an emasculated expression syntax for these things; it's full a_expr for constraints, and b_expr for defaults (unfortunately the fact that NOT NULL is a part of the column constraint syntax causes a shift/reduce conflict if you try a_expr. Oh well --- at least parenthesized boolean expressions work now). Also, stored expression for a column default is not pre-coerced to the column type; we rely on transformInsertStatement to do that when the default is actually used. This means "f1 datetime default 'now'" behaves the way people usually expect it to. BTW, all the support code is now there to implement ALTER TABLE ADD CONSTRAINT and ALTER TABLE ADD COLUMN with a default value. I didn't actually teach ALTER TABLE to call it, but it wouldn't be much work.
-
- 18 Sep, 1999 1 commit
-
-
Tom Lane authored
additional argument specifying the kind of lock to acquire/release (or 'NoLock' to do no lock processing). Ensure that all relations are locked with some appropriate lock level before being examined --- this ensures that relevant shared-inval messages have been processed and should prevent problems caused by concurrent VACUUM. Fix several bugs having to do with mismatched increment/decrement of relation ref count and mismatched heap_open/close (which amounts to the same thing). A bogus ref count on a relation doesn't matter much *unless* a SI Inval message happens to arrive at the wrong time, which is probably why we got away with this sloppiness for so long. Repair missing grab of AccessExclusiveLock in DROP TABLE, ALTER/RENAME TABLE, etc, as noted by Hiroshi. Recommend 'make clean all' after pulling this update; I modified the Relation struct layout slightly. Will post further discussion to pghackers list shortly.
-
- 21 Aug, 1999 1 commit
-
-
Tom Lane authored
sort order down into planner, instead of handling it only at the very top level of the planner. This fixes many things. An explicit sort is now avoided if there is a cheaper alternative (typically an indexscan) not only for ORDER BY, but also for the internal sort of GROUP BY. It works even when there is no other reason (such as a WHERE condition) to consider the indexscan. It works for indexes on functions. It works for indexes on functions, backwards. It's just so cool... CAUTION: I have changed the representation of SortClause nodes, therefore THIS UPDATE BREAKS STORED RULES. You will need to initdb.
-
- 15 Aug, 1999 1 commit
-
-
Thomas G. Lockhart authored
Also, improve it so that it checks for multi-column constraints. Thanks to Mark Dalphin <mdalphin@amgen.com> for reporting the problem.
-
- 19 Jul, 1999 1 commit
-
-
Tom Lane authored
of the SELECT part of the statement is just like a plain SELECT. All INSERT-specific processing happens after the SELECT parsing is done. This eliminates many problems, e.g. INSERT ... SELECT ... GROUP BY using the wrong column labels. Ensure that DEFAULT clauses are coerced to the target column type, whether or not stored clause produces the right type. Substantial cleanup of parser's array support.
-
- 17 Jul, 1999 1 commit
-
-
Bruce Momjian authored
-
- 16 Jul, 1999 1 commit
-
-
Bruce Momjian authored
-
- 15 Jul, 1999 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 13 Jul, 1999 1 commit
-
-
Bruce Momjian authored
-
- 05 Jun, 1999 1 commit
-
-
Tom Lane authored
index, etc is too long, truncate until it fits.
-
- 25 May, 1999 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 23 May, 1999 1 commit
-
-
Tom Lane authored
aggregate functions, as in select a, b from foo group by a; The ungrouped reference to b is not kosher, but formerly we neglected to check this unless there was an aggregate function somewhere in the query.
-
- 17 May, 1999 2 commits
-
-
Bruce Momjian authored
-
Tom Lane authored
for SERIAL column's constraint, but forgot to increase space palloc'd...
-
- 13 May, 1999 2 commits
-
-
Thomas G. Lockhart authored
SERIAL data type DEFAULT clause. This fixes a problem finding the sequence name when mixed case table names are involved.
-
Tom Lane authored
lists are now plain old garden-variety Lists, allocated with palloc, rather than specialized expansible-array data allocated with malloc. This substantially simplifies their handling and eliminates several sources of memory leakage. Several basic types of erroneous queries (syntax error, attempt to insert a duplicate key into a unique index) now demonstrably leak zero bytes per query.
-
- 12 May, 1999 1 commit
-
-
Thomas G. Lockhart authored
constraints. Reported by Tom Lane. Now, check for duplicate indices and retain the one which is a primary-key. Adjust elog NOTICE messages to surround table and column names with single quotes.
-
- 23 Feb, 1999 1 commit
-
-
Thomas G. Lockhart authored
Put in hooks for outer joins by passing a few parameters back and forth in function calls. May not be close to working yet.
-
- 21 Feb, 1999 1 commit
-
-
Marc G. Fournier authored
From: Tatsuo Ishii <t-ishii@sra.co.jp> Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef NOT_USED" for current. I have tested these patches in that the postgres binaries are identical.
-
- 13 Feb, 1999 1 commit
-
-
Bruce Momjian authored
-
- 08 Feb, 1999 1 commit
-
-
Jan Wieck authored
Removed CURRENT keyword for rule queries and changed rules regression accordingly. CURRENT has beed announced to disappear in v6.5. Jan
-
- 02 Feb, 1999 1 commit
-
-
Bruce Momjian authored
-
- 27 Jan, 1999 1 commit
-
-
Marc G. Fournier authored
From: Tatsuo Ishii <t-ishii@sra.co.jp> Included patches fix a portability problem of unsetenv() used in 6.4.2 multi-byte support. unsetenv() is only avaliable on FreeBSD and Linux so I decided to replace with putenv().
-
- 25 Jan, 1999 1 commit
-
-
Vadim B. Mikheev authored
-
- 21 Jan, 1999 2 commits
-
-
Bruce Momjian authored
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
-
Vadim B. Mikheev authored
-