mirror of
https://github.com/MariaDB/server.git
synced 2025-10-28 17:15:19 +03:00
Added documentation about GEMINI tables
This commit is contained in:
180
Docs/manual.texi
180
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
|
||||||
@@ -29911,7 +30011,7 @@ performance in a threaded system!
|
|||||||
|
|
||||||
@xref{Multiple servers}.
|
@xref{Multiple servers}.
|
||||||
|
|
||||||
This is an example of the config file on behalf of @code{mysqld_multi}.
|
This is an example of the config file on behalf of @code{mysqld_multi}.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
# This file should probably be in your home dir (~/.my.cnf) or /etc/my.cnf
|
# This file should probably be in your home dir (~/.my.cnf) or /etc/my.cnf
|
||||||
@@ -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