Commit Graph

46 Commits

Author SHA1 Message Date
Bruce Momjian
4ab7ea5ace Remove tabs from SGML files to help tag alingment and improve
detection of tabs are added in the future.
2007-02-16 03:50:29 +00:00
Bruce Momjian
8b4ff8b6a1 Wording cleanup for error messages. Also change can't -> cannot.
Standard English uses "may", "can", and "might" in different ways:

        may - permission, "You may borrow my rake."

        can - ability, "I can lift that log."

        might - possibility, "It might rain today."

Unfortunately, in conversational English, their use is often mixed, as
in, "You may use this variable to do X", when in fact, "can" is a better
choice.  Similarly, "It may crash" is better stated, "It might crash".
2007-02-01 19:10:30 +00:00
Bruce Momjian
a134ee3379 Update documentation on may/can/might:
Standard English uses "may", "can", and "might" in different ways:

        may - permission, "You may borrow my rake."

        can - ability, "I can lift that log."

        might - possibility, "It might rain today."

Unfortunately, in conversational English, their use is often mixed, as
in, "You may use this variable to do X", when in fact, "can" is a better
choice.  Similarly, "It may crash" is better stated, "It might crash".

Also update two error messages mentioned in the documenation to match.
2007-01-31 20:56:20 +00:00
Tom Lane
4431758229 Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LAST
per-column options for btree indexes.  The planner's support for this is still
pretty rudimentary; it does not yet know how to plan mergejoins with
nondefault ordering options.  The documentation is pretty rudimentary, too.
I'll work on improving that stuff later.

Note incompatible change from prior behavior: ORDER BY ... USING will now be
rejected if the operator is not a less-than or greater-than member of some
btree opclass.  This prevents less-than-sane behavior if an operator that
doesn't actually define a proper sort ordering is selected.
2007-01-09 02:14:16 +00:00
Bruce Momjian
32cebaecff Remove emacs info from footer of SGML files. 2006-09-16 00:30:20 +00:00
Tom Lane
108fe47301 Aggregate functions now support multiple input arguments. I also took
the opportunity to treat COUNT(*) as a zero-argument aggregate instead
of the old hack that equated it to COUNT(1); this is materially cleaner
(no more weird ANYOID cases) and ought to be at least a tiny bit faster.
Original patch by Sergey Koposov; review, documentation, simple regression
tests, pg_dump and psql support by moi.
2006-07-27 19:52:07 +00:00
Tom Lane
986085a7f0 Improve the representation of FOR UPDATE/FOR SHARE so that we can
support both FOR UPDATE and FOR SHARE in one command, as well as both
NOWAIT and normal WAIT behavior.  The more general code is actually
simpler and cleaner.
2006-04-30 18:30:40 +00:00
Bruce Momjian
497b5ad928 Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
Tom Lane
2a4fad1a0e Add NOWAIT option to SELECT FOR UPDATE/SHARE.
Original patch by Hans-Juergen Schoenig, revisions by Karel Zak
and Tom Lane.
2005-08-01 20:31:16 +00:00
Neil Conway
c3f1b0f4dd This doc patch replaces all inappropriate references to SQL:1999 when it
is used as if it were the latest (and/or still valid) SQL standard.
SQL:2003 is used in its place. Patch from Simon Riggs.
2005-07-14 06:17:36 +00:00
Tom Lane
bedb78d386 Implement sharable row-level locks, and use them for foreign key references
to eliminate unnecessary deadlocks.  This commit adds SELECT ... FOR SHARE
paralleling SELECT ... FOR UPDATE.  The implementation uses a new SLRU
data structure (managed much like pg_subtrans) to represent multiple-
transaction-ID sets.  When more than one transaction is holding a shared
lock on a particular row, we create a MultiXactId representing that set
of transactions and store its ID in the row's XMAX.  This scheme allows
an effectively unlimited number of row locks, just as we did before,
while not costing any extra overhead except when a shared lock actually
has to be shared.   Still TODO: use the regular lock manager to control
the grant order when multiple backends are waiting for a row lock.

