diff options
author | unknown <Administrator@co3064164-a.> | 2001-10-15 16:04:19 +1000 |
---|---|---|
committer | unknown <Administrator@co3064164-a.> | 2001-10-15 16:04:19 +1000 |
commit | 13857c320740b03fa1badd86ad13ec97d89db3ca (patch) | |
tree | 439ff3cc01ad019e71a7551a9ae9291120a05a2c | |
parent | 22a41a2df8df53f3d320741239303c79275b510a (diff) | |
download | mariadb-git-13857c320740b03fa1badd86ad13ec97d89db3ca.tar.gz |
Moved section on HANDLER command.
Fixed UNION from @subsection to @subsubsection under SELECT.
-rw-r--r-- | Docs/manual.texi | 106 |
1 files changed, 54 insertions, 52 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 61fcc80beeb..f94d0e96ea3 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -27197,7 +27197,6 @@ Things that are not yet supported: * Data Definition:: Data Definition: @code{CREATE}, @code{DROP}, @code{ALTER} * Basic User Commands:: Basic MySQL User Utility Commands * Transactional Commands:: MySQL Transactional and Locking Commands -* HANDLER:: * Fulltext Search:: MySQL Full-text Search @end menu @@ -32016,7 +32015,7 @@ facilitate replication testing. @menu * SELECT:: @code{SELECT} Syntax -* UNION:: +* HANDLER:: * INSERT:: @code{INSERT} Syntax * INSERT DELAYED:: @code{INSERT DELAYED} syntax * UPDATE:: @code{UPDATE} Syntax @@ -32026,7 +32025,7 @@ facilitate replication testing. * LOAD DATA:: @code{LOAD DATA INFILE} Syntax @end menu -@node SELECT, UNION, Data Manipulation, Data Manipulation +@node SELECT, HANDLER, Data Manipulation, Data Manipulation @subsection @code{SELECT} Syntax @findex SELECT @@ -32319,9 +32318,10 @@ the examined rows will be write locked. @menu * JOIN:: @code{JOIN} Syntax +* UNION:: @end menu -@node JOIN, , SELECT, SELECT +@node JOIN, UNION, SELECT, SELECT @subsubsection @code{JOIN} Syntax @findex JOIN @@ -32471,8 +32471,8 @@ mysql> select * from table1 IGNORE INDEX (key3) WHERE key1=1 and key2=2 AND @xref{LEFT JOIN optimization, , @code{LEFT JOIN} optimization}. -@node UNION, INSERT, SELECT, Data Manipulation -@subsection @code{UNION} Syntax +@node UNION, , JOIN, SELECT +@subsubsection @code{UNION} Syntax @findex UNION @@ -32504,7 +32504,52 @@ returned rows will be unique, like if you had done a @code{DISTINCT} for the total result set. If you specify @code{ALL}, then you will get all matching rows from all the used @code{SELECT} statements. -@node INSERT, INSERT DELAYED, UNION, Data Manipulation + +@findex HANDLER +@node HANDLER, INSERT, SELECT, Data Manipulation +@subsection @code{HANDLER} Syntax + +@example +HANDLER table OPEN [ AS alias ] +HANDLER table READ index @{ = | >= | <= | < @} (value1, value2, ... ) [ WHERE ... ] [LIMIT ... ] +HANDLER table READ index @{ FIRST | NEXT | PREV | LAST @} [ WHERE ... ] [LIMIT ... ] +HANDLER table READ @{ FIRST | NEXT @} [ WHERE ... ] [LIMIT ... ] +HANDLER table CLOSE +@end example + +The @code{HANDLER} statement provides direct access to MySQL table +interface, bypassing SQL optimizer. Thus, it is faster then SELECT. + +The first form of @code{HANDLER} statement opens a table, making +in accessible via the following @code{HANDLER ... READ} routines. +This table object is not shared by other threads an will not be closed +until the thread calls @code{HANDLER table_name CLOSE} or the thread dies. + +The second form fetches one (or, specified by @code{LIMIT} clause) row +where the index specified complies to the condition and @code{WHERE} +condition is met. If the index consists of several parts (spans over +several columns) the values are specified in comma-separated list, +providing values only for few first columns is possible. + +The third form fetches one (or, specified by @code{LIMIT} clause) row +from the table in index order, matching @code{WHERE} condition. + +The fourth form (without index specification) fetches one (or, specified +by @code{LIMIT} clause) row from the table in natural row order (as stored +in data file) matching @code{WHERE} condition. It is faster than +@code{HANDLER table READ index} when full table scan is desired. + +The last form closes the table, opened with @code{HANDLER ... OPEN}. + +@code{HANDLER} is somewhat low-level statement, for example it does not +provide consistency. That is @code{HANDLER ... OPEN} does @strong{NOT} +takes a snapshot of the table, and does @strong{NOT} locks the table. The +above means, that after @code{HANDLER ... OPEN} table data can be +modified (by this or other thread) and these modifications may appear only +partially in @code{HANDLER ... NEXT} or @code{HANDLER ... PREV} scans. + + +@node INSERT, INSERT DELAYED, HANDLER, Data Manipulation @subsection @code{INSERT} Syntax @findex INSERT @@ -34646,7 +34691,7 @@ The @code{SHOW} statement provides similar information. @xref{SHOW, , @code{SHOW}}. -@node Transactional Commands, HANDLER, Basic User Commands, Reference +@node Transactional Commands, Fulltext Search, Basic User Commands, Reference @section MySQL Transactional and Locking Commands @menu @@ -34879,50 +34924,7 @@ future transactions. You can set the default isolation level for @code{mysqld} with @code{--transaction-isolation=...}. @xref{Command-line options}. -@findex HANDLER -@node HANDLER, Fulltext Search, Transactional Commands, Reference -@section @code{HANDLER} Syntax - -@example -HANDLER table OPEN [ AS alias ] -HANDLER table READ index @{ = | >= | <= | < @} (value1, value2, ... ) [ WHERE ... ] [LIMIT ... ] -HANDLER table READ index @{ FIRST | NEXT | PREV | LAST @} [ WHERE ... ] [LIMIT ... ] -HANDLER table READ @{ FIRST | NEXT @} [ WHERE ... ] [LIMIT ... ] -HANDLER table CLOSE -@end example - -The @code{HANDLER} statement provides direct access to MySQL table -interface, bypassing SQL optimizer. Thus, it is faster then SELECT. - -The first form of @code{HANDLER} statement opens a table, making -in accessible via the following @code{HANDLER ... READ} routines. -This table object is not shared by other threads an will not be closed -until the thread calls @code{HANDLER table_name CLOSE} or the thread dies. - -The second form fetches one (or, specified by @code{LIMIT} clause) row -where the index specified complies to the condition and @code{WHERE} -condition is met. If the index consists of several parts (spans over -several columns) the values are specified in comma-separated list, -providing values only for few first columns is possible. - -The third form fetches one (or, specified by @code{LIMIT} clause) row -from the table in index order, matching @code{WHERE} condition. - -The fourth form (without index specification) fetches one (or, specified -by @code{LIMIT} clause) row from the table in natural row order (as stored -in data file) matching @code{WHERE} condition. It is faster than -@code{HANDLER table READ index} when full table scan is desired. - -The last form closes the table, opened with @code{HANDLER ... OPEN}. - -@code{HANDLER} is somewhat low-level statement, for example it does not -provide consistency. That is @code{HANDLER ... OPEN} does @strong{NOT} -takes a snapshot of the table, and does @strong{NOT} locks the table. The -above means, that after @code{HANDLER ... OPEN} table data can be -modified (by this or other thread) and these modifications may appear only -partially in @code{HANDLER ... NEXT} or @code{HANDLER ... PREV} scans. - -@node Fulltext Search, , HANDLER, Reference +@node Fulltext Search, , Transactional Commands, Reference @section MySQL Full-text Search @cindex searching, full-text |