2011-05-09 2 views
1

私が実行しているがありません: PostgreSQLの9.0.3(安定した最終のDebian)揮発性EquivalenceClassにはsortref

このクエリ:

SELECT * FROM sis.thread_categories stc, sis.threads st WHERE st.id_thread_categories=stc.id

は=>スロー:

ERROR: volatile EquivalenceClass has no sortref State SQL: XX000

同じ問題をJOINを使って試したときに発生しました。誰かが私が間違っていることを知っていますか?

答えて

1

あなたはデータベースが破損している可能性があります。 backend/optimizer/path/pathkeys.cからPostgreSQLのソースに:

List * 
convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel, 
                List *subquery_pathkeys) 
{ 
    /*...*/ 
      if (sub_eclass->ec_sortref == 0)  /* can't happen */ 
       elog(ERROR, "volatile EquivalenceClass has no sortref"); 

エラーメッセージが2つのソース内の他の場所が、トリガ条件、ec_sortref == 0に表示されていることを、同じであり、同じコメントがすべての3つの中で表示される「起こることはできません」場所。

データベースが壊れているか、PostgreSQLにバグが見つかりました。