Ticket #19459

TracWorkTimePlugin の worktime.web_ui を有効後、複数のエラーが発生する

Open Date: 2009-11-05 00:53 Last Update: 2012-03-15 09:14

Reporter:
(Anonymous)
Owner:
Type:
Status:
Closed
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
1

Details

Work Time Managementの表示エラー

リビジョン 541 を利用しております。 また、

Oops…

Trac detected an internal error:
OperationalError: ERROR: invalid reference to FROM-clause entry for table "t" HINT: There is an entry for table "t", but it cannot be referenced from this part of the query.


File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/main.py", line 444, in _dispatch_request
File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/main.py", line 205, in dispatch
File "build/bdist.linux-x86_64/egg/worktime/web_ui.py", line 98, in process_request
File "build/bdist.linux-x86_64/egg/worktime/web_ui.py", line 201, in _process_timeline
File "build/bdist.linux-x86_64/egg/worktime/dbhelper.py", line 280, in get_tickets
File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/db/util.py", line 59, in execute
File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/db/util.py", line 59, in execute
File "/usr/lib64/python2.4/site-packages/pyPgSQL/PgSQL.py", line 3111, in execute



User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 (.NET CLR 3.5.30729)

Trac: 0.11.5.ja1
Python: 2.4.3 (#1, Sep 3 2009, 15:37:37) 4.1.2 20080704 (Red Hat 4.1.2-46)
setuptools: 0.6c9
pyPgSQL: 2.5.1
Genshi: 0.5.1
mod_python: 3.2.8
Subversion: 1.6.4 (r38063)
jQuery: 1.2.6

プラグイン有効後、TracGanttCalendarPlugin 0.2-r0 を利用が出来なくなる

TracGanttCalendarPlugin のカレンダやガントチャートへのアクセスを行うと、 下記エラーが発生しております。 私の環境の問題でしょうか?

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/api.py", line 377, in send_error
    'text/html')
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/chrome.py", line 737, in render_template
    stream |= self._filter_stream(req, method, filename, stream, data)
  File "/usr/lib64/python2.4/site-packages/genshi/core.py", line 128, in __or__
    return Stream(_ensure(function(self)), serializer=self.serializer)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/chrome.py", line 840, in inner
    data)
  File "build/bdist.linux-x86_64/egg/worktime/web_ui.py", line 301, in filter_stream
IndexError: list index out of range

Ticket History (3/13 Histories)

2009-11-05 00:53 Updated by: None
  • New Ticket "TracWorkTimePlugin の worktime.web_ui を有効後、複数のエラーが発生する" created
2009-11-05 01:52 Updated by: wadahiro
  • Resolution Update from None to Fixed
Comment

ご報告ありがとうございます。リビジョン541で対応しました。ご確認ください。

2009-11-05 23:20 Updated by: None
Comment

お忙しいと中、対応いただきありがとうございます。
リビジョン 545 にて確認致しました。
TracGanttCalendarPlugin の ガントチャートおよび、カレンダの表示で発生していたエラーは無くなりました。
有難うございました。

しかしながら、作業時間入力、では上記したエラーが未だ発生しております。


なお、レポート画面では下記のエラーが発生しております。

Trac detected an internal error:

OperationalError: ERROR:  function total(text) does not exist
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.


 File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/main.py", line 444, in  _dispatch_request  
 File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/main.py", line 205, in  dispatch  
 File "build/bdist.linux-x86_64/egg/worktime/report.py", line 43, in  process_request  
 File "build/bdist.linux-x86_64/egg/worktime/report.py", line 118, in  _process_report  
 File "build/bdist.linux-x86_64/egg/worktime/report.py", line 216, in  _get_worktime_table_by_month  
 File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/db/util.py", line 59, in  execute  
 File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/db/util.py", line 59, in  execute  
 File "/usr/lib64/python2.4/site-packages/pyPgSQL/PgSQL.py", line 3111, in  execute  

2009-11-05 23:38 Updated by: None
Comment

別途、プラグイン有効時において、チケットを登録しようとすると

下記エラーが発生する事も合わせて確認致しました。

