summaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_func.c
Commit message (Collapse)AuthorAgeFilesLines
* Further planner/optimizer cleanups. Move all set_tlist_referencesTom Lane1999-08-221-4/+4
| | | | | | | | | | and fix_opids processing to a single recursive pass over the plan tree executed at the very tail end of planning, rather than haphazardly here and there at different places. Now that tlist Vars do not get modified until the very end, it's possible to get rid of the klugy var_equal and match_varid partial-matching routines, and just use plain equal() throughout the optimizer. This is a step towards allowing merge and hash joins to be done on expressions instead of only Vars ...
* Major revision of sort-node handling: push knowledge of queryTom Lane1999-08-211-3/+2
| | | | | | | | | | | | | 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.
* Move funcid_get_rettype() to lsyscache.Tom Lane1999-08-161-23/+3
|
* Revise parse_coerce() to handle coercion of int and floatTom Lane1999-08-051-15/+2
| | | | | constants, not only string constants, at parse time. Get rid of parser_typecast2(), which is bogus and redundant...
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-171-2/+1
|
* Final cleanup.Bruce Momjian1999-07-161-3/+3
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-151-11/+1
|
* Defend against function calls with more than 8 arguments (codeTom Lane1999-06-171-14/+20
| | | | | used to overrun its fixed-size arrays before detecting error; not cool). Also, replace uses of magic constant '8' with 'MAXFARGS'.
* pgindent run over code.Bruce Momjian1999-05-251-63/+50
|
* Fix for DEFAULT ''.Bruce Momjian1999-05-221-5/+4
|
* Change resjunk to a boolean.Bruce Momjian1999-05-171-3/+3
|
* Change error messages to oids come out as %u and not %d. Change has noBruce Momjian1999-05-101-3/+3
| | | | real affect now.
* Update nextval() code.Bruce Momjian1999-03-161-1/+3
|
* Fix snprintf with strings, and nextval('"Aa"');Bruce Momjian1999-03-161-2/+10
|
* Allow sequence nextval actions to be case-sensitive.Bruce Momjian1999-03-151-7/+12
|
* Do a better job of selecting candidates among functionsThomas G. Lockhart1999-02-231-47/+48
| | | | | when no exact match. Clean up elog error messages.
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-131-4/+4
|
* Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian1999-02-031-15/+8
|
* Fix reference to null pointer when no aggregate function candidatesThomas G. Lockhart1998-12-231-4/+4
| | | | | | are available. Problem reported by David Sauer <davids@iol.cz>. Modify information in resulting error message to indicate both agg name and data type.
* Initial MVCC code.Vadim B. Mikheev1998-12-151-3/+1
| | | | New code for locking buffer' context.
* Fix up error messages when looking up functions and operators to notThomas G. Lockhart1998-12-131-3/+3
| | | | | make the sometimes misleading claim that more than one candidate was identified. Now say "Unable to identify...".
* I have a simple patch about the treatment of functions.Bruce Momjian1998-12-131-4/+2
| | | | | | | | | | But it may be self-satisfied. Please check my patch at the end of this posting. Case 1. executor evaluates functions twice Hiroshi Inoue Inoue@tpf.co.jp
* Define routines and catalog entries for string min()/max() functions.Thomas G. Lockhart1998-12-081-4/+145
| | | | | Extend new type coersion techniques to aggregates. Clean up a few elog() messages.
* New HeapTuple structure/interface.Vadim B. Mikheev1998-11-271-10/+7
|
* Make functions static or ifdef NOT_USED. Prevent pg_version creation.Bruce Momjian1998-10-081-2/+4
|
* Clean up code in analyze.c for SERIAL data type.Thomas G. Lockhart1998-09-251-36/+1
| | | | Remove _all_ PARSEDEBUG print statements.
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-011-84/+89
|
* Renaming cleanup, no pgindent yet.Bruce Momjian1998-09-011-18/+18
|
* From: Massimo Dal Zotto <dz@cs.unitn.it>Marc G. Fournier1998-08-251-4/+8
| | | | | | | | | > sequence.patch > > adds the missing setval command to sequences. Owner of sequences > can now set the last value to any value between min and max > without recreating the sequence. This is useful after loading > data from external files.
* heap_fetch requires buffer pointer, must be released; heap_getnextBruce Momjian1998-08-191-18/+10
| | | | | | | | | | | | | 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;
* Use Snapshot in heap access methods.Vadim B. Mikheev1998-07-271-3/+3
|
* Cleanup makeTargetEntry and remove internal.c.Bruce Momjian1998-07-201-7/+3
|
* Remove un-needed references to Name.Bruce Momjian1998-07-201-14/+8
|
* Change atttypmod from int16 to int32, for Thomas.Bruce Momjian1998-07-121-2/+2
|
* Allow floating point constants for "def_arg" numeric arguments.Thomas G. Lockhart1998-07-081-6/+7
| | | | | | 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.
* Remove un-needed braces around single statements.Bruce Momjian1998-06-151-13/+1
|
* Do type conversion to match columns in UNION clauses.Thomas G. Lockhart1998-05-291-456/+16
| | | | | | | | | | | 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.
* Add capabilities for automatic type conversion.Thomas G. Lockhart1998-05-091-119/+727
|
* This patch...Bruce Momjian1998-04-271-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Removes the unnecessary "#define AbcRegProcedure 123"'s from pg_proc.h. 2. Changes those #defines to use the names already defined in fmgr.h. 3. Forces the make of fmgr.h in backend/Makefile instead of having it made as a dependency in access/common/Makefile *hack*hack*hack* 4. Rearranged the #includes to a less helter-skelter arrangement, also changing <file.h> to "file.h" to signify a non-system header. 5. Removed "pg_proc.h" from files where its only purpose was for the #defines removed in item #1. 6. Added "fmgr.h" to each file changed for completeness sake. Turns out that #6 was not necessary for some files because fmgr.h was being included in a roundabout way SIX levels deep by the first include. "access/genam.h" ->"access/relscan.h" ->"utils/rel.h" ->"access/strat.h" ->"access/skey.h" ->"fmgr.h" So adding fmgr.h really didn't add anything to the compile, hopefully just made it clearer to the programmer. S Darren.
* pgindent run before 6.3 release, with Thomas' requested changes.Bruce Momjian1998-02-261-52/+63
|
* Pass around typmod as int16.Bruce Momjian1998-02-101-2/+2
|
* Pass attypmod through to executor by adding to Var and Resdom.Bruce Momjian1998-02-101-11/+11
|
* func_error() changed so that if caller is passed with NULL value, itsMarc G. Fournier1998-02-051-5/+9
| | | | | | output at least doesn't appear that its missing something. wasn't particularly confident with removing 'caller' altogether :(
* Clean up func_error() function completely removing caller variable asMarc G. Fournier1998-02-051-5/+5
| | | | "more info then user requires"
* set "caller" value in parse_func.h to func_get_detail instead of just ""Marc G. Fournier1998-02-021-3/+3
|
* Deadlock ceallnup.Bruce Momjian1998-01-271-3/+3
| | | | | | (void) change for aix and hp compilers. protocol cleanup.
* Add Var.varlevelup to code. More parser cleanup.Bruce Momjian1998-01-201-9/+8
|
* Parser cleanup.Bruce Momjian1998-01-201-16/+53
| | | | Add lock to i386 asm.
* Remove Query->qry_aggs and qry_numaggs and replace with Query->hasAggs.Bruce Momjian1998-01-151-7/+2
| | | | | | | | | Pass List* of Aggregs into executor, and create needed array there. No longer need to double-processs Aggregs with second copy in Query. Fix crash when doing: select sum(x+1) from test where 1 > 0;
* Change elog(WARN) to elog(ERROR) and elog(ABORT).Bruce Momjian1998-01-051-16/+16
|