mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	Added documentation about GEMINI tables
This commit is contained in:
		
							
								
								
									
										178
									
								
								Docs/manual.texi
									
									
									
									
									
								
							
							
						
						
									
										178
									
								
								Docs/manual.texi
									
									
									
									
									
								
							| @@ -487,7 +487,8 @@ MySQL Table Types | |||||||
| * ISAM::                        ISAM tables | * ISAM::                        ISAM tables | ||||||
| * HEAP::                        HEAP tables | * HEAP::                        HEAP tables | ||||||
| * BDB::                         BDB or Berkeley_db tables | * BDB::                         BDB or Berkeley_db tables | ||||||
| * INNOBASE::                     | * GEMINI::                      GEMINI tables | ||||||
|  | * INNOBASE::                    INNOBASE tables | ||||||
| 
 | 
 | ||||||
| MyISAM Tables | MyISAM Tables | ||||||
| 
 | 
 | ||||||
| @@ -509,11 +510,18 @@ BDB or Berkeley_db Tables | |||||||
| * BDB TODO::                     | * BDB TODO::                     | ||||||
| * BDB errors::                   | * BDB errors::                   | ||||||
| 
 | 
 | ||||||
|  | GEMINI tables | ||||||
|  | 
 | ||||||
|  | * GEMINI overview:: | ||||||
|  | * GEMINI start:: | ||||||
|  | * GEMINI features:: | ||||||
|  | * GEMINI TODO:: | ||||||
|  | 
 | ||||||
| INNOBASE Tables | INNOBASE Tables | ||||||
| 
 | 
 | ||||||
| * INNOBASE overview::            | * INNOBASE overview::            | ||||||
| * Innobase startup options::     | * INNOBASE start::     | ||||||
| * Using Innobase tables::        | * Using INNOBASE tables::        | ||||||
| * INNOBASE restrictions::        | * INNOBASE restrictions::        | ||||||
| 
 | 
 | ||||||
| MySQL Tutorial | MySQL Tutorial | ||||||
| @@ -582,7 +590,7 @@ Replication in MySQL | |||||||
| * Replication Options::         Replication Options in my.cnf | * Replication Options::         Replication Options in my.cnf | ||||||
| * Replication SQL::             SQL Commands related to replication | * Replication SQL::             SQL Commands related to replication | ||||||
| * Replication FAQ::             Frequently Asked Questions about replication | * Replication FAQ::             Frequently Asked Questions about replication | ||||||
| * Troubleshooting Replication:: Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication. | * Troubleshooting Replication:: Troubleshooting Replication | ||||||
| 
 | 
 | ||||||
| Getting Maximum Performance from MySQL | Getting Maximum Performance from MySQL | ||||||
| 
 | 
 | ||||||