たびたびのお願いとなり、大変申し訳ありませんが、確認をお願いいたします。

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/api.py", line 377, in send_error
    'text/html')
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/chrome.py", line 737, in render_template
    stream |= self._filter_stream(req, method, filename, stream, data)
  File "/usr/lib64/python2.4/site-packages/genshi/core.py", line 128, in __or__
    return Stream(_ensure(function(self)), serializer=self.serializer)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/web/chrome.py", line 840, in inner
    data)
  File "build/bdist.linux-x86_64/egg/worktime/web_ui.py", line 303, in filter_stream
  File "build/bdist.linux-x86_64/egg/worktime/dbhelper.py", line 353, in get_worktime_sum_by_ticket
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/db/util.py", line 59, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.5.ja1-py2.4.egg/trac/db/util.py", line 59, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/lib64/python2.4/site-packages/pyPgSQL/PgSQL.py", line 3111, in execute
    raise OperationalError, msg
OperationalError: ERROR:  function total(text) does not exist
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.

2009-11-06 00:42 Updated by: wadahiro
Comment

ご使用の環境のDBは、エラーログから察するとPostgreSQLのようですね。

申し訳ないですが手元にPostgreSQLがないので試せないですが、問題となっている部分を試しに対応してみました。 下記ブランチに一時的にコミットしていますのでご確認いただけますか。

https://svn.sourceforge.jp/svnroot/shibuya-trac/plugins/worktimeplugin/branches/postgresql/0.11

修正ポイントは以下の点です。

  • hours_workedカラムをNUMERIC型でテーブル作成するようにしました。※
  • 集約関数totalの代わりに、sumを使用するようにしました。

※カラムの型が変わっておりますので、下記SQLでテーブルからWorkTimePluginのデータを一度破棄してください。

drop table ticket_worktime;
delete from system where name = 'worktime.db_version';

2009-11-06 10:42 Updated by: trikcsy
Comment

お手数をおかけします。
早速試してみましたが、状況は変わらないようです。
デバックレベルでログを取得しましたので、確認頂けましたらと思います。

2009-11-07 23:52 Updated by: wadahiro
Comment

PostgreSQLをインストールして対応中です。

リビジョン550で、以下の制約はありますが手元の環境ではそこそこ動くようになっています。よろしければ検証していただけないでしょうか。(カラムの型が変わっていますので、テーブルはまた一度破棄をお願いします)

  • Burndownは動作しない
  • WorktimePluginのレポート機能で、カスタムフィールドでは集計はできない
2009-11-08 01:17 Updated by: trikcsy
Comment
(This comment has been deleted)
2009-11-08 01:33 Updated by: trikcsy
Comment

お忙しいところ、有難うございます。
リビジョン 550 をチェックアウトし、導入してみました。

当方の環境で発生していた、上記エラーは発生しなくなりました。

# 実は、この時の表示に当初6分ほどかかっており、登録していたテストチケットを2000個近く削除。
# また、postgreのプロセスがいつの間にか、CPU 100%掴んでしまっていたのでサービスの再起動を行っております。
# サービス再起動後にはそのような遅延もなく、表示されています。(何時から張り付いてたかの記録が無いため、切り分けできませんでした。) # おそらく過去の動作確認の際におかしい状態になっていたように考えます。


なお、動作テストにおいては工数の入力/変更も行えるようになりました。
1.半角数字の整数入力で表示がされる事。
2.半角数字の小数点入力で表示がされる事。
3.全角文字を入力するとERRORと表示され、更新を押したあとにはクリアされている事
4.半角英字を入力しても反映されない事。
5. 別ユーザの入力も同様に行え、かつレポートにて確認ができる事
まだ、一部使えない機能もあるそうですがが、このプラグインが使える希望が出来た事が単純に嬉しいです。
何度も有難うございました。

2009-11-08 11:15 Updated by: wadahiro
Comment

ご確認ありがとうございます。 残りの部分も、PostgreSQLで動作するように修正しました(リビジョン551)。

  • BurndownChartの表示
  • WorktimePluginのレポート機能で、カスタムフィールドで集計
2009-11-08 13:34 Updated by: trikcsy
Comment

対応有難うございます。
リビジョン 551 をチェックアウトし、動作確認を行いました。
レポート機能で、カスタムフィールドの集計および、BurndownChartの表示が行える事を確認致しました。
これからは、実際の使用ケースを想定して動作を確認して行きたいと思います。

工数入力プラグインを試しましたが、
本プラグインこそが必要とする機能を提供頂いてます。
今後の開発も楽しみにしております。

本当に有難うございました。

2012-03-15 09:14 Updated by: okamototk
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2012-03-15 09:14
Comment

クローズ漏れ?

Attachment File List

Edit

Please login to add comment to this ticket » Login