summaryrefslogtreecommitdiff
path: root/src/include
AgeCommit message (Collapse)Author
2002-03-10Add DEFAULT_INDEX_TYPE == "btree", for clarity.Bruce Momjian
2002-03-09Code review for improved-hashing patch. Fix some portability issuesTom Lane
(char != unsigned char, Datum != uint32); make use of new hash code in dynahash hash tables and hash joins.
2002-03-08Fix copying/equality-check bugs in GrantStmt and ConstraintsSetStmt,Tom Lane
per reports from Fernando Nasser. Also, rearrange order of declarations in parsenodes.h as suggested by Fernando.
2002-03-07Back out domain patch until it works properly.Bruce Momjian
2002-03-06I've attached a patch which implements Bob Jenkin's hash function forBruce Momjian
PostgreSQL. This hash function replaces the one used by hash indexes and the catalog cache. Hash joins use a different, relatively poor-quality hash function, but I'll fix that later. As suggested by Tom Lane, this patch also changes the size of the fixed hash table used by the catalog cache to be a power-of-2 (instead of a prime: I chose 256 instead of 257). This allows the catcache to lookup hash buckets using a simple bitmask. This should improve the performance of the catalog cache slightly, since the previous method (modulo a prime) was slow. In my tests, this improves the performance of hash indexes by between 4% and 8%; the performance when using btree indexes or seqscans is basically unchanged. Neil Conway <neilconway@rogers.com>
2002-03-06Ok. Updated patch attached.Bruce Momjian
- domain.patch -> source patch against pgsql in cvs - drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs - dominfo.txt -> basic domain related queries I used for testing [ ADDED TO /doc] Enables domains of array elements -> CREATE DOMAIN dom int4[3][2]; Uses a typbasetype column to describe the origin of the domain. Copies data to attnotnull rather than processing in execMain(). Some documentation differences from earlier. If this is approved, I'll start working on pg_dump, and a \dD <domain> option in psql, and regression tests. I don't really feel like doing those until the system table structure settles for pg_type. CHECKS when added, will also be copied to to the table attributes. FK Constraints (if I ever figure out how) will be done similarly. Both will lbe handled by MergeDomainAttributes() which is called shortly before MergeAttributes(). Rod Taylor
2002-03-06Improve elog descriptions.Bruce Momjian
2002-03-06Change made to elog:Bruce Momjian
o Change all current CVS messages of NOTICE to WARNING. We were going to do this just before 7.3 beta but it has to be done now, as you will see below. o Change current INFO messages that should be controlled by client_min_messages to NOTICE. o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc. to always go to the client. o Remove INFO from the client_min_messages options and add NOTICE. Seems we do need three non-ERROR elog levels to handle the various behaviors we need for these messages. Regression passed.
2002-03-05> Tatsuo Ishii wrote:Bruce Momjian
> > > > It was made to cope with encoding such as an Asian bloc in 7.2Beta2. > > > > > > > > Added ServerEncoding > > > > Korean (JOHAB), Thai (WIN874), > > > > Vietnamese (TCVN), Arabic (WIN1256) > > > > > > > > Added ClientEncoding > > > > Simplified Chinese (GBK), Korean (UHC) > > > > > > > > > > > > > http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2b2.newencoding.diff.tar.gz > > > > (608K) > > > > > > Looks good. I need some people to review this for me. > > > > For me they look good too. The only missing part is a > > documentation. I will ask him to write it up. If he couldn't, I will > > do it for him. > > > The diff is 3mb > > > but appears to address only additions to multibyte. I have attached a > > > list of files it modifies. Also, look at the sizes of the mb/ > > > directory. It is getting large: > > > > > > 4 ./CVS > > > 6 ./Unicode/CVS > > > 3433 ./Unicode > > > 6197 . > > > > Yes. We definitely need the on-the-fly encoding addition capability: > > i.e. CREATE CHRACTER SET in the future... > > -- > > Tatsuo Ishii > > > > Address chainge. http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2.newencoding.diff.gz Add PsqlODBC and document ...etc patch. Eiji Tokuya
2002-03-05I attach a version of my toast-slicing patch, against current CVSBruce Momjian
(current as of a few hours ago.) This patch: 1. Adds PG_GETARG_xxx_P_SLICE() macros and associated support routines. 2. Adds routines in src/backend/access/tuptoaster.c for fetching only necessary chunks of a toasted value. (Modelled on latest changes to assume chunks are returned in order). 3. Amends text_substr and bytea_substr to use new methods. It now handles multibyte cases -and should still lead to a performance improvement in the multibyte case where the substring is near the beginning of the string. 4. Added new command: ALTER TABLE tabname ALTER COLUMN colname SET STORAGE {PLAIN | EXTERNAL | EXTENDED | MAIN} to parser and documented in alter-table.sgml. (NB I used ColId as the item type for the storage mode string, rather than a new production - I hope this makes sense!). All this does is sets attstorage for the specified column. 4. AlterTableAlterColumnStatistics is now AlterTableAlterColumnFlags and handles both statistics and storage (it uses the subtype code to distinguish). The previous version of my patch also re-arranged other code in backend/commands/command.c but I have dropped that from this patch.(I plan to return to it separately). 5. Documented new macros (and also the PG_GETARG_xxx_P_COPY macros) in xfunc.sgml. ref/alter_table.sgml also contains documentation for ALTER COLUMN SET STORAGE. John Gray
2002-03-04Add PQunescapeBytea libpq function.Bruce Momjian
Everyone using libpq and bytea is probably having to invent this wheel.. Patrick Welche
2002-03-04Further work on elog cleanup: fix some bogosities in elog's logic aboutTom Lane
when to send what to which, prevent recursion by introducing new COMMERROR elog level for client-communication problems, get rid of direct writes to stderr in backend/libpq files, prevent non-error elogs from going to client during the authentication cycle.
2002-03-03Catcaches can now store negative entries as well as positive ones, toTom Lane
speed up repetitive failed searches; per pghackers discussion in late January. inval.c logic substantially simplified, since we can now treat inserts and deletes alike as far as inval events are concerned. Some repair work needed in heap_create_with_catalog, which turns out to have been doing CommandCounterIncrement at a point where the new relation has non-self-consistent catalog entries. With the new inval code, that resulted in assert failures during a relcache entry rebuild.
2002-03-02Commit to match discussed elog() changes. Only update is that LOG isBruce Momjian
now just below FATAL in server_min_messages. Added more text to highlight ordering difference between it and client_min_messages. --------------------------------------------------------------------------- REALLYFATAL => PANIC STOP => PANIC New INFO level the prints to client by default New LOG level the prints to server log by default Cause VACUUM information to print only to the client NOTICE => INFO where purely information messages are sent DEBUG => LOG for purely server status messages DEBUG removed, kept as backward compatible DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added DebugLvl removed in favor of new DEBUG[1-5] symbols New server_min_messages GUC parameter with values: DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC New client_min_messages GUC parameter with values: DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC Server startup now logged with LOG instead of DEBUG Remove debug_level GUC parameter elog() numbers now start at 10 Add test to print error message if older elog() values are passed to elog() Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-01User and database-specific session defaults for run-time configurationPeter Eisentraut
variables. New commands ALTER DATABASE ... SET and ALTER USER ... SET.
2002-03-01Second thoughts dept: arrange to cache mergejoin scan selectivityTom Lane
in RestrictInfo nodes, instead of recomputing on every use.
2002-03-01Teach planner about the idea that a mergejoin won't necessarily readTom Lane
both input streams to the end. If one variable's range is much less than the other, an indexscan-based merge can win by not scanning all of the other table. Per example from Reinhard Max.
2002-02-27Clean up BeginCommand and related routines. BeginCommand and EndCommandTom Lane
are now both invoked once per received SQL command (raw parsetree) from pg_exec_query_string. BeginCommand is actually just an empty routine at the moment --- all its former operations have been pushed into tuple receiver setup routines in printtup.c. This makes for a clean distinction between BeginCommand/EndCommand (once per command) and the tuple receiver setup/teardown routines (once per ExecutorRun call), whereas the old code was quite ad hoc. Along the way, clean up the calling conventions for ExecutorRun a little bit.
2002-02-26Restructure command-completion-report code so that there is just oneTom Lane
report for each received SQL command, regardless of rewriting activity. Also ensure that this report comes from the 'original' command, not the last command generated by rewrite; this fixes 7.2 breakage for INSERT commands that have actions added by rules. Fernando Nasser and Tom Lane.
2002-02-25Add note that BLCKSZ must be a power of 2.Tom Lane
2002-02-25I've attached a simple patch which should improve the performance ofBruce Momjian
hashname() and reduce the penalty incured when NAMEDATALEN is increased. I posted this to -hackers a couple days ago, and there haven't been any major complaints. It passes the regression tests. See -hackers for more discussion, as well as the suggestion from Tom Lane on which this patch is based. Unless anyone sees any problems, please apply for 7.3. Cheers, Neil Conway
2002-02-24Add OWNER option to CREATE DATABASE, so superusers can create databasesTom Lane
on behalf of unprivileged users. Also, make '=' optional in CREATE DATABASE syntax. From Gavin Sherry, with kibitzing and docs by Tom Lane.
2002-02-23Heimdal support (Kerberos V implementation from KTH)Peter Eisentraut
2002-02-23Save source of GUC settings, allowing different sources to be processed inPeter Eisentraut
any order without affecting results.
2002-02-22We had a problem with to compile pgsql-7.2 under SW-8.0.Bruce Momjian
In the mailing lists I found no informations. See note for further informations. Add missing AuthBlockSig. regards Heiko
2002-02-19A bunch of changes aimed at reducing backend startup time...Tom Lane
Improve 'pg_internal.init' relcache entry preload mechanism so that it is safe to use for all system catalogs, and arrange to preload a realistic set of system-catalog entries instead of only the three nailed-in-cache indexes that were formerly loaded this way. Fix mechanism for deleting out-of-date pg_internal.init files: this must be synchronized with transaction commit, not just done at random times within transactions. Drive it off relcache invalidation mechanism so that no special-case tests are needed. Cache additional information in relcache entries for indexes (their pg_index tuples and index-operator OIDs) to eliminate repeated lookups. Also cache index opclass info at the per-opclass level to avoid repeated lookups during relcache load. Generalize 'systable scan' utilities originally developed by Hiroshi, move them into genam.c, use in a number of places where there was formerly ugly code for choosing either heap or index scan. In particular this allows simplification of the logic that prevents infinite recursion between syscache and relcache during startup: we can easily switch to heapscans in relcache.c when and where needed to avoid recursion, so IndexScanOK becomes simpler and does not need any expensive initialization. Eliminate useless opening of a heapscan data structure while doing an indexscan (this saves an mdnblocks call and thus at least one kernel call).
2002-02-18Privileges on functions and procedural languagesPeter Eisentraut
2002-02-14Ensure that a cursor is scanned under the same scanCommandId it wasTom Lane
originally created with, so that the set of visible tuples does not change as a result of other activity. This essentially makes PG cursors INSENSITIVE per the SQL92 definition. See bug report of 13-Feb-02.
2002-01-29Make S/390 TAS spell __inline__ the same way as the other eight GCCTom Lane
inline routines do.
2002-01-22libpq++/pgconnection.h must not include postgres_fe.h, else it fails toTom Lane
compile in client apps that use the standard installed header set. To allow removing that include, move DLLIMPORT definitions out of c.h and into the appropriate port-specific header files.
2002-01-16TOAST needs to do at least minimal time-qual checking in order not toTom Lane
mess up after an aborted VACUUM FULL, per today's pghackers discussion. Add a suitable HeapTupleSatisfiesToast routine. Remove useless special- case test in HeapTupleSatisfiesVisibility macro for xmax = BootstrapTransactionId; perhaps that was needed at one time, but it's a waste of cycles now, not to mention actively wrong for SnapshotAny. Along the way, add some much-needed comments to tqual.c, and simplify toast_fetch_datum, which no longer needs to assume it may see chunks out-of-order.
2002-01-15Add more sanity-checking to PageAddItem and PageIndexTupleDelete,Tom Lane
to prevent spreading of corruption when page header pointers are bad. Merge PageZero into PageInit, since it was never used separately, and remove separate memset calls used at most other PageInit call points. Remove IndexPageCleanup, which wasn't used at all.
2002-01-12Bump catversion to ensure people apply recent timestamp and sequenceTom Lane
fixes.
2002-01-12Repair bugs in declarations of routines to add timestamptz and interval.Thomas G. Lockhart
Thanks to Bruce for spotting it and Tom Lane for diagnosing it. Since horology test output is changing anyway, add some date/time input tests to horology.sql. Some of these should move to the tests for the individual data types, and we perhaps should add an entire new test for "timezone" to allow manipulating the current time zone without risking damage to the results of other tests.
2002-01-01Do not accept interrupts in RESUME_INTERRUPTS() and END_CRIT_SECTION()Tom Lane
macros, but only at explicit CHECK_FOR_INTERRUPTS() calls. Not clear whether overenthusiastic acceptance of interrupts accounts for any real bugs, but it definitely seems risky and unnecessary.
2002-01-01Rename TIME token to ISOTIME to eliminate conflict with gram.y parserThomas G. Lockhart
token. Seems to be isolated to datetime.c and datetime.h.
2001-12-29Rework the date/time parsing to tighten up some cases and to enable otherThomas G. Lockhart
cases which should have worked but did not. Now supports julian day (J2452271), ISO time labels (T040506) and various combinations of spaces and run-togethers of dates, times, and time zones. All regression tests pass, and I have more tests to add after the 7.2 release (don't want to require changes to the ancillary horology result files until after then).
2001-12-11Make sure that inlined S_UNLOCK is marked as an update of a 'volatile'Tom Lane
object. This should prevent the compiler from reordering loads and stores into or out of a critical section.
2001-12-10Suppress subquery pullup and pushdown when the subquery has anyTom Lane
set-returning functions in its target list. This ensures that we won't rewrite the query in a way that places set-returning functions into quals (WHERE clauses). Cf. bug reports from Joe Conway.
2001-12-04Replace pq_getbytes(&ch, 1) calls with pq_getbyte(), which is easierTom Lane
to use and significantly faster. This tweak saves 25% (!) of the runtime of COPY IN in a test with 8000-character lines. I wouldn't normally commit a performance improvement this late in the cycle, but 25% got my attention...
2001-12-03Add configure-time check whether sig_atomic_t is defined; if not,Tom Lane
provide a default definition equating it to 'int'. Should trigger only on machines with pre-ANSI-C header files, eg SunOS 4.1.x.
2001-12-02More correct way to check for existence of types, which allows to specifyPeter Eisentraut
which include files to consider. Should fix BeOS problems with int8 types.
2001-11-22Remove compile errors of psql.exe and libpq.dll underHiroshi Inoue
Multibyte mode.
2001-11-21Spell 'precedes', 'preceding' correctly in various places.Tom Lane
2001-11-16IsSystemRelationName() treats TOAST relations as system relations.Tom Lane
This seems the right thing for most usages, but I notice two places where it is the wrong thing. One is that the default permissions on TOAST rels should be no-access, not world-readable; the other is that PrepareForTupleInvalidation doesn't really need to spend time looking at tuples of TOAST relations.
2001-11-16Remove 'triggered data change violation' error check, per recentTom Lane
discussions in pghackers.
2001-11-15Well the absolute correct solution would involve all of:Bruce Momjian
int8, int16, int32, int64 and separately uint8, uint16, uint32, uint64 The previous patch grouped: int8, int16 and int32 uint8, uint16 and uint32 int64 and uint64 <-- this grouping is wrong on AIX 4.3.3 and below If you prefer to make 4 groups out of this you could apply this patch. Andreas
2001-11-15Fix for AIX compile and unsigned/signed typedefs.Bruce Momjian
Peter E, Tatsuo, Andreas
2001-11-12Remove duplicate extern declaration.Tom Lane
2001-11-12Remove a bunch more no-longer-used stuff in libpq-be.h.Tom Lane