Volatile EquivalenceClass не имеет сортировки - PullRequest
1 голос
/ 09 мая 2011

Я работаю: PostgreSQL 9.0.3 (Последняя стабильная версия Debian)

Этот запрос:

SELECT * FROM sis.thread_categories stc, sis.threads st ГДЕ st.id_thread_categories = stc.id

=> throws:

ОШИБКА: volatile EquivalenceClass не имеет sortref Состояние SQL: XX000

Произошла такая же проблемакогда я попробовал это с помощью JOIN.Кто-нибудь знает, что я делаю не так?

1 Ответ

1 голос
/ 09 мая 2011

Думаю, у вас поврежденная база данных, чего не должно быть.Начиная с 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");

Это сообщение об ошибке появляется в двух других местах в источнике, но условие запуска, ec_sortref == 0, такое же, иодни и те же комментарии «не может быть» появляются во всех трех местах.

Таким образом, либо ваша база данных повреждена, либо вы обнаружили ошибку в PostgreSQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...