diff options
author | Bruce Momjian <bruce@momjian.us> | 1996-10-13 04:26:39 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1996-10-13 04:26:39 +0000 |
commit | abb1b3e770fd09acc44bc2152d10020d9479f600 (patch) | |
tree | d6a93daaa76be70b27f0bf3f691e24ff7c710933 /src/backend/access/gist/gistget.c | |
parent | bef3c89a1cea3f9d6ab749fd7636952a980de35a (diff) | |
download | postgresql-abb1b3e770fd09acc44bc2152d10020d9479f600.tar.gz postgresql-abb1b3e770fd09acc44bc2152d10020d9479f600.zip |
I checked the alter table code, and started suspecting the relation
cache. I found if I manually added a line to flush the whole relation
cache, the assert error disappeared. Looking through the code, I found
that the relation cache is flushed at the end of each query if the
reference count is zero for the relation. However, printf's showed that
the rd_relcnt(reference count) for the accessed query was not returning
to zero after each query.
It turns out the parser was doing a heap_ropen in parser/analyze.c to
get information about the table's columns, but was not doing a
heap_close.
This was causing the query after the ALTER TABLE ADD to see the old
table structure, and the executor's assert was reporting the problem.
Diffstat (limited to 'src/backend/access/gist/gistget.c')
0 files changed, 0 insertions, 0 deletions