- 22 7月, 2003 1 次提交
-
-
由 Tom Lane 提交于
-
- 20 7月, 2003 1 次提交
-
-
由 Tom Lane 提交于
xid when we fail to access pg_clog.
-
- 18 7月, 2003 1 次提交
-
-
由 Tom Lane 提交于
fixed incorrect initial setting of StartUpID. The logic in XLogWrite() expects that Write->curridx is advanced to the next page as soon as LogwrtResult points to the end of the current page, but StartupXLOG() failed to make that happen when the old WAL ended exactly on a page boundary. Per trouble report from Hannu Krosing.
-
- 27 6月, 2003 1 次提交
-
-
由 Tom Lane 提交于
-
- 23 6月, 2003 1 次提交
-
-
由 Tom Lane 提交于
specific hash functions used by hash indexes, rather than the old not-datatype-aware ComputeHashFunc routine. This makes it safe to do hash joining on several datatypes that previously couldn't use hashing. The sets of datatypes that are hash indexable and hash joinable are now exactly the same, whereas before each had some that weren't in the other.
-
- 16 6月, 2003 1 次提交
-
-
由 Tom Lane 提交于
hopefully a little more useful.
-
- 12 6月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
least-recently-used strategy from clog.c into slru.c. It doesn't change any visible behaviour and passes all regression tests plus a TruncateCLOG test done manually. Apart from refactoring I made a little change to SlruRecentlyUsed, formerly ClogRecentlyUsed: It now skips incrementing lru_counts, if slotno is already the LRU slot, thus saving a few CPU cycles. To make this work, lru_counts are initialised to 1 in SimpleLruInit. SimpleLru will be used by pg_subtrans (part of the nested transactions project), so the main purpose of this patch is to avoid future code duplication. Manfred Koizar
-
- 28 5月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location. Doc changes included.
-
- 27 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
advertised in RowDescription message. Depending on the physical tuple's column count is not really correct, since according to heap_getattr() conventions the tuple may be short some columns, which will automatically get read as nulls. Problem has been latent since forever, but was only exposed by recent change to skip a projection step in SELECT * FROM...
-
- 22 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
example from Rao Kumar. This is a very corner corner-case, requiring a minimum of three closely-spaced database crashes and an unlucky positioning of the second recovery's checkpoint record before you'd notice any problem. But the consequences are dire enough that it's a must-fix.
-
- 15 5月, 2003 1 次提交
-
-
由 Peter Eisentraut 提交于
class when lc_collate is not C.
-
- 14 5月, 2003 2 次提交
-
-
由 Tom Lane 提交于
only remnant of this failed experiment is that the server will take SET AUTOCOMMIT TO ON. Still TODO: provide some client-side autocommit logic in libpq.
-
由 Tom Lane 提交于
the type OID and typmod of the underlying base type. Per discussions a few weeks ago with Andreas Pflug and others. Note that this behavioral change affects both old- and new-protocol clients.
-
- 13 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
but that was enough tedium for one day. Along the way, move the few support routines for types xid and cid into a more logical place.
-
- 11 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
dead xlog segments are not considered part of a critical section. It is not necessary to force a database-wide panic if we get a failure in these operations. Per recent trouble reports.
-
- 10 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
messages. Binary I/O is now up and working, but only for a small set of datatypes (integers, text, bytea).
-
- 09 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
handle multiple 'formats' for data I/O. Restructure CommandDest and DestReceiver stuff one more time (it's finally starting to look a bit clean though). Code now matches latest 3.0 protocol document as far as message formats go --- but there is no support for binary I/O yet.
-
- 07 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
DestReceiver pointers instead of just CommandDest values. The DestReceiver is made at the point where the destination is selected, rather than deep inside the executor. This cleans up the original kluge implementation of tstoreReceiver.c, and makes it easy to support retrieving results from utility statements inside portals. Thus, you can now do fun things like Bind and Execute a FETCH or EXPLAIN command, and it'll all work as expected (e.g., you can Describe the portal, or use Execute's count parameter to suspend the output partway through). Implementation involves stuffing the utility command's output into a Tuplestore, which would be kind of annoying for huge output sets, but should be quite acceptable for typical uses of utility commands.
-
- 06 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
the column by table OID and column number, if it's a simple column reference. Along the way, get rid of reskey/reskeyop fields in Resdoms. Turns out that representation was not convenient for either the planner or the executor; we can make the planner deliver exactly what the executor wants with no more effort. initdb forced due to change in stored rule representation.
-
- 05 5月, 2003 1 次提交
-
-
由 Tom Lane 提交于
Only lightly tested as yet, since libpq doesn't know anything about 'em.
-
- 03 5月, 2003 4 次提交
-
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
Both plannable queries and utility commands are now always executed within Portals, which have been revamped so that they can handle the load (they used to be good only for single SELECT queries). Restructure code to push command-completion-tag selection logic out of postgres.c, so that it won't have to be duplicated between simple and extended queries. initdb forced due to addition of a field to Query nodes.
-
- 27 4月, 2003 1 次提交
-
-
由 Tom Lane 提交于
for tableID/columnID in RowDescription. (The latter isn't really implemented yet though --- the backend always sends zeroes, and libpq just throws away the data.)
-
- 26 4月, 2003 1 次提交
-
-
由 Tom Lane 提交于
initial values and runtime changes in selected parameters. This gets rid of the need for an initial 'select pg_client_encoding()' query in libpq, bringing us back to one message transmitted in each direction for a standard connection startup. To allow server version to be sent using the same GUC mechanism that handles other parameters, invent the concept of a never-settable GUC parameter: you can 'show server_version' but it's not settable by any GUC input source. Create 'lc_collate' and 'lc_ctype' never-settable parameters so that people can find out these settings without need for pg_controldata. (These side ideas were all discussed some time ago in pgsql-hackers, but not yet implemented.)
-
- 22 4月, 2003 1 次提交
-
-
由 Tom Lane 提交于
have length words. COPY OUT reimplemented per new protocol: it doesn't need \. anymore, thank goodness. COPY BINARY to/from frontend works, at least as far as the backend is concerned --- libpq's PQgetline API is not up to snuff, and will have to be replaced with something that is null-safe. libpq uses message length words for performance improvement (no cycles wasted rescanning long messages), but not yet for error recovery.
-
- 18 4月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 15 4月, 2003 1 次提交
-
-
由 Tom Lane 提交于
be reduced to a plain ERROR. Should make it at least a little less painful to deal with data-corruption problems.
-
- 28 3月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
(materialization into a tuple store) discussed on pgsql-hackers earlier. I've updated the documentation and the regression tests. Notes on the implementation: - I needed to change the tuple store API slightly -- it assumes that it won't be used to hold data across transaction boundaries, so the temp files that it uses for on-disk storage are automatically reclaimed at end-of-transaction. I added a flag to tuplestore_begin_heap() to control this behavior. Is changing the tuple store API in this fashion OK? - in order to store executor results in a tuple store, I added a new CommandDest. This works well for the most part, with one exception: the current DestFunction API doesn't provide enough information to allow the Executor to store results into an arbitrary tuple store (where the particular tuple store to use is chosen by the call site of ExecutorRun). To workaround this, I've temporarily hacked up a solution that works, but is not ideal: since the receiveTuple DestFunction is passed the portal name, we can use that to lookup the Portal data structure for the cursor and then use that to get at the tuple store the Portal is using. This unnecessarily ties the Portal code with the tupleReceiver code, but it works... The proper fix for this is probably to change the DestFunction API -- Tom suggested passing the full QueryDesc to the receiveTuple function. In that case, callers of ExecutorRun could "subclass" QueryDesc to add any additional fields that their particular CommandDest needed to get access to. This approach would work, but I'd like to think about it for a little bit longer before deciding which route to go. In the mean time, the code works fine, so I don't think a fix is urgent. - (semi-related) I added a NO SCROLL keyword to DECLARE CURSOR, and adjusted the behavior of SCROLL in accordance with the discussion on -hackers. - (unrelated) Cleaned up some SGML markup in sql.sgml, copy.sgml Neil Conway
-
- 25 3月, 2003 1 次提交
-
-
由 Tom Lane 提交于
returns NULL. This avoids out-of-buffers failures during many-way indexscans, as in Shraibman's complaint of 21-Mar.
-
- 24 3月, 2003 1 次提交
-
-
由 Tom Lane 提交于
NULL key pointer, indicating that the existing scan key should be reused. This behavior isn't used yet but will be needed for my planned fix to the keys_are_unique code.
-
- 21 3月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 15 3月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 11 3月, 2003 1 次提交
-
-
由 Tom Lane 提交于
PostgreSQL source code. Neil Conway
-
- 05 3月, 2003 1 次提交
-
-
由 Tom Lane 提交于
Adjustable threshold is gone in favor of keeping track of total requested page storage and doling out proportional fractions to each relation (with a minimum amount per relation, and some quantization of the results to avoid thrashing with small changes in page counts). Provide special- case code for indexes so as not to waste space storing useless page free space counts. Restructure internal data storage to be a flat array instead of list-of-chunks; this may cost a little more work in data copying when reorganizing, but allows binary search to be used during lookup_fsm_page_entry().
-
- 24 2月, 2003 4 次提交
-
-
由 Tom Lane 提交于
end of a btree index. This isn't super-effective, since we won't move nondeletable pages, but it's better than nothing. Also, improve stats displayed during VACUUM VERBOSE.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
older than current Xmin; we don't have to wait till it's older than GlobalXmin.
-
由 Tom Lane 提交于
deleting multiple index entries on a single index page. This makes for a very substantial reduction in the amount of WAL traffic during a large delete operation.
-