summaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_target.c
AgeCommit message (Collapse)Author
2000-06-15Clean up #include's.Bruce Momjian
2000-05-30Remove unused include files. Do not touch /port or includes used by defines.Bruce Momjian
2000-04-12Ye-old pgindent run. Same 4-space tabs.Bruce Momjian
2000-03-14Implement column aliases on views "CREATE VIEW name (collist)".Thomas G. Lockhart
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.
2000-03-09Trial implementation of ALTER DROP COLUMN.Hiroshi Inoue
They are #ifdef'd. Add -D_DROP_COLUMN_HACK__ compile option to evaluate it.
2000-02-15Carry column aliases from the parser frontend. Enables queries likeThomas G. Lockhart
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.
2000-01-26Add:Bruce Momjian
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
2000-01-17Pass atttypmod to CoerceTargetExpr, so that it can pass it on toTom Lane
coerce_type, so that the right things happen when coercing a previously- unknown constant to a destination data type.
2000-01-17Create a new parsetree node type, TypeCast, so that transformation ofTom Lane
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.
2000-01-10Make number of args to a function configurable.Bruce Momjian
1999-12-10Teach grammar and parser about aggregate(DISTINCT ...). No implementationTom Lane
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'.
1999-11-22Add system indexes to match all caches.Bruce Momjian
Make all system indexes unique. Make all cache loads use system indexes. Rename *rel to *relid in inheritance tables. Rename cache names to be clearer.
1999-11-07New NameStr macro to convert Name to Str. No need for var.data anymore.Bruce Momjian
Fewer calls to nameout. Better use of RelationGetRelationName.
1999-11-01Eliminate local inefficiencies in updateTargetListEntry, make_var, andTom Lane
make_const --- don't repeat cache searches that aren't needed.
1999-07-19Rewrite parser's handling of INSERT ... SELECT so that processingTom Lane
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.
1999-07-17 Move some system includes into c.h, and remove duplicates.Bruce Momjian
1999-07-16Final cleanup.Bruce Momjian
1999-07-15Remove unused #includes in *.c files.Bruce Momjian
1999-06-17Defend against function calls with more than 8 arguments (codeTom Lane
used to overrun its fixed-size arrays before detecting error; not cool). Also, replace uses of magic constant '8' with 'MAXFARGS'.
1999-05-29Avoid redundant SysCache searches in coerce_type, for anotherTom Lane
few percent speedup in INSERT...
1999-05-25pgindent run over code.Bruce Momjian
1999-05-23Do not assign output columns to junk attributes created fromTom Lane
GROUP BY or ORDER BY expressions in INSERT ... SELECT.
1999-05-22Fix for DEFAULT ''.Bruce Momjian
1999-05-17Change resjunk to a boolean.Bruce Momjian
1999-05-17SELECT * error message fix.Bruce Momjian
1999-04-29Defend against 'update oid'. Someday we might want to supportTom Lane
that, but it'd be a New Feature, wouldn't it ... in the meantime, avoiding a backend crash seems worthwhile.
1999-02-03Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian
1999-01-24Rename Aggreg to Aggref.Bruce Momjian
1998-12-13Improve CASE statement support.Thomas G. Lockhart
Try to label CASE columns for a SELECT if not specified with an AS clause.
1998-12-04Implement CASE expression.Thomas G. Lockhart
1998-10-08Make functions static or ifdef NOT_USED. Prevent pg_version creation.Bruce Momjian
1998-09-25Clean up code in analyze.c for SERIAL data type.Thomas G. Lockhart
Remove _all_ PARSEDEBUG print statements.
1998-09-02Fix for indexing problems.Bruce Momjian
1998-09-01OK, folks, here is the pgindent output.Bruce Momjian
1998-09-01Renaming cleanup, no pgindent yet.Bruce Momjian
1998-08-26Fix for select bug.Bruce Momjian
1998-08-25Cleanup of target file.Bruce Momjian
1998-08-25Make sure resdomno for update/insert match attribute number forBruce Momjian
rewrite system. Restructure parse_target to make it easier to understand.
1998-08-23cleanupBruce Momjian
1998-08-19heap_fetch requires buffer pointer, must be released; heap_getnextBruce Momjian
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;
1998-08-05From: David Hartwig <daybee@bellatlantic.net>Marc G. Fournier
I have attached a patch to allow GROUP BY and/or ORDER BY function or expressions. Note worthy items: 1. The expression or function need not be in the target list. Example: SELECT name FROM foo GROUP BY lower(name); 2. Simplified the grammar to use expressions only. 3. Cleaned up earlier patch in this area to make use of existing utility functions. 3. Reduced some of the members in the SortGroupBy parse node. The original data members were redundant with the new expression node. (MUST do a "make clean" now) 4. Added a new parse node "JoinUsing". The JOIN USING clause was overloading this SortGroupBy structure. With the afore mentioned reduction of members, the two clauses lost all their commonality. 5. A bug still exist where, if a function or expression is GROUPed BY, and an aggregate function does not include a attribute from the expression or function, the backend crashes. (or something like that) The bug pre-dates this patch. Example: SELECT lower(a) AS lowcase, count(b) FROM foo GROUP BY lowcase; *** BOOM *** --Also when not in target list SELECT count(b) FROM foo GROUP BY lower(a); *** BOOM AGAIN ***
1998-07-20Cleanup makeTargetEntry and remove internal.c.Bruce Momjian
1998-07-12Change atttypmod from int16 to int32, for Thomas.Bruce Momjian
1998-07-08Allow floating point constants for "def_arg" numeric arguments.Thomas G. Lockhart
Used in the generic "CREATE xxx" parsing. Do some automatic type conversion for inserts from other columns. Previous trouble with "resjunk" regression test remains for now.
1998-06-15Remove un-needed braces around single statements.Bruce Momjian
1998-06-05I made several adjustments to my earlier patch to handle theBruce Momjian
condition where the target label is ambiguous.
1998-05-29Do type conversion to match columns in UNION clauses.Thomas G. Lockhart
Currently force the type to match the _first_ select in the union. Move oper_select_candidate() from parse_func.c to parse_oper.c. Throw error inside of oper_inexact() if no match for binary operators. Check more carefully that types can be coerced even if there is only one candidate operator in oper_inexact(). Fix up error messages for more uniform look. Remove unused code. Fix up comments.
1998-05-21From: David Hartwig <daveh@insightdist.com>Marc G. Fournier
Here is a patch to remove the requirement that ORDER/GROUP BY clause identifiers be included in the target list.
1998-05-09Add capabilities for automatic type conversion.Thomas G. Lockhart
1998-02-26pgindent run before 6.3 release, with Thomas' requested changes.Bruce Momjian