[Pandora-jp] やはりだめでした(729へのアップグレード)

Junichi Satoh junichi @ pandorafms.jp
2018年 12月 4日 (火) 23:23:07 JST


さとうです。

>> しかし、14.sql では
(snip)
>> となり、エラーとなってしまいました。

先に結論からいいますと、14.sql 最後の以下の行はスキップしてしまって
構いません。(実行しなくて良いです)

=====
PREPARE pr_oum721 FROM @st_oum721;
EXECUTE pr_oum721;
DEALLOCATE PREPARE pr_oum721;

COMMIT;
=====


>> cat 14.sql  | mysql -u root -p pandora
>> Enter password:
>> ERROR 1064 (42000) at line 50: 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 '0' at line 1

そもそも SQL の syntax エラーなので、14.sql のクエリがおかしいようです。
確認したところ、

@st_oum721 の定義が以下のようになっていますが、
=====
SET @st_oum721 = (SELECT IF(
        (SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'tuser_task_scheduled') > 0,
        "ALTER TABLE tuser_task_scheduled ADD (id_grupo int(10) unsigned NOT NULL Default 0)",
        "0"
));
=====

IF(SELECT COUNT(*) FROM information_schema.tables WHERE... に合致しない
場合、"0" になりますね。

そうすると、50行目の PREPARE pr_oum721 FROM @st_oum721; はエラーになって
当然。

tuser_task_scheduled テーブルが存在しない場合の 14.sql ファイル自体の
不具合と言ってよさそうです。
# 本来、"0" → "SELECT 0" にするのが正しいかな。

ちなみに、tuser_task_scheduled テーブルは(少なくとも OSS 版の)デフォルト
では存在しない(存在しなくて問題ない)テーブルなので、結論としては冒頭に
書いた通り、該当の行はスキップで良い、ということになります。


> やはり間隔開けすぎたのが失敗か。

という問題ではなく、Pandora の 14.sql の問題...

---
佐藤 淳一
junichi @ pandorafms.jp


From: ribbon <ppp15478 @ ribbon.or.jp>
Subject: Re: [Pandora-jp] やはりだめでした(729へのアップグレード)
Date: Sun, 2 Dec 2018 22:57:32 +0900

> On Sun, Dec 02, 2018 at 06:10:42PM +0900, ribbon wrote:
> 
>> しかし、14.sql では
>> 
>> cat 14.sql  | mysql -u root -p pandora
>> Enter password:
>> ERROR 1064 (42000) at line 50: 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 '0' at line 1
>> 
>> となり、エラーとなってしまいました。
>> 
>> 50行目は、
>> PREPARE pr_oum721 FROM @st_oum721;
>> 
>> でした。
>> 先に yum update したのが失敗だったかなあ?
> 
> しない状態、かつ、mysqldump 取り直しても同じ。
> ということで、おそらく既存の環境が変になっているのだと思います。
> 
> 環境作り直しすることにします。
> 
> やはり間隔開けすぎたのが失敗か。
> 
> ribbon
> _______________________________________________
> Pandora-jp mailing list
> Pandora-jp @ pandorafms.jp
> https://pandorafms.jp/ml/listinfo/pandora-jp


Pandora-jp メーリングリストの案内