| @@ -4198,7 +4206,7 @@ Please report bad or out-of-date mirrors to @email{webmaster@@mysql.com}. | |||||||
| @c @uref{http://mysql.tradenet.ee, WWW} | @c @uref{http://mysql.tradenet.ee, WWW} | ||||||
| 
 | 
 | ||||||
| @item | @item | ||||||
| @c EMAIL: tonu@spamm.ee (Tõnu Samuel) | @c EMAIL: tonu@spam.ee (Tõnu Samuel) | ||||||
| @image{Flags/estonia} Estonia [OKinteractive] @ | @image{Flags/estonia} Estonia [OKinteractive] @ | ||||||
| @uref{http://mysql.mirror.ok.ee, WWW} | @uref{http://mysql.mirror.ok.ee, WWW} | ||||||
| 
 | 
 | ||||||
| @@ -9527,6 +9535,12 @@ problems. @xref{Windows}. | |||||||
| If you are using BDB (Berkeley DB) tables, you should familiarize | If you are using BDB (Berkeley DB) tables, you should familiarize | ||||||
| yourself with the different BDB specific startup options. @xref{BDB start}. | yourself with the different BDB specific startup options. @xref{BDB start}. | ||||||
| 
 | 
 | ||||||
|  | If you are using Gemini tables, refer to the Gemini-specific startup options. | ||||||
|  | @xref{GEMINI start}. | ||||||
|  | 
 | ||||||
|  | If you are using Innobase tables, refer to the Innobase-specific startup | ||||||
|  | options. @xref{INNOBASE start}. | ||||||
|  | 
 | ||||||
| @node Automatic start, Command-line options, Starting server, Post-installation | @node Automatic start, Command-line options, Starting server, Post-installation | ||||||
| @subsection Starting and Stopping MySQL Automatically | @subsection Starting and Stopping MySQL Automatically | ||||||
| @cindex starting, the server automatically | @cindex starting, the server automatically | ||||||
| @@ -10911,9 +10925,10 @@ Many of our users who have speed foremost in their minds are not at all | |||||||
| concerned about transactions. For them transactions are not an | concerned about transactions. For them transactions are not an | ||||||
| issue. For those of our users who are concerned with or have wondered | issue. For those of our users who are concerned with or have wondered | ||||||
| about transactions vis-a-vis @strong{MySQL}, there is a ``@strong{MySQL} | about transactions vis-a-vis @strong{MySQL}, there is a ``@strong{MySQL} | ||||||
| way'' as we have outlined above.  For those where safety is more important | way'' as we have outlined above.  For those where safety is more | ||||||
| than speed, we recommend them to use the @code{BDB} tables for all their | important than speed, we recommend them to use the @code{BDB}, | ||||||
| critical data. @xref{BDB}. | @code{GEMINI} or @code{INNOBASE} tables for all their critical | ||||||
|  | data. @xref{Table types}. | ||||||
| 
 | 
 | ||||||
| One final note: We are currently working on a safe replication schema | One final note: We are currently working on a safe replication schema | ||||||
| that we believe to be better than any commercial replication system we | that we believe to be better than any commercial replication system we | ||||||
| @@ -11139,12 +11154,14 @@ Entry level SQL92. ODBC levels 0-2. | |||||||
| @cindex tables, updating | @cindex tables, updating | ||||||
| @cindex updating, tables | @cindex updating, tables | ||||||
| @cindex @code{BDB} tables | @cindex @code{BDB} tables | ||||||
| 
 | @cindex @code{GEMINI} tables | ||||||
|  | @cindex @code{INNOBASE} tables | ||||||
| 
 | 
 | ||||||
| The following mostly applies only for @code{ISAM}, @code{MyISAM}, and | The following mostly applies only for @code{ISAM}, @code{MyISAM}, and | ||||||
| @code{HEAP} tables. If you only use transaction-safe tables (@code{BDB} | @code{HEAP} tables. If you only use transaction-safe tables (@code{BDB}, | ||||||
| tables) in an a update, you can do @code{COMMIT} and @code{ROLLBACK} also | @code{GEMINI} or @code{INNOBASE} tables) in an a update, you can do | ||||||
| with @strong{MySQL}.  @xref{COMMIT}. | @code{COMMIT} and @code{ROLLBACK} also with @strong{MySQL}. | ||||||
|  | @xref{COMMIT}. | ||||||
| 
 | 
 | ||||||
| The problem with handling @code{COMMIT}-@code{ROLLBACK} efficiently with | The problem with handling @code{COMMIT}-@code{ROLLBACK} efficiently with | ||||||
| the above table types would require a completely different table layout | the above table types would require a completely different table layout | ||||||
| @@ -18339,6 +18356,7 @@ The different table types are: | |||||||
| 
 | 
 | ||||||
| @multitable @columnfractions .20 .80 | @multitable @columnfractions .20 .80 | ||||||
| @item BDB or Berkeley_db @tab Transaction-safe tables with page locking. @xref{BDB}. | @item BDB or Berkeley_db @tab Transaction-safe tables with page locking. @xref{BDB}. | ||||||
|  | @item GEMINI @tab Transaction-safe tables with row-level locking @xref{GEMINI}. | ||||||
| @item HEAP @tab The data for this table is only stored in memory. @xref{HEAP}. | @item HEAP @tab The data for this table is only stored in memory. @xref{HEAP}. | ||||||
| @item ISAM @tab The original table handler. @xref{ISAM}. | @item ISAM @tab The original table handler. @xref{ISAM}. | ||||||
| @item INNOBASE @tab Transaction-safe tables with row locking. @xref{INNOBASE}. | @item INNOBASE @tab Transaction-safe tables with row locking. @xref{INNOBASE}. | ||||||
| @@ -22608,6 +22626,7 @@ used them. | |||||||
| @cindex table types, choosing | @cindex table types, choosing | ||||||
| @cindex @code{BDB} table type | @cindex @code{BDB} table type | ||||||
| @cindex @code{Berkeley_db} table type | @cindex @code{Berkeley_db} table type | ||||||
|  | @cindex @code{GEMINI} table type | ||||||
| @cindex @code{HEAP} table type | @cindex @code{HEAP} table type | ||||||
| @cindex @code{ISAM} table type | @cindex @code{ISAM} table type | ||||||
| @cindex @code{INNOBASE} table type | @cindex @code{INNOBASE} table type | ||||||
| @@ -22678,7 +22697,8 @@ of both worlds. | |||||||
| * ISAM::                        ISAM tables | * ISAM::                        ISAM tables | ||||||
| * HEAP::                        HEAP tables | * HEAP::                        HEAP tables | ||||||
| * BDB::                         BDB or Berkeley_db tables | * BDB::                         BDB or Berkeley_db tables | ||||||
| * INNOBASE::                     | * GEMINI::                      GEMINI tables | ||||||
|  | * INNOBASE::                    INNOBASE tables | ||||||
| @end menu | @end menu | ||||||
| 
 | 
 | ||||||
| @node MyISAM, MERGE, Table types, Table types | @node MyISAM, MERGE, Table types, Table types | ||||||
| @@ -23295,7 +23315,7 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2) | |||||||
| 
 | 
 | ||||||
| @cindex tables, @code{BDB} | @cindex tables, @code{BDB} | ||||||
| @cindex tables, @code{Berkeley DB} | @cindex tables, @code{Berkeley DB} | ||||||
| @node BDB, INNOBASE, HEAP, Table types | @node BDB, GEMINI, HEAP, Table types | ||||||
| @section BDB or Berkeley_db Tables | @section BDB or Berkeley_db Tables | ||||||
| 
 | 
 | ||||||
| @menu | @menu | ||||||
| @@ -23310,9 +23330,8 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2) | |||||||
| @node BDB overview, BDB install, BDB, BDB | @node BDB overview, BDB install, BDB, BDB | ||||||
| @subsection Overview over BDB tables | @subsection Overview over BDB tables | ||||||
| 
 | 
 | ||||||
