summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2000-08-25Avoid creating a TOAST table if we can prove that the maximum tupleTom Lane
length is < TOAST_TUPLE_THRESHOLD, even with toastable column types present. For example, CREATE TABLE foo (f1 int, f2 varchar(100)) does not require a toast table, even though varchar is a toastable type.
2000-08-25Change return type of:Tatsuo Ishii
pg_mb2wchar(const unsigned char *, pg_wchar *); pg_mb2wchar_with_len(const unsigned char *, pg_wchar *, int); from void to int. Now they return the number of wide chars.
2000-08-25Make the location of the Kerberos server key file run time configurablePeter Eisentraut
(rather than compile time). For libpq, even when Kerberos support is compiled in, the default user name should still fall back to geteuid() if it can't be determined via the Kerberos system. A couple of fixes for string type configuration parameters, now that there is one.
2000-08-24GetAttributeByName and GetAttributeByNum should be declared to returnTom Lane
Datum, not char*, for portability's sake.
2000-08-24Update funcs tutorial for new function manager.Tom Lane
2000-08-24SQL-language functions are now callable in ordinary fmgr contexts ...Tom Lane
for example, an SQL function can be used in a functional index. (I make no promises about speed, but it'll work ;-).) Clean up and simplify handling of functions returning sets.
2000-08-23Add functions to convert to and from text, and to truncate to MAC OUI.Thomas G. Lockhart
Remove hardcoded macaddr_manuf(), which had really old, obsolete info. Replace this with some contrib/mac/ code to maniag OUI info from IEEE.
2000-08-22Fix plpgsql lexer to accept Windows-style and Mac-style newlines asTom Lane
newlines.
2000-08-22Make scanner multibyte aware. Currently it may produce an incorrectTatsuo Ishii
multibyte sequence while truncating identifiers.
2000-08-22Make makeObjectName multibyte aware. Currently, it may produceTatsuo Ishii
incorrect multibyte sequence while truncating too long names.
2000-08-22Add multibyte support for both LIKE and ILIKETatsuo Ishii
Eliminate up-to-4-times memory allocation problem
2000-08-22Fix a many-legged critter reported by chifungfan@yahoo.com: under theTom Lane
right circumstances a hash join executed as a DECLARE CURSOR/FETCH query would crash the backend. Problem as seen in current sources was that the hash tables were stored in a context that was a child of TransactionCommandContext, which got zapped at completion of the FETCH command --- but cursor cleanup executed at COMMIT expected the tables to still be valid. I haven't chased down the details as seen in 7.0.* but I'm sure it's the same general problem.
2000-08-22Add some more Assert checks.Tom Lane
2000-08-21Move pg_checkretval out of the planner (where it never belonged) intoTom Lane
pg_proc.c (where it's actually used). Fix it to correctly handle tlists that contain resjunk target items, and improve error messages. This addresses bug reported by Krupnikov 6-July-00.
2000-08-21Fix format_type() to display correct lengths for BIT/BIT VARYING.Tom Lane
Also, make it depend on type OIDs rather than type names for more consistency with rest of backend.
2000-08-21fmgr interface mopup work. Use new DatumGetBool and BoolGetDatumTom Lane
macros where appropriate (the code used to have several different ways of doing that, including Int32, Int8, UInt8, ...). Remove last few references to float32 and float64 typedefs --- it's all float4/float8 now. The typedefs themselves should probably stay in c.h for a release or two, though, to avoid breaking user-written C functions.
2000-08-21First pass at integrating BIT and BIT VARYING code from Adriaan Joubert.Tom Lane
Update functions to new-style fmgr, make BIT and VARBIT be binary- equivalent, add entries to allow these types to be btree indexed, correct a few bugs. BIT/VARBIT are now toastable, too. NOTE: initdb forced due to catalog updates.
2000-08-20Standardize on just one spelling of BITSPERBYTE.Tom Lane
2000-08-20Substitute libdir into createlang as last resort so one doesn't have to setPeter Eisentraut
PGLIB or use any option anymore.
2000-08-20Introduce HAVE_UNIX_SOCKETS symbol to replace repeatedly listing all thePeter Eisentraut
unsupported platforms.
2000-08-20Make functional indexes accept binary-compatible functions, for exampleTom Lane
CREATE INDEX fooi ON foo (lower(f1)) where f1 is varchar rather than text.
2000-08-13Clean up handling of variable-free qual clauses. System now does theTom Lane
right thing with variable-free clauses that contain noncachable functions, such as 'WHERE random() < 0.5' --- these are evaluated once per potential output tuple. Expressions that contain only Params are now candidates to be indexscan quals --- for example, 'var = ($1 + 1)' can now be indexed. Cope with RelabelType nodes atop potential indexscan variables --- this oversight prevents 7.0.* from recognizing some potentially indexscanable situations.
2000-08-12Mop-up for removal of ':' and ';' operators ... like, say, actuallyTom Lane
take 'em out of pg_operator. Also remove from scan.l's set of legal operator characters. Update documentation.
2000-08-12Fix ruleutils to produce correct output for array assignment, suchTom Lane
as UPDATE foo SET arr[3] = 42.
2000-08-11Update comments for some parse node types.Tom Lane
2000-08-11copyObject() and equal() now know about all parse-time node types,Tom Lane
including utility statements. Still can't copy or compare executor state, but at present that doesn't seem to be necessary. This makes it possible to execute most (all?) utility statements in plpgsql. Had to change parsetree representation of CreateTrigStmt so that it contained only legal Nodes, and not bare string constants.
2000-08-11Remove debugging Assert that should never have been committed in theTom Lane
first place :-(
2000-08-11Make debug_assertions default to ON, when compiled in at all, forTom Lane
backwards compatibility with old behavior.
2000-08-10CREATE btree INDEX takes dead tuples into account when old transactionsHiroshi Inoue
are running.
2000-08-09Reimplement MULTIBYTE support (oops). Not tested, but it does compile.Thomas G. Lockhart
2000-08-08Remove 'func_tlist' from Func expression nodes, likewise 'param_tlist'Tom Lane
from Param nodes, per discussion a few days ago on pghackers. Add new expression node type FieldSelect that implements the functionality where it's actually needed. Clean up some other unused fields in Func nodes as well. NOTE: initdb forced due to change in stored expression trees for rules.
2000-08-08Buf fix to pg_restire -S option in getoptsPhilip Warner
2000-08-07TOAST mop-up work: update comments for tuple-size-related symbols suchTom Lane
as MaxHeapAttributeNumber. Increase MaxAttrSize to something more reasonable (given what it's used for, namely checking char(n) declarations, I didn't make it the full 1G that it could theoretically be --- 10Mb seemed a more reasonable number). Improve calculation of MaxTupleSize.
2000-08-07- version # change in headerPhilip Warner
CVs: ----------------------------------------------------------------------
2000-08-07- Support for iscachable when dumping functionsPhilip Warner
2000-08-07Allow LIKE and ILIKE as TokenId (and hence ColId) to make sure that theyThomas G. Lockhart
are allowed in the func_name production. Otherwise, we can't define more like() and ilike() functions for new data types.
2000-08-07Clean up code to remove the explicit backslash cruft.Thomas G. Lockhart
If the backslash default is still wanted, just pass a backslash to MatchText() for the two-parameter callable routines.
2000-08-07Include the case-insensitive LIKE prototypes.Thomas G. Lockhart
2000-08-07Forgot to update the regression test output.Thomas G. Lockhart
2000-08-07Clean up bogosities in use of random(3) and srandom(3) --- do not assumeTom Lane
that RAND_MAX applies to them, since it doesn't. Instead add a config.h parameter MAX_RANDOM_VALUE. This is currently set at 2^31-1 but could be auto-configured if that ever proves necessary. Also fix some outright bugs like calling srand() where srandom() is appropriate.
2000-08-06Implement LIKE/ESCAPE. Change parser to use like()/notlike()Thomas G. Lockhart
rather than the "~~" operator; this made it easy to add ESCAPE features. Implement ILIKE, NOT ILIKE, and the ESCAPE clause for them. afaict this is not MultiByte clean, but lots of other stuff isn't either. Fix up underlying support code for LIKE/NOT LIKE. Things should be faster and does not require internal string copying. Update regression test to add explicit checks for LIKE/NOT LIKE/ILIKE/NOT ILIKE. Remove colon and semi-colon operators as threatened in 7.0. Implement SQL99 COMMIT/AND NO CHAIN. Throw elog(ERROR) on COMMIT/AND CHAIN per spec since we don't yet support it. Implement SQL99 CREATE/DROP SCHEMA as equivalent to CREATE DATABASE. This is only a stopgap or demo since schemas will have another implementation soon. Remove a few unused production rules to get rid of warnings which crept in on the last commit. Fix up tabbing in some places by removing embedded spaces.
2000-08-06Implement LIKE/ESCAPE. Change parser to use like()/notlike()Thomas G. Lockhart
rather than the "~~" operator; this made it easy to add ESCAPE features. Implement ILIKE, NOT ILIKE, and the ESCAPE clause for them. afaict this is not MultiByte clean, but lots of other stuff isn't either. Fix up underlying support code for LIKE/NOT LIKE. Things should be faster and does not require internal string copying. Update regression test to add explicit checks for LIKE/NOT LIKE/ILIKE/NOT ILIKE. Remove colon and semi-colon operators as threatened in 7.0. Implement SQL99 COMMIT/AND NO CHAIN. Throw elog(ERROR) on COMMIT/AND CHAIN per spec since we don't yet support it. Implement SQL99 CREATE/DROP SCHEMA as equivalent to CREATE DATABASE. This is only a stopgap or demo since schemas will have another implementation soon. Remove a few unused production rules to get rid of warnings which crept in on the last commit. Fix up tabbing in some places by removing embedded spaces.
2000-08-06Support SQL99 embedded double-quote syntax for quoted identifiers.Thomas G. Lockhart
Allow this in the parser and in pg_dump, but it is probably not enough for a complete solution. Better to have the feature started then never here.
2000-08-06Toast all the system-table columns that seem to need it. It turns outTom Lane
that giving pg_proc a toast table required solving the same problems we'd have to solve for pg_class --- pg_proc is one of the relations that gets bootstrapped in relcache.c. Solution is to go back at the end of initialization and read in the *real* pg_class row to replace the phony entry created by formrdesc(). This should work as long as there's no need to touch any toasted values during initialization, which seems a reasonable assumption. Although I did not add a toast-table for every single system table with a varlena attribute, I believe that it would work to just do ALTER TABLE pg_class CREATE TOAST TABLE. So anyone who's really intent on having several thousand ACL entries for a rel could do it. NOTE: I didn't force initdb, but you must do one to see the effects of this patch.
2000-08-06Clean up inefficiency in ExecRelCheck, and cause it to do the rightTom Lane
thing when there are multiple result relations. Formerly, during something like 'UPDATE foo*', foo's constraints and *only* foo's constraints would be applied to all foo's children. Wrong-o ...
2000-08-06Ensure that catcache 'busy' flags are reset at transaction abort.Tom Lane
Without this, an elog during cache-entry load leaves that catcache unusable. elog in that segment of code is pretty unusual but it can happen.
2000-08-06Copy sub-Query nodes to avoid trouble when same sub-Query is linked toTom Lane
multiple times in the parsetree (can happen in COALESCE or BETWEEN contexts, for example). This is a pretty grotty solution --- it will do for now, but perhaps we can do better when we redesign querytrees. What we need is a consistent policy about whether querytrees should be considered read-only structures or not ...
2000-08-05> I had to back out the patch. It only compiles with multi-byte enabled.Bruce Momjian
Ooops, I forget... here it is again. > > > If encoding is not supported returns ERROR. and if multibyte not enabled too.... Thanks. Karel ~
2000-08-05- Minor fix to create temp table for xrefsPhilip Warner
2000-08-05- Only disable triggers for the table being loadedPhilip Warner
- disable triggers prior to BLOB load - better query for loading blob xrefs - Fixes to error handling code