Alvaro Herrera and Tom Lane.
2005-04-28 21:47:18 +00:00
Neil Conway
99bf6a1634 Updates to the bibliography. Patch from Michael Fuhr. 2005-02-21 02:21:03 +00:00
Bruce Momjian
1ced129aa3 More < and > cleanups converted to ampersands. 2005-01-22 22:56:36 +00:00
Neil Conway
ec7a6bd9a2 Replace "--" and "---" with "&mdash;" as appropriate, for better-looking
output.
2004-11-15 06:32:15 +00:00
PostgreSQL Daemon
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Tom Lane
18c10877a9 Make various links point to specific places instead of entire parts
(doubtless these are hangovers from the old separate-books days).
2003-08-10 01:20:34 +00:00
Bruce Momjian
54f7338fa1 This patch implements holdable cursors, following the proposal
(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-27 16:51:29 +00:00
Bruce Momjian
cde8bbc413 This patch makes the following changes to the documentation:
- more work from the SGML police

- some grammar improvements: rewriting a paragraph or two, replacing
contractions where (IMHO) appropriate

- fix missing utility commands in lock mode docs

- improve CLUSTER, REINDEX, SET SESSION AUTHORIZATION ref pages

Neil Conway
2003-02-19 04:06:28 +00:00
Bruce Momjian
0eed62f34d Reorder VARCHAR() to appear before CHAR() in docs. 2003-01-15 18:01:05 +00:00
Bruce Momjian
6077db92c2 Allow FOR UPDATE to appear after LIMIT/OFFSET to match MySQL syntax and as
a more logical ordering.
2002-08-28 14:35:37 +00:00
Bruce Momjian
0b73fe14f1 Back out EXCEPT/DIFFERENCE patch. Seems I forgot the details of this. 2002-03-15 16:16:31 +00:00
Bruce Momjian
5c1dc0280e Fix for docs from Patrick Welche:
! 	DIFFERENCE (&minus; or &setmn;): builds the set difference of
  	two tables. Let <classname>R</classname> and
<classname>S</classname>
again be two tables with the same
  	arity. <classname>R</classname> - <classname>S</classname>
--- 488,494 ----

        <listitem>
        <para>
! 	EXCEPT (&minus; or &setmn;): builds the set difference of
2002-03-15 15:55:58 +00:00
Bruce Momjian
3e76c9aaa5 Move ALL out of UNION|INTERSECT|EXCEPT syntax.
Alvaro Herrera
2001-10-23 16:42:36 +00:00
Bruce Momjian
f363b3177d Remove LIMIT #,# and suggest LIMIT # OFFSET #, per mailing list discussion. 2001-10-20 02:55:39 +00:00
Bruce Momjian
1aab783b59 Implement TODO item:
* Change LIMIT val,val to offset,limit to match MySQL

Documentation updates too.
2001-09-23 03:39:01 +00:00
Peter Eisentraut
c84c3d8fea more indices -> indexes 2001-05-22 16:00:00 +00:00
Peter Eisentraut
0967057b5d minor copy editing 2001-03-24 23:03:26 +00:00
Tom Lane
52cacf46b4 Improve documentation of JOIN syntax. Explain NATURAL as an alternative
to ON and USING for specifying the join condition, not as an independent
kind of join semantics.
2001-02-15 04:10:54 +00:00
Bruce Momjian
76beb79d27 in the tutorial, chapter 2., "Relational Data Model Formalities"
(sql490.htm), there is

"set of all k-tuples v1, v2, ... vk, such that v1 [isin] D1, v1 [isin] D1"

i assume it should be
"set of all k-tuples v1, v2, ... vk, such that v1 [isin] D1, v2 [isin] D2"

Divide by Zero
2001-01-27 05:07:28 +00:00
Bruce Momjian
f906597e50 Apply proper sql.sgml change. 2001-01-09 16:05:21 +00:00
Bruce Momjian
777137b7a9 Attached is a doc patch for doc/src/sgml/sql.sgml.
It adds information about SQL JOIN that is implemented in 7.1.

--
-------- Robert B. Easter
2001-01-09 15:48:18 +00:00
Tom Lane
1045304a3b Revise SELECT reference page for outer joins, subselect in FROM,
ISO-compliant UNION/INTERSECT/EXCEPT.  Revise discussion of rule
rewriter to reflect new subselect-in-FROM implementation of views.
Miscellaneous other cleanups.
2000-12-12 05:07:59 +00:00
Bruce Momjian
10f400ccee Fixes for examples from Thomas Diffenbach 2000-12-09 22:59:25 +00:00
Peter Eisentraut
1efd7330cb Rewrite system catalog documentation man page in DocBook with more recent
information.
2000-11-29 20:15:59 +00:00
Peter Eisentraut
72ad5fe15c Add id' attributes to all chapter' and `sect1' tags, to generate useful
names for the HTML files (e.g., not x4856.htm).
2000-09-29 20:21:34 +00:00
Bruce Momjian
b997a4b91f > Great! Please cc: the docs or hackers mailing lists to make sure the
> patches are not lost...

Aggregate doc patches:

The patches are attached. Be great if you could check them over to make
sure all relevant content (and markup) is there...

Isaac Wilcox
2000-06-20 18:04:18 +00:00
Thomas G. Lockhart
ee7f92b76b Fix up typos.
Move "query result" tables to left side of page (remove leading spaces).
2000-06-14 13:10:48 +00:00
Thomas G. Lockhart
45f79cae14 Fixups in content and markup for 7.0 release. 2000-05-02 20:02:03 +00:00
Thomas G. Lockhart
30e355fc80 Fix path to initdb in installation instructions.
General cleanup for 7.0.
2000-04-07 13:30:58 +00:00
Thomas G. Lockhart
73d8bbc2ac Minor markup changes. Refer to (".../catalog") in the emacs hints. 2000-03-31 03:27:42 +00:00
Thomas G. Lockhart
9474dd7ed6 Add chapters on CVS access, MVCC, SQL theory to the docs.
Add an appendix with more details on date/time attributes and handling.
Update most references to Postgres version numbers to 6.5,
 *except* for the porting list which will require a report
 from a successful installation to be updated.
1999-05-26 17:30:30 +00:00
Thomas G. Lockhart
654f8f0b51 Finish initial markup of cvs.sgml, and include it in the programmer's guide
and the integrated doc. Clean up other markup.
1999-05-22 02:27:25 +00:00
Thomas G. Lockhart
32cfa65e49 Rearrange and consolidate the Admin Guide.
Add reference pages for utilities and remove standalone chapters for same.
Add material for an appendix on date/time properties, but not yet
 integrated with the User's Guide.
Break up the former chapter on pg_options
 into Admin and Programmer's Guides.
1999-05-20 05:39:29 +00:00
Thomas G. Lockhart
e1900b2b0c First version of markup which can run through jade for html.
Probably not acceptable yet. Need to check some math symbols and markup.
1999-05-04 02:18:34 +00:00
Bruce Momjian
0d01fd4e19 Add EXCEPT/INTERSECT doc changes. 1999-03-19 02:41:41 +00:00
Thomas G. Lockhart
bda6246664 Introduction to SQL from Stefan. Not yet marked up, but will go into
the User's Guide sometime soon.
1999-01-19 16:09:16 +00:00