| BDB tables are included in the @strong{MySQL} source distribution | BDB is included in the @strong{MySQL} source distribution starting | ||||||
| starting from 3.23.34 and will be activated in the @strong{MySQL}-max | from 3.23.34 and will be activated in the @strong{MySQL}-max binary. | ||||||
| binary. |  | ||||||
| 
 | 
 | ||||||
| Berkeley DB (@uref{http://www.sleepycat.com}) has provided | Berkeley DB (@uref{http://www.sleepycat.com}) has provided | ||||||
| @strong{MySQL} with a transaction-safe table handler. This will survive | @strong{MySQL} with a transaction-safe table handler. This will survive | ||||||
| @@ -23509,22 +23528,103 @@ This is not fatal but we don't recommend that you delete tables if you are | |||||||
| not in @code{auto_commit} mode, until this problem is fixed (the fix is | not in @code{auto_commit} mode, until this problem is fixed (the fix is | ||||||
| not trivial). | not trivial). | ||||||
| 
 | 
 | ||||||
| @node INNOBASE,  , BDB, Table types | @cindex tables, @code{GEMINI} | ||||||
|  | @node GEMINI, INNOBASE, BDB, Table types | ||||||
|  | @section GEMINI Tables | ||||||
|  | 
 | ||||||
|  | @menu | ||||||
|  | * GEMINI overview:: | ||||||
|  | * GEMINI start:: | ||||||
|  | * GEMINI features:: | ||||||
|  | * GEMINI TODO:: | ||||||
|  | @end menu | ||||||
|  | 
 | ||||||
|  | @node GEMINI overview, GEMINI start, GEMINI, GEMINI | ||||||
|  | @subsection Overview of GEMINI tables | ||||||
|  | 
 | ||||||
|  | The @code{GEMINI} table type is developed and supported by NuSphere Corporation | ||||||
|  | (@uref{http://www.nusphere.com}).  It features row-level locking, transaction | ||||||
|  | support (@code{COMMIT} and @code{ROLLBACK}), and automatic crash recovery. | ||||||
|  | 
 | ||||||
|  | @code{GEMINI} tables will be included in the @strong{MySQL} 4.0 source | ||||||
|  | distribution. | ||||||
|  | 
 | ||||||
|  | @node GEMINI start, GEMINI features, GEMINI overview, GEMINI | ||||||
|  | @subsection GEMINI startup options | ||||||
|  | 
 | ||||||
|  | If you are running with @code{AUTOCOMMIT=0} then your changes in @code{GEMINI} | ||||||
|  | tables will not be updated until you execute @code{COMMIT}.  Instead of commit | ||||||
|  | you can execute @code{ROLLBACK} to forget your changes. @xref{COMMIT}. | ||||||
|  | 
 | ||||||
|  | If you are running with @code{AUTOCOMMIT=1} (the default), your changes | ||||||
|  | will be committed immediately.  You can start an extended transaction with | ||||||
|  | the @code{BEGIN WORK} SQL command, after which your changes will not be | ||||||
|  | committed until you execute @code{COMMIT} (or decide to @code{ROLLBACK} | ||||||
|  | the changes). | ||||||
|  | 
 | ||||||
|  | The following options to @code{mysqld} can be used to change the behavior of | ||||||
|  | GEMINI tables: | ||||||
|  | 
 | ||||||
|  | @multitable @columnfractions .30 .70 | ||||||
|  | @item @strong{Option} @tab @strong{Meaning} | ||||||
|  | @item @code{--gemini-full-recovery} @tab Default. | ||||||
|  | @item @code{--gemini-no-recovery} @tab Turn off recovery logging.  Not recommended. | ||||||
|  | @item @code{--gemini-lazy-commit} @tab Relaxes the flush log at commit rule. | ||||||
|  | @item @code{--gemini-unbuffered-io} @tab All database writes bypass OS cache. | ||||||
|  | @item @code{--skip-gemini} @tab Don't use Gemini. | ||||||
|  | @item @code{--O gemini_db_buffers=#} @tab Number of database buffers in database cache. | ||||||
|  | @item @code{--O gemini_connection_limit=#} @tab Maximum number of connections to Gemini. | ||||||
|  | @item @code{--O gemini_spin_retries=#} @tab Spin lock retries (optimization). | ||||||
|  | @item @code{--O gemini_io_threads=#} @tab Number of background I/O threads. | ||||||
|  | @item @code{--O gemini_lock_table_size=#} @tab Set the maximum number of locks.  Default 4096. | ||||||
|  | @end multitable | ||||||
|  | 
 | ||||||
|  | If you use @code{--skip-gemini}, @strong{MySQL} will not initialize the | ||||||
|  | Gemini table handler, saving memory; you cannot use Gemini tables if you | ||||||
|  | use @code{--skip-gemini}. | ||||||
|  | 
 | ||||||
|  | @node GEMINI features, GEMINI TODO, GEMINI start, GEMINI | ||||||
|  | @subsection Features of @code{GEMINI} tables: | ||||||
|  | 
 | ||||||
|  | @itemize @bullet | ||||||
|  | @item | ||||||
|  | If a query result can be resolved solely from the index key, Gemini will | ||||||
|  | not read the actual row stored in the database. | ||||||
|  | @item | ||||||
|  | Locking on Gemini tables is done at row level. | ||||||
|  | @item | ||||||
|  | @code{SELECT COUNT(*) FROM table_name} is fast; Gemini maintains a count | ||||||
|  | of the number of rows in the table. | ||||||
|  | @end itemize | ||||||
|  | 
 | ||||||
|  | @node GEMINI TODO,  , GEMINI features, GEMINI | ||||||
|  | @subsection Current limitations of @code{GEMINI} tables: | ||||||
|  | 
 | ||||||
|  | @itemize @bullet | ||||||
|  | @item | ||||||
|  | BLOB columns are not supported in @code{GEMINI} tables. | ||||||
|  | @item | ||||||
|  | The maximum number of concurrent users accessing @code{GEMINI} tables is | ||||||
|  | limited by @code{gemini_connection_limit}.  The default is 100 users. | ||||||
|  | @end itemize | ||||||
|  | 
 | ||||||
|  | NuSphere is working on removing these limitations. | ||||||
|  | 
 | ||||||
|  | @node INNOBASE,  , GEMINI, Table types | ||||||
| @section INNOBASE Tables | @section INNOBASE Tables | ||||||
| 
 | 
 | ||||||
| @menu | @menu | ||||||
| * INNOBASE overview::            | * INNOBASE overview::            | ||||||
| * Innobase startup options::     | * INNOBASE start::              INNOBASE startup options | ||||||
| * Using Innobase tables::        | * Using INNOBASE tables::       Using INNOBASE tables | ||||||
| * INNOBASE restrictions::        | * INNOBASE restrictions::       Some restrictions on @code{INNOBASE} tables: | ||||||
| @end menu | @end menu | ||||||
| 
 | 
 | ||||||
| @node INNOBASE overview, Innobase startup options, INNOBASE, INNOBASE | @node INNOBASE overview, INNOBASE start, INNOBASE, INNOBASE | ||||||
| @subsection INNOBASE Tables overview | @subsection INNOBASE Tables overview | ||||||
| 
 | 
 | ||||||
| Innobase tables are included in the @strong{MySQL} source distribution | Innobase is included in the @strong{MySQL} source distribution starting | ||||||
| starting from 3.23.34 and will be activated in the @strong{MySQL}-max | from 3.23.34 and will be activated in the @strong{MySQL}-max binary. | ||||||
| binary. |  | ||||||
| 
 | 
 | ||||||
| If you have downloaded a binary version of @strong{MySQL} that includes | If you have downloaded a binary version of @strong{MySQL} that includes | ||||||
| support for Berkeley DB, simply follow the instructions for | support for Berkeley DB, simply follow the instructions for | ||||||
| @@ -23550,8 +23650,8 @@ Innobase is a table handler that is under the GNU GPL License Version 2 | |||||||
| (of June 1991). In the source distribution of MySQL, Innobase appears as | (of June 1991). In the source distribution of MySQL, Innobase appears as | ||||||
| a subdirectory. | a subdirectory. | ||||||
| 
 | 
 | ||||||
| @node Innobase startup options, Using Innobase tables, INNOBASE overview, INNOBASE | @node INNOBASE start, Using INNOBASE tables, INNOBASE overview, INNOBASE | ||||||
| @subsection Innobase startup options | @subsection INNOBASE startup options | ||||||
| 
 | 
 | ||||||
| To use Innobase tables you must specify configuration parameters | To use Innobase tables you must specify configuration parameters | ||||||
| in the MySQL configuration file in the @code{[mysqld]} section of | in the MySQL configuration file in the @code{[mysqld]} section of | ||||||
| @@ -23647,8 +23747,8 @@ Innobase cannot notice. In cases like this the timeout is useful to | |||||||
| resolve the situation. | resolve the situation. | ||||||
| @end multitable | @end multitable | ||||||
| 
 | 
 | ||||||
| @node Using Innobase tables, INNOBASE restrictions, Innobase startup options, INNOBASE | @node Using INNOBASE tables, INNOBASE restrictions, INNOBASE start, INNOBASE | ||||||
| @subsection Using Innobase tables | @subsection Using INNOBASE tables | ||||||
| 
 | 
 | ||||||
| Technically, Innobase is a database backend placed under MySQL. Innobase | Technically, Innobase is a database backend placed under MySQL. Innobase | ||||||
| has its own buffer pool for caching data and indexes in main | has its own buffer pool for caching data and indexes in main | ||||||
| @@ -23721,7 +23821,7 @@ P.O.Box 800 | |||||||
| Finland | Finland | ||||||
| @end example | @end example | ||||||
| 
 | 
 | ||||||
| @node INNOBASE restrictions,  , Using Innobase tables, INNOBASE | @node INNOBASE restrictions,  , Using INNOBASE tables, INNOBASE | ||||||
| @subsection Some restrictions on @code{INNOBASE} tables: | @subsection Some restrictions on @code{INNOBASE} tables: | ||||||
| 
 | 
 | ||||||
| @itemize @bullet | @itemize @bullet | ||||||
| @@ -26472,7 +26572,7 @@ tables}. | |||||||
| * Replication Options::         Replication Options in my.cnf | * Replication Options::         Replication Options in my.cnf | ||||||
| * Replication SQL::             SQL Commands related to replication | * Replication SQL::             SQL Commands related to replication | ||||||
| * Replication FAQ::             Frequently Asked Questions about replication | * Replication FAQ::             Frequently Asked Questions about replication | ||||||
| * Troubleshooting Replication:: Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication.  Troubleshooting Replication. | * Troubleshooting Replication:: Troubleshooting Replication | ||||||
| @end menu | @end menu | ||||||
| 
 | 
 | ||||||
| @node Replication Intro, Replication Implementation, Replication, Replication | @node Replication Intro, Replication Implementation, Replication, Replication | ||||||
| @@ -39136,8 +39236,7 @@ Two APIs are available in the @strong{MySQL} | |||||||
| @section MySQL Python APIs | @section MySQL Python APIs | ||||||
| 
 | 
 | ||||||
| The @strong{MySQL} @uref{http://www.mysql.com/Downloads/Contrib/,Contrib directory} | The @strong{MySQL} @uref{http://www.mysql.com/Downloads/Contrib/,Contrib directory} | ||||||
| contains a Python | contains a Python interface written by Joseph Skinner. | ||||||
| interface written by Joseph Skinner. |  | ||||||
| 
 | 
 | ||||||
| You can also use the Python interface to iODBC to access a | You can also use the Python interface to iODBC to access a | ||||||
| @strong{MySQL} server. | @strong{MySQL} server. | ||||||
| @@ -41447,6 +41546,12 @@ Our security expert. | |||||||
| @item | @item | ||||||
| Vio interface (foundation for the the encrypted client/server protocol). | Vio interface (foundation for the the encrypted client/server protocol). | ||||||
| @item | @item | ||||||
|  | MySQL Filesystem (Way to use MySQL databases as files and directories). | ||||||
|  | @item | ||||||
|  | CASE Expression  | ||||||
|  | @item | ||||||
|  | MD5(), COALESCE()  functions. | ||||||
|  | @item | ||||||
| @code{RAID} support for @code{MyISAM} tables. | @code{RAID} support for @code{MyISAM} tables. | ||||||
| @end itemize | @end itemize | ||||||
| 
 | 
 | ||||||
| @@ -41902,6 +42007,8 @@ not yet 100 % confident in this code. | |||||||
| Added the @code{INNOBASE} table handler and the @code{BDB} table handler | Added the @code{INNOBASE} table handler and the @code{BDB} table handler | ||||||
| to the @strong{MySQL} source distribution. | to the @strong{MySQL} source distribution. | ||||||
| @item | @item | ||||||
|  | Updated the documentation about @code{GEMINI} tables. | ||||||
|  | @item | ||||||
| @code{REPLACE} will not replace a row that conflicts with an | @code{REPLACE} will not replace a row that conflicts with an | ||||||
| @code{auto_increment} generated key. | @code{auto_increment} generated key. | ||||||
| @item | @item | ||||||
| @@ -46804,6 +46911,11 @@ ORDER BY columns in the result, something that is you are not allowed | |||||||
| to do in ANSI SQL. | to do in ANSI SQL. | ||||||
| 
 | 
 | ||||||
| @item | @item | ||||||
|  | Because @strong{MySQL} allows you to work with table types that doesn't | ||||||
|  | support transactions (and thus can't @code{rollback} data) some things | ||||||
|  | behaves a little different in @strong{MySQL} than in other SQL servers: | ||||||
|  | (This is just to ensure that @strong{MySQL} never need to do a rollback | ||||||
|  | for a SQL command).  This may be a little akward at times as column | ||||||
| Because @strong{MySQL} allows you to work with table types that don't | Because @strong{MySQL} allows you to work with table types that don't | ||||||
| support transactions, and thus can't @code{rollback} data, some things | support transactions, and thus can't @code{rollback} data, some things | ||||||
| behave a little differently in @strong{MySQL} than in other SQL servers. | behave a little differently in @strong{MySQL} than in other SQL servers. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 monty@donna.mysql.fi
					monty@donna.mysql.fi