Chad Gross
2011-08-09 18:58:49 UTC
I have recently been exchanging emails with the FreeBSD port maintainer for
sguil, Paul Schmehl, about some syntax changes required to be compatible
with MySQL 5.5. He suggested that I post these here.
The issues found were:
1. A comment requires whitespace after the '--':
http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-comments.html
2. TIMESTAMP(14) has been deprecated and should just be TIMESTAMP now [The
(N) in TIMESTAMP(N) has been ignored since 4.1]:
(http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html)
3. MySQL 5.5 defaults to InnoDB, where Sguil expects MyISAM (which used to
be the default):
http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html
4. TYPE= has been deprecated and only accepts ENGINE= now:
While the default type/engine used to be MyISAM, this must be explicitly
stated for MySQL 5.5 since the default is now InnoDB. Unfortunately, the
command used to be TYPE=, not ENGINE= as seen here:
"The older term TYPE is supported as a synonym for ENGINE for backward
compatibility, but ENGINE is the preferred term and TYPE is deprecated. "
http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html
The backwards compatibility of TYPE= was removed in 5.4.4 (
http://bugs.mysql.com/bug.php?id=47974.).
As with TIMESTAMP, ENGINE= is backward compatible since 4.1 (
http://bugs.cacti.net/view.php?id=1819).
I have found and fixed these issues in the following files (patches for the
files have been attached):
create_sguildb.sql script
SguildLoaderd.tcl
SguildMysqlMerge.tcl
sancp_cleanup.tcl
Regards,
Chad
sguil, Paul Schmehl, about some syntax changes required to be compatible
with MySQL 5.5. He suggested that I post these here.
The issues found were:
1. A comment requires whitespace after the '--':
http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-comments.html
2. TIMESTAMP(14) has been deprecated and should just be TIMESTAMP now [The
(N) in TIMESTAMP(N) has been ignored since 4.1]:
(http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html)
3. MySQL 5.5 defaults to InnoDB, where Sguil expects MyISAM (which used to
be the default):
http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html
4. TYPE= has been deprecated and only accepts ENGINE= now:
While the default type/engine used to be MyISAM, this must be explicitly
stated for MySQL 5.5 since the default is now InnoDB. Unfortunately, the
command used to be TYPE=, not ENGINE= as seen here:
"The older term TYPE is supported as a synonym for ENGINE for backward
compatibility, but ENGINE is the preferred term and TYPE is deprecated. "
http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html
The backwards compatibility of TYPE= was removed in 5.4.4 (
http://bugs.mysql.com/bug.php?id=47974.).
As with TIMESTAMP, ENGINE= is backward compatible since 4.1 (
http://bugs.cacti.net/view.php?id=1819).
I have found and fixed these issues in the following files (patches for the
files have been attached):
create_sguildb.sql script
SguildLoaderd.tcl
SguildMysqlMerge.tcl
sancp_cleanup.tcl
Regards,
Chad