[ts-gen] shim-080326.tgz mysql scripts
R P Herrold
herrold at owlriver.com
Thu Mar 27 22:59:27 EDT 2008
On Thu, 27 Mar 2008, Billy Pilgrim wrote:
> Thanks shim now builds fine however I am having a problem with the mysql
> database creation scripts. A few of generate syntax errors and not all
> the db tables are created.
> I did modify mysql.cnf as noted in the manual.
>
> [mysqld]
> transaction-isolation=SERIALIZABLE
> sql-mode=ANSI
Russ herrold here ....
I did a bit of 'snippage' on your post to winnow it down to
the core of the matter. I assume you are referring to the
discussion at '3.3.1 Set the Dbms Isolation Level' of
manual.pdf
It appears that we need to do a re-write removing the
conflation of MySQL's notion of 'ANSI' mode, and SERIALIZABLE
for the mysqld.
The 'man' page for mysqld clarifies that the 'sql-mode=ANSI'
has to do, 'the section called “THE SERVER SQL
MODE”', with unspecificied 'more conformant' behaviours:
The most important sql_mode values are probably these:
· ANSI
Change syntax and behavior to be more conformant to standard SQL.
-----------------------------------------------
rather than the **needed** feature of getting all four ACID
elements enabled in the mysqld. Particularly, the shim counts
on the behaviours added with 'SERIALIZABLE', which refers to
external documentation at the mysql website at:
See Section 4.6, “SET TRANSACTION Syntax”.
Stunningly wrong in breaking expectations, but probably for
performance reasons, MySQL AB chooses to ship with:
The default level is REPEATABLE READ.
while Innodb can provide true 'Isolation' (The 'I' of
dataabse ACID) if one sets the level to the documented:
SERIALIZABLE
see:
http://dev.mysql.com/doc/refman/5.1/en/innodb-transaction-isolation.html
http://en.wikipedia.org/wiki/ACID
-----------------------------------
Our config file is this simple:
[root at xps400 etc]# grep -v ^$ my.cnf | grep -v ^#
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld]
transaction-isolation = SERIALIZABLE
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root at xps400 etc]#
-- Russ herrold
More information about the ts-general
mailing list