- Jun 09, 2000
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Jun 03, 2000
-
-
Bruce Momjian authored
-
- May 12, 2000
-
-
Tom Lane authored
Make it behave correctly when there are more than two tables being joined, also. Update regression test expected outputs.
-
- Apr 12, 2000
-
-
Bruce Momjian authored
-
- Mar 20, 2000
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Mar 17, 2000
-
-
Tom Lane authored
a config.h #define, and the runtime value can be controlled via SET.
-
- Mar 16, 2000
-
-
Tom Lane authored
actually a type-coercion problem. If you have a function defined on class A, and class B inherits from A, then the function ought to work on class B as well --- but coerce_type didn't know that. Now it does.
-
- Mar 15, 2000
-
-
Thomas G. Lockhart authored
Implement TIME WITH TIME ZONE type (timetz internal type). Remap length() for character strings to CHAR_LENGTH() for SQL92 and to remove the ambiguity with geometric length() functions. Keep length() for character strings for backward compatibility. Shrink stored views by removing internal column name list from visible rte. Implement min(), max() for time and timetz data types. Implement conversion of TIME to INTERVAL. Implement abs(), mod(), fac() for the int8 data type. Rename some math functions to generic names: round(), sqrt(), cbrt(), pow(), etc. Rename NUMERIC power() function to pow(). Fix int2 factorial to calculate result in int4. Enhance the Oracle compatibility function translate() to work with string arguments (from Edwin Ramirez). Modify pg_proc system table to remove OID holes.
-
- Feb 26, 2000
-
-
Tom Lane authored
such as bpchar(char_expression, N), and pull out the attrtypmod that the function is coercing to. This allows correct deduction of the column type in examples such as CREATE VIEW v AS SELECT f1::char(8) FROM tbl; Formerly we labeled v's column as char-of-unknown-length not char(8). Also, this change causes the parser not to insert a redundant length coercion function if the user has explicitly casted an INSERT or UPDATE expression to the right length.
-
- Feb 16, 2000
-
-
Thomas G. Lockhart authored
Transform datetime and timespan into timestamp and interval. Deprecate datetime and timespan, though translate to new types in gram.y. Transform all datetime and timespan catalog entries into new types. Make "INTERVAL" reserved word allowed as a column identifier in gram.y. Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility routines for all date/time types. date.{h,c} now deals with date, time types. timestamp.{h,c} now deals with timestamp, interval types. nabstime.{h,c} now deals with abstime, reltime, tinterval types. Make NUMERIC a known native type for purposes of type coersion. Not tested.
-
- Feb 15, 2000
-
-
Thomas G. Lockhart authored
SELECT a FROM t1 tx (a); Allow join syntax, including queries like SELECT * FROM t1 NATURAL JOIN t2; Update RTE structure to hold column aliases in an Attr structure.
-
- Jan 27, 2000
-
-
Tom Lane authored
SELECT DISTINCT ON (expr [, expr ...]) targetlist ... and there is a check to make sure that the user didn't specify an ORDER BY that's incompatible with the DISTINCT operation. Reimplement nodeUnique and nodeGroup to use the proper datatype-specific equality function for each column being compared --- they used to do bitwise comparisons or convert the data to text strings and strcmp(). (To add insult to injury, they'd look up the conversion functions once for each tuple...) Parse/plan representation of DISTINCT is now a list of SortClause nodes. initdb forced by querytree change...
-
- Jan 26, 2000
-
-
Bruce Momjian authored
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
-
- Jan 20, 2000
-
-
Tom Lane authored
declarations.
-
- Jan 17, 2000
-
-
Tom Lane authored
coerce_type, so that the right things happen when coercing a previously- unknown constant to a destination data type.
-
Tom Lane authored
SQL cast constructs can be performed during expression transformation instead of during parsing. This allows constructs like x::numeric(9,2) and x::int2::float8 to behave as one would expect.
-
- Jan 10, 2000
-
-
Bruce Momjian authored
-
- Dec 12, 1999
-
-
Tom Lane authored
-
- Dec 10, 1999
-
-
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'.
-
- Nov 01, 1999
-
-
Tom Lane authored
make_const --- don't repeat cache searches that aren't needed.
-
- Oct 07, 1999
-
-
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.
-
- Aug 24, 1999
-
-
Tom Lane authored
match then it tried for a self-commutative operator with the reversed input data types. This is pretty silly; there could never be such an operator, except maybe in binary-compatible-type scenarios, and we have oper_inexact for that. Besides which, the oprsanity regress test would complain about such an operator. Remove nonfunctional code and simplify routine calling convention accordingly.
-
- Aug 21, 1999
-
-
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.
-
- Aug 05, 1999
-
-
Tom Lane authored
constants, not only string constants, at parse time. Get rid of parser_typecast2(), which is bogus and redundant...
-
- Jul 19, 1999
-
-
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.
-
- Jul 16, 1999
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Jul 15, 1999
-
-
Bruce Momjian authored
-
- Jul 14, 1999
-
-
Bruce Momjian authored
-
- Jul 13, 1999
-
-
Bruce Momjian authored
-
- Jun 18, 1999
-
-
Tom Lane authored
used to overrun its fixed-size arrays before detecting error; not cool). Also, replace uses of magic constant '8' with 'MAXFARGS'.
-
- May 29, 1999
-
-
Tom Lane authored
few percent speedup in INSERT...
-
- May 26, 1999
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- May 25, 1999
-
-
Bruce Momjian authored
-
- May 22, 1999
-
-
Bruce Momjian authored
-
- May 17, 1999
-
-
Bruce Momjian authored
-
- May 13, 1999
-
-
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.
-