[2018-10-09T16:10:17] [Data::ObjectDriver::Driver::DBI] [0.011125] SELECT tag_id
FROM (SELECT tag_id, ROWNUM as line
FROM (SELECT DISTINCT tag_id, tag_name
FROM mt_tag, mt_objecttag
WHERE (objecttag_blog_id = '4') AND (tag_id = objecttag_tag_id)
ORDER BY tag_name ASC, tag_id ASC
) t
) t
WHERE (line <= 50)
at /home/vagrant/html/cgi-bin/mt71/extlib/Data/ObjectDriver/Driver/DBI.pm line 161
MT6 でも同様の箇所らしき場所を見つけた。以前は問題なかった?
[2018-10-09T16:46:47] [Data::ObjectDriver::Driver::DBI] [0.008150] SELECT tag_id
FROM (SELECT tag_id, ROWNUM as line
FROM (SELECT DISTINCT tag_id, tag_name
FROM mt_tag, mt_objecttag
WHERE (objecttag_blog_id = '1') AND (tag_id = objecttag_tag_id)
ORDER BY tag_name ASC, tag_id ASC
) t
) t
WHERE (line <= 50)
at /home/vagrant/html/cgi-bin/mt63x/extlib/Data/ObjectDriver/Driver/DBI.pm line 161
再現手順:
「タグ」を入力して記事を作成
タグ一覧画面を開く
期待する動作:
タグ一覧画面に作成したタグが表示される
実際の動作:
タグ一覧画面に何も表示されない
__mode=filtered_list で下記のようなエラーが返ってきている。
{"error":"DBD::Oracle::st bind_columns failed: bind_columns called with 2 values but 1 are needed [for Statement \"SELECT tag_id\nFROM (SELECT tag_id, ROWNUM as line\nFROM (SELECT DISTINCT tag_id, tag_name\nFROM mt_tag, mt_objecttag\nWHERE (objecttag_blog_id = ?) AND (tag_id = objecttag_tag_id)\nORDER BY tag_name ASC, tag_id ASC\n) t\n) t\nWHERE (line <= 50)\n\" with ParamValues: :p1='4']"}
記事、ページ、アセット全ての表示オプションをオフにしても同じエラーが出る。
下記の unique => 1 を消すとエラーがなくなるが、この部分は MT7 で修正を加えた場所ではない。
https://github.com/movabletype/movabletype/blame/33b96286bd40a3751ea4ab8d0c9c1913d77045c4/lib/MT/CMS/Tag.pm#L430
エラーが出てそうな部分のクエリ:
[2018-10-09T16:10:17] [Data::ObjectDriver::Driver::DBI] [0.011125] SELECT tag_id FROM (SELECT tag_id, ROWNUM as line FROM (SELECT DISTINCT tag_id, tag_name FROM mt_tag, mt_objecttag WHERE (objecttag_blog_id = '4') AND (tag_id = objecttag_tag_id) ORDER BY tag_name ASC, tag_id ASC ) t ) t WHERE (line <= 50) at /home/vagrant/html/cgi-bin/mt71/extlib/Data/ObjectDriver/Driver/DBI.pm line 161
MT6 でも同様の箇所らしき場所を見つけた。以前は問題なかった?
[2018-10-09T16:46:47] [Data::ObjectDriver::Driver::DBI] [0.008150] SELECT tag_id FROM (SELECT tag_id, ROWNUM as line FROM (SELECT DISTINCT tag_id, tag_name FROM mt_tag, mt_objecttag WHERE (objecttag_blog_id = '1') AND (tag_id = objecttag_tag_id) ORDER BY tag_name ASC, tag_id ASC ) t ) t WHERE (line <= 50) at /home/vagrant/html/cgi-bin/mt63x/extlib/Data/ObjectDriver/Driver/DBI.pm line 161
mt-sqlsrv2014, mt-sqlsrv2016 では問題なさそう。