![]() | ![]() |
Home |
|
|
Troubleshooting and Error Messages Guide |
|
| Chapter 3 Error Message Writeups |
|
| sysindexes Manager Errors |
|
| Error 8419 |
21
Could not find index descriptor for objid %d, indid %d in dbid %d.
Each index accessed in Adaptive Server requires a descriptor which is a "handle" for referencing the index. When the descriptor is no longer needed (for example, the query completes or the index is dropped), the server frees up the descriptor so that it can be assigned to another object as needed.
Error 8419 prevents a stored procedure or other compiled object from being recompiled after an index or a table column is dropped; consequently the server attempts to process the query via a stale plan, using the missing index or column. When the descriptor containing sysindexes information for the index is found to be missing from cache, Error 8419 is raised. Here is a typical scenario:
create table t1
create procedure p1 as insert into t1 values(...)
go
begin transaction
go
create clustered index on t1(..)
execute procedure p1 (query plan uses the new index)
rollback transaction (index dropped)
go
execute procedure p1 (Error 8419 raised as the server
attempts
to use the old plan)Error 8419 is due to an Adaptive Server problem and is raised with the following states:
State | Meaning |
1 | Index descriptor row not found in cache when attempting to make a copy of the table's first index structure. |
2 | Index descriptor row not found in cache when attempting to copy the next index structure for the table. |
3 | Could not retrieve a pointer to the first index descriptor row for the table in the cache. |
4 | Could not retrieve a pointer to the next index for the table in the cache as expected. |
5 | Could not retrieve a specific field within an index descriptor row using a pointer to the table's first index row. |
6 | Could not retrieve a specific field within an index descriptor row using a pointer to the table's next index row. |
7 | Could not retrieve a pointer to an index descriptor row in the cache after dropping the index. |
8 | Could not retrieve a pointer to an index descriptor row in the cache after dropping a column of the table. |
9 | Could not retrieve a pointer to an index descriptor row in the cache while accessing the root page of the index. This state is raised only by diagserver. |
10 | Could not retrieve a pointer to an index descriptor row in the cache while releasing locks associated with the row. |
11 | Could not find the start of the index descriptor chain. |
12 | Could not update a specific field within an index descriptor row using a pointer to the index row. |
Call Sybase Technical Support to upgrade to a version in which the problem is resolved.
Have the following information ready when you call Sybase Technical Support:
Adaptive Server version and SWR rollup level
Server error log
Text of the query which causes the error.
All versions
|
|