aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Turn XLOG off (do not create log file).Vadim B. Mikheev2000-03-20
|
* Emit 'this operator is deprecated' warnings for ':' and ';'.Tom Lane2000-03-20
|
* Update for BYTEAOID.Bruce Momjian2000-03-20
|
* Add compatiblity information for bytea.Bruce Momjian2000-03-20
|
* Add FORCE keyword to ColIDHiroshi Inoue2000-03-20
|
* cash_words_out function truncated its output by 1 character due toTom Lane2000-03-19
| | | | incorrect use of StrNCpy.
* Several calls to StrNCpy incorrectly subtracted 1 from the length arg,Tom Lane2000-03-19
| | | | leading to postmaster accepting args 1 shorter than it had room for.
* Minor code rearrangement & doc improvement in eval_const_expressions().Tom Lane2000-03-19
|
* transformExpr() did the Wrong Thing if applied to a SubLink node thatTom Lane2000-03-19
| | | | | | | | | had already been transformed. This led to failure in examples like UPDATE table SET fld = (SELECT ...). Repair this, and revise the comments to explain that transformExpr has to be robust against this condition. Someday we might want to fix the callers so that transformExpr is never invoked on its own output, but that someday is not today.
* Another go-round with resolution of ambiguous functions and operators.Tom Lane2000-03-19
| | | | | | | | | | In function parsing, try for an actual function of the given name and input types before trying to interpret the function call as a type coercion request, rather than after. Before, a function that had the same name as a type and operated on a binary-compatible type wouldn't get invoked. Also, cross-pollinate between func_select_candidates and oper_select_candidates to ensure that they use as nearly the same resolution rules as possible. A few other minor code cleanups too.
* In can_coerce_type, verify that a possible type-coercion functionTom Lane2000-03-19
| | | | actually returns the type it is named for.
* Improve error message wording in unary_op_error() --- suggest thatTom Lane2000-03-18
| | | | | | problem could be lack of parentheses. This addresses cases like X UserOp UserOp Y, which will be parsed as (X UserOp) UserOp Y, whereas what likely was wanted was X UserOp (UserOp Y).
* Clean up minor compiler warnings.Tom Lane2000-03-18
|
* Modify lexing of multi-char operators per pghackers discussion aroundTom Lane2000-03-18
| | | | | | | | | | 16-Mar-00: trailing + or - is not part of the operator unless the operator also contains characters not present in SQL92-defined operators. This solves the 'X=-Y' problem without unduly constraining users' choice of operator names --- in particular, no existing Postgres operator names become invalid. Also, remove processing of // comments, as agreed in the same thread.
* Just noticed that the grammar actually has no provision for '+' as aTom Lane2000-03-18
| | | | | prefix operator :-(. Bad enough that we have no implementation of unary plus, but at least with this fix the grammar will take it.
* Add translation of timespan to interval.Bruce Momjian2000-03-18
|
* Add safety check on expression nesting depth. Default value is set byTom Lane2000-03-17
| | | | a config.h #define, and the runtime value can be controlled via SET.
* Fix a bunch of minor portability problems and maybe-bugs revealed byTom Lane2000-03-17
| | | | | | running gcc and HP's cc with warnings cranked way up. Signed vs unsigned comparisons, routines declared static and then defined not-static, that kind of thing. Tedious, but perhaps useful...
* Support full POSIX-style time zone: EST+3, PST-3, etc.Thomas G. Lockhart2000-03-16
| | | | | | We probably support a superset of the spec, but I don't have the spec to confirm this. Update regression tests to include tests for this format.
* Turns out that Mazurkiewicz's gripe about 'function inheritance' isTom Lane2000-03-16
| | | | | | 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.
* Fix some (more) problems with subselects in rules. Rewriter failed toTom Lane2000-03-16
| | | | | | | mark query as having subselects if a subselect was added from a rule WHERE condition (as opposed to a rule action). Also, fix adjustment of varlevelsup so that it actually has some prospect of working when inserting an expression containing a subselect into a subquery.
* Hi,Bruce Momjian2000-03-16
| | | | | | | | | | small changes in formatting.c code (better memory usage ...etc.) and better to_char's cache (will fastly for more to_char()s in one query). (It is probably end of to_char() development in 7.0 cycle.) Karel
* Update comment obsoleted by Thomas's latest fixes.Tom Lane2000-03-15
|
* Tweak GROUP BY so that it will still accept result-column names, but onlyTom Lane2000-03-15
| | | | | | | | | | after trying to resolve the item as an input-column name. This allows us to be compliant with the SQL92 spec for queries that fall within the spec, while still accepting the same out-of-spec queries as 6.5 did. You'll only lose if there is an output column name that is the same as an input column name, but doesn't refer to the same value. 7.0 will interpret such a GROUP BY spec differently than 6.5 did. No way around that, because 6.5 was clearly not spec compliant.
* Fix busted TRANSLATE() code --- it coredumped due to pfree()'ing theTom Lane2000-03-15
| | | | wrong pointer.
* Remove another incorrect UserAbortTransactionBlock() call.Tom Lane2000-03-15
|
* Remove gratuitous and incorrect begin/commit transaction calls inTom Lane2000-03-15
| | | | | | | | CREATE DB/DROP DB. If you didn't think they were wrong, try what happens when you compile with -DCLOBBER_FREED_MEMORY --- database name displayed in error messages is trashed, because transaction abort freed it. Also, remove trailing periods in error messages, per our prevailing style.
* Add 'datetime' -> 'timestamp' conversion to xlateSqlFunc() to easeTom Lane2000-03-15
| | | | | the pain of updating apps to 7.0. Should we also translate some of the 'datetime_foo' functions that exist in 6.* ?
* Cache fmgr lookup data for index's getnext() function in IndexScanDesc,Tom Lane2000-03-14
| | | | | so that the fmgr lookup only has to happen once per index scan and not once per tuple. Seems to save 5% or so of CPU time for an indexscan.
* Implement column aliases on views "CREATE VIEW name (collist)".Thomas G. Lockhart2000-03-14
| | | | | | | | | | | | | | | | | | 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.
* Marginal performance improvement in LockBuffer --- calculate addressTom Lane2000-03-14
| | | | | | of BufferLocks[] entry just once. Seems to save 10% or so of the routine's runtime, which'd not be worth worrying about if it weren't such a hotspot.
* > I have improved the System V semaphore emulation of the QNX4 port.Bruce Momjian2000-03-14
| | | | | | | | | | Please > apply the attached patch to > > backend/port/qnx4 > > Andreas Kardos >
* Fix some bogosities in the code that deals with estimating the fractionTom Lane2000-03-14
| | | | | of tuples we are going to retrieve from a sub-SELECT. Must have been half asleep when I did this code the first time :-(
* Extend numeric_round and numeric_trunc to accept negative scale inputsTom Lane2000-03-13
| | | | | | (ie, allow rounding to occur at a digit position left of the decimal point). Apparently this is how Oracle handles it, and there are precedents in other programming languages as well.
* Remove unnecessary limitations on lengths of bpchar and varchar constants.Tom Lane2000-03-13
| | | | | | Since we detect oversize tuples elsewhere, I see no reason not to allow string constants that are 'too long' --- after all, they might never get stored in a tuple at all.
* Performance improvement for lexing long strings: increase flex'sTom Lane2000-03-13
| | | | | | YY_READ_BUF_SIZE, which turns out to have nothing to do with buffer size. It's just a totally arbitrary upper limit on how much data myinput() is asked for at one time.
* Somehow, the variant NATIONAL CHAR [ VARYING ] was missing from theTom Lane2000-03-12
| | | | set of SQL-standard type names that we accept.
* Fix performance bug in constant-expression simplifier. After findingTom Lane2000-03-12
| | | | | | | | | that the inputs to a given operator can be recursively simplified to constants, it was evaluating the operator using the op's *original* (unsimplified) arg list, so that any subexpressions had to be evaluated again. A constant subexpression at depth N got evaluated N times. Probably not very important in practical situations, but it made us look real slow in MySQL's 'crashme' test...
* Fix performance problem in fireRIRonSubselect: with nested subqueries,Tom Lane2000-03-12
| | | | | fireRIRonSubselect was invoked twice at each subselect, leading to an exponential amount of wasted effort.
* Clean up grammar's handling of NULL in expressions: a_expr_or_null isTom Lane2000-03-12
| | | | | | | gone, replaced by plain a_expr. The few places where we needed to distinguish NULL from a_expr are now handled by tests inside the actions rather than by separate productions. This allows us to accept queries like 'SELECT 1 + NULL' without requiring parentheses around the NULL.
* Further tweaking of logic that decides when to materialize an uncorrelatedTom Lane2000-03-11
| | | | | | | subplan: do it if subplan has subplans itself, and always do it if the subplan is an indexscan. (I originally set it to materialize an indexscan only if the indexqual is fairly selective, but I dunno what I was thinking ... an unselective indexscan is still expensive ...)
* Make TypeCategory think that NAME is a member of typeTom Lane2000-03-11
| | | | | category STRING. Also, if UNKNOWNOID is passed in, return UNKNOWN_TYPE not USER_TYPE.
* Further fixes for bogus list-slinging, scribbling on input, etc in typeTom Lane2000-03-11
| | | | | | | | | coercion code. I'm beginning to wonder why we have separate candidate selection routines for functions, operators, and aggregates --- shouldn't this code all be unified? But meanwhile, SELECT 'a' LIKE 'a'; finally works; the code for dealing with unknown input types for operators was pretty busted.
* Finish cleaning up backend's handling of /* ... */ and -- comments,Tom Lane2000-03-11
| | | | | | | per pghackers discussion around 20-Feb. Also add specific error messages for unterminated comments and unterminated quoted strings. These things are nonissues for input coming from psql, but they do matter for input coming from other front ends.
* Redo permissions-checking code so that it does the right thing at APPENDTom Lane2000-03-09
| | | | | | nodes. The former version failed to check permissions of relations that were referenced in second and later clauses of UNIONs, and it did not check permissions of tables referenced via inheritance.
* Trial implementation of ALTER DROP COLUMN.Hiroshi Inoue2000-03-09
| | | | | | They are #ifdef'd. Add -D_DROP_COLUMN_HACK__ compile option to evaluate it.
* Extend #ifdef CLOBBER_FREED_MEMORY debugging option so that memoryTom Lane2000-03-08
| | | | freed wholesale by AllocSetReset() is overwritten too.
* Repair access-to-already-freed-memory error recently introduced intoTom Lane2000-03-08
| | | | VACUUM.
* Clean up gmake warning caused by recent NetBSD patch. <grumble>Tom Lane2000-03-08
|
* I've made a diff against the 7.0beta1 tree that accomplishes several things:Bruce Momjian2000-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) adds NetBSD shared lib support on both ELF and a.out platforms 2) replaces "-L$(LIBPQDIR) -lpq" with "$(LIBPQ)" defined in Makefile.global. This makes it much easier to build stuff in the source tree after you've already installed the libraries. 3) adds TEMPLATEDIR in Makefile.global that indicates where the database templates are stored. This separates the template files from real libraries that are installed in $(LIBDIR). 4) changes include order of <readline/readline.h> and <readline.h>. The latest GNU readline installs its headers under a readline subdirectory. In addition to applying the patch below the following files need to be copied: backend/port/dynloader: bsd.h -> netbsd.h bsd.c -> netbsd.c include/port: bsd.h -> netbsd.h makefiles: Makefile.bsd -> Makefile.netbsd It would be great to see this incorporated into the source tree before the 7.0 release is cut. Thanks! -- Johnny C. Lam <lamj@stat.cmu.edu>