summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2003-03-28Fix number of columns in SGML, from Weiping HeBruce Momjian
2003-03-27This patch implements holdable cursors, following the proposalBruce 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
2003-03-27Remove email file.Bruce Momjian
2003-03-27Done:Bruce Momjian
> o -Allow cursors outside transactions
2003-03-27* Make pg_get_triggerdef documentation consistent with other pg_get_Bruce Momjian
functions * Document pg_conversion_is_visible() which was created in one of my previous patches and didn't get documented for some reason Christopher Kings-Lynne
2003-03-27to_char fixes, Karel ZakBruce Momjian
2003-03-25Merge documentation into one book. (Build with "make html".) ReplacePeter Eisentraut
vague cross-references with real links.
2003-03-25I mean, bison 1.875. :-)Bruce Momjian
2003-03-25Mention bison 1.85 is now required.Bruce Momjian
2003-03-25Use PQfreemem() consistently, and document its use for Notify.Bruce Momjian
Keep PQfreeNotify() around for binary compatibility.
2003-03-24Prevent multiple queries in a single string into a single transactionBruce Momjian
when autocommit is off, and document grouping when autocommit is on.
2003-03-24Another big editing pass for consistent content and presentation.Peter Eisentraut
2003-03-23Instead of storing pg_statistic stavalues entries as text strings, storeTom Lane
them as arrays of the internal datatype. This requires treating the stavalues columns as 'anyarray' rather than 'text[]', which is not 100% kosher but seems to work fine for the purposes we need for pg_statistic. Perhaps in the future 'anyarray' will be allowed more generally.
2003-03-22Add PQfreemem() call for Win32.Bruce Momjian
2003-03-21Add hostmask() function:Bruce Momjian
+ <entry><function>hostmask</function>(<type>inet</type>)</entry> + <entry><type>inet</type></entry> + <entry>construct hostmask for network</entry> + <entry><literal>hostmask('192.168.23.20/30')</literal></entry> + <entry><literal>0.0.0.3</literal></entry> Greg Wickham
2003-03-21Remove mention of transactions for insensitive cursors.Bruce Momjian
2003-03-21Done:Bruce Momjian
> * -Change NUMERIC data type to use base 10,000 internally
2003-03-21Reimplement NUMERIC datatype using base-10000 arithmetic; also improveTom Lane
some of the algorithms for higher functions. I see about a factor of ten speedup on the 'numeric' regression test, but it's unlikely that that test is representative of real-world applications. initdb forced due to change of on-disk representation for NUMERIC.
2003-03-20This is not the only place in the system catalogs where NULL isBruce Momjian
effectively used to mean a default value that could also be spelled out explicitly. (ACLs behave that way, and useconfig/datconfig do too IIRC.) It's a bit of a hack, but it saves table space and backend code --- without this convention the default would have to be inserted "manually" since we have no mechanism to supply defaults when C code is forming a new catalog tuple. I'm inclined to leave the code alone. But Alvaro is right that it'd be good to point out the 'infinity' option in the CREATE USER and ALTER USER man pages. (Doc patch please?) Alvaro Herrera
2003-03-20The documentation for SELECT is incorrect in a sense: the syntax for aBruce Momjian
join is defined as: from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column_list ) ] However, if the join_type is an INNER or OUTER join, an ON, USING, or NATURAL clause *must* be specified (it's not optional, as that segment of the docs suggest). I'm not exactly sure what the best way to fix this is, so I've attached a patch adding a FIXME comment to the relevant section of the SGML. If anyone has any ideas on the proper way to outline join syntax, please speak up. Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC
2003-03-20This patch creates a function named pg_get_triggerdef that takes the oid ofBruce Momjian
a trigger as its parameter. It is basically copied from the pg_dump code. Christopher Kings-Lynne
2003-03-20Now that the CLUSTER ALL machinery is in place, the clusterdb script canBruce Momjian
be simplified (I'd thought that it can even be removed). This patch does that. Alvaro Herrera
2003-03-20Add ALTER TABLE <tablename> CLUSTER ON <indexname>Bruce Momjian
Alvaro Herrera
2003-03-20It would also be handy if users could see their own pg_stat_activityBruce Momjian
queries while the rest remain blank. Kevin Brown
2003-03-20Fix typo in SGML tags.Bruce Momjian
2003-03-20Re-add type conversion examples.Bruce Momjian
2003-03-20Todo items:Bruce Momjian
Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values Also updated create sequence docs to mention NO MINVALUE, & NO MAXVALUE. New Files: doc/src/sgml/ref/alter_sequence.sgml src/test/regress/expected/sequence.out src/test/regress/sql/sequence.sql ALTER SEQUENCE is NOT transactional. It behaves similarly to setval(). It matches the proposed SQL200N spec, as well as Oracle in most ways -- Oracle lacks RESTART WITH for some strange reason. -- Rod Taylor <rbt@rbt.ca>
2003-03-20Done:Bruce Momjian
> o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
2003-03-20PGRES_POLLING_ACTIVE is unused, keep for backward compatibility.Bruce Momjian
Lennert Buytenhek
2003-03-20(Now featuring documentation: fixed some typos, expanded theBruce Momjian
Envrironment and Files section, explained exactly what -w does) This is a patch which allows pg_ctl to make an intelligent guess as to the proper port when running 'psql -l' to determine if the database has started up (the -w flag). The environment variable PGPORT is used. If that is not found, it checks if a specific port has been set inside the postgresql.conf file. If it is has not, it uses the port that Postgres was compiled with. Greg Sabino Mullane greg@turnstep.com
2003-03-20> I can see a couple possible downsides: (a) the library might have someBruce Momjian
> weird behavior across fork boundaries; (b) the additional memory space > that has to be duplicated into child processes will cost something per > child launch, even if the child never uses it. But these are only > arguments that it might not *always* be a prudent thing to do, not that > we shouldn't give the DBA the tool to do it if he wants. So fire away. Here is a patch for the above, including a documentation update. It creates a new GUC variable "preload_libraries", that accepts a list in the form: preload_libraries = '$libdir/mylib1:initfunc,$libdir/mylib2' If ":initfunc" is omitted or not found, no initialization function is executed, but the library is still preloaded. If "$libdir/mylib" isn't found, the postmaster refuses to start. In my testing with PL/R, it reduces the first call to a PL/R function (after connecting) from almost 2 seconds, down to about 8 ms. Joe Conway
2003-03-20Minor doc patch: create functionBruce Momjian
Gavin Sherry
2003-03-20Item done:Bruce Momjian
> * -Add start time to pg_stat_activity
2003-03-20Add start time to pg_stat_activityBruce Momjian
Neil Conway
2003-03-19Remove typecasting section that isn't needed anymore.Bruce Momjian
2003-03-19Fix typo:Bruce Momjian
< * Rod is Rod Taylor <pg@rbt.ca)> > * Rod is Rod Taylor <pg@rbt.ca>
2003-03-18Reimplement create and drop scripts in C, to reduce repetitivePeter Eisentraut
connections, increase robustness, add NLS, and prepare for Windows port. (vacuumdb and clusterdb will follow later.)
2003-03-18Remove duplicate ANALYZE recommendation in pg_dump.Bruce Momjian
2003-03-18Add to mmap discussion.Bruce Momjian
2003-03-18Add mention of ANALYZE after object restore.Bruce Momjian
2003-03-17Add mention of new sets returning functions capability.Bruce Momjian
2003-03-17Update links, from Ian BarwickBruce Momjian
2003-03-17Add:Bruce Momjian
> * Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple columns
2003-03-17Increase max known database size.Bruce Momjian
2003-03-14Update name of GUC var:Bruce Momjian
< * Add GUC log_statement_duration to print statement and >= min duration > * Add GUC log_statement_and_duration to print statement and >= min duration
2003-03-14Add:Bruce Momjian
> * Add GUC log_statement_duration to print statement and >= min duration
2003-03-13Big editing for consistent content and presentation.Peter Eisentraut
2003-03-11Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n optionsTom Lane
for FETCH and MOVE.
2003-03-10Update German FAQBruce Momjian
Ian Barwick
2003-03-10Restructure parsetree representation of DECLARE CURSOR: now it's aTom Lane
utility statement (DeclareCursorStmt) with a SELECT query dangling from it, rather than a SELECT query with a few unusual fields in it. Add code to determine whether a planned query can safely be run backwards. If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run backwards by adding a Materialize plan node if it can't. Without SCROLL, you get an error if you try to fetch backwards from a cursor that can't handle it. (There is still some discussion about what the exact behavior should be, but this is necessary infrastructure in any case.) Along the way, make EXPLAIN DECLARE CURSOR work.