Discussion:
[Sguil-devel] MySQL changes
Chad Gross
2011-08-09 18:58:49 UTC
Permalink
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

Loading...