Fail to upgrade with sql syntax error 'ARRAY()'

Hi guys,

We are using RT as one internal project, thanks for your good work.

when we are trying to upgrade 4.0.13 to 4.2.12 on rhel6, met one problem, did not find useful solution in doc/wiki/maliing list archive.

part of the error msg below when execute ‘make upgrade-database’

Processing 4.2.11
Now inserting data.
[20433] [Fri Oct 23 09:58:16 2015] [warning]: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘ARRAY(0xe1a3128)’)’ at line 1 at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 617, <$handle> line 1. (/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm:617)
[20433] [Fri Oct 23 09:58:16 2015] [warning]: RT::Handle=HASH(0xd1466c0) couldn’t execute the query, error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘ARRAY(0xe1a3128)’)’ at line 1, query: 'SELECT count(main.id) FROM ACL main WHERE ( ( main.ObjectType = ‘RT::System’ AND main.ObjectId = 1 ) ) AND (main.PrincipalId = ‘9’ OR main.PrincipalId = ‘8’ OR main.PrincipalId = ‘6’ OR main.PrincipalId = ‘7’) AND (main.RightName IN ‘ARRAY(0xe1a3128)’) ’ at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 641, <$handle> line 1.
DBIx::SearchBuilder::Handle::SimpleQuery(RT::Handle=HASH(0xd1466c0), “SELECT count(main.id) FROM ACL main WHERE ( ( main.ObjectTyp”…) called at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder.pm line 291

seems that we are missing some dependencies, not sure, can not find the root cause.
thanks in advance.

Regards,
Yaobin Shi(石要宾)
Red Hat Asia Pacific, Beijing-Raycom
CN ENG Engineering Services
Ph: 8389367
IRC Account: yashi at #rpmdiff-dev #eng-china

Hello,

This looks like make upgrade-database is being ran with an old
DBIx::SearchBuilder. Perhaps recheck the output of ‘make testdeps’ and
if it reports issues run ‘make fixdeps’?

Regards,On 11/1/15 11:51 PM, Yaobin Shi wrote:

We are using RT as one internal project, thanks for your good work.

when we are trying to upgrade 4.0.13 to 4.2.12 on rhel6, met one problem, did not find useful solution in doc/wiki/maliing list archive.

part of the error msg below when execute ‘make upgrade-database’

Processing 4.2.11
Now inserting data.
[20433] [Fri Oct 23 09:58:16 2015] [warning]: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘ARRAY(0xe1a3128)’)’ at line 1 at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 617, <$handle> line 1. (/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm:617)
[20433] [Fri Oct 23 09:58:16 2015] [warning]: RT::Handle=HASH(0xd1466c0) couldn’t execute the query, error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘ARRAY(0xe1a3128)’)’ at line 1, query: 'SELECT count(main.id) FROM ACL main WHERE ( ( main.ObjectType = ‘RT::System’ AND main.ObjectId = 1 ) ) AND (main.PrincipalId = ‘9’ OR main.PrincipalId = ‘8’ OR main.PrincipalId = ‘6’ OR main.PrincipalId = ‘7’) AND (main.RightName IN ‘ARRAY(0xe1a3128)’) ’ at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 641, <$handle> line 1.
DBIx::SearchBuilder::Handle::SimpleQuery(RT::Handle=HASH(0xd1466c0), “SELECT count(main.id) FROM ACL main WHERE ( ( main.ObjectTyp”…) called at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder.pm line 291

seems that we are missing some dependencies, not sure, can not find the root cause.
thanks in advance.

Hi Todd,

make testdeps return everything is ok
my DBIx::SearchBuilder is 1.61

then I went through ./sbin/rt-test-dependencies, found that the required version should be 1.65.
thanks very much.

-Larry----- Original Message -----

From: “Todd Wade” todd@bestpractical.com
To: rt-users@lists.bestpractical.com
Sent: Wednesday, November 4, 2015 4:28:45 AM
Subject: Re: [rt-users] fail to upgrade with sql syntax error ‘ARRAY()’

Hello,

This looks like make upgrade-database is being ran with an old
DBIx::SearchBuilder. Perhaps recheck the output of ‘make testdeps’ and
if it reports issues run ‘make fixdeps’?

Regards,

On 11/1/15 11:51 PM, Yaobin Shi wrote:

We are using RT as one internal project, thanks for your good work.

when we are trying to upgrade 4.0.13 to 4.2.12 on rhel6, met one problem,
did not find useful solution in doc/wiki/maliing list archive.

part of the error msg below when execute ‘make upgrade-database’

Processing 4.2.11
Now inserting data.
[20433] [Fri Oct 23 09:58:16 2015] [warning]: DBD::mysql::st execute
failed: You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
‘‘ARRAY(0xe1a3128)’)’ at line 1 at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 617,
<$handle> line 1.
(/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm:617)
[20433] [Fri Oct 23 09:58:16 2015] [warning]: RT::Handle=HASH(0xd1466c0)
couldn’t execute the query, error: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near ‘‘ARRAY(0xe1a3128)’)’ at line 1, query: 'SELECT
count(main.id) FROM ACL main WHERE ( ( main.ObjectType = ‘RT::System’ AND
main.ObjectId = 1 ) ) AND (main.PrincipalId = ‘9’ OR main.PrincipalId =
‘8’ OR main.PrincipalId = ‘6’ OR main.PrincipalId = ‘7’) AND
(main.RightName IN ‘ARRAY(0xe1a3128)’) ’ at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 641,
<$handle> line 1.
DBIx::SearchBuilder::Handle::SimpleQuery(RT::Handle=HASH(0xd1466c0),
“SELECT count(main.id) FROM ACL main WHERE ( ( main.ObjectTyp”…)
called at /usr/share/perl5/vendor_perl/DBIx/SearchBuilder.pm line 291

seems that we are missing some dependencies, not sure, can not find the
root cause.
thanks in advance.

Regards,
Yaobin Shi(石要宾)
Red Hat Asia Pacific, Beijing-Raycom
CN ENG Engineering Services
Ph: 8389367
IRC Account: yashi at #rpmdiff-dev #eng-china