Subject | corrupted table or record? |
---|---|
Author | Bart Smissaert |
Post date | 2012-02-03T13:25:57Z |
Firebird 1.5 on Windows, accessed via ODBC.
Have a large table (some 50 million records) with the following structure:
CREATE TABLE AUDIT_TRAIL
(
AUDIT_ID INTEGER NOT NULL,
AUDIT_TIME DATE,
USER_ID VARCHAR( 12) COLLATE NONE,
TABLE_ID SMALLINT,
ACTION SMALLINT,
PRIMARY_KEY VARCHAR( 128) COLLATE NONE,
DATA VARCHAR( 5000) COLLATE NONE,
PATIENT_ID INTEGER
);
When I run this query via ODBC:
select
*
from
audit_trail
where
audit_id >= 46262765
The query will hang and I need to kill the app.
I have figured out that the problem is with one record with AUDIT_ID 46270901.
This suspicion is based on the following:
select
*
from
audit_trail
where
(audit_id >= 46262765 and
audit_id <= 46270900) or
audit_id >= 46270902
This will run fine.
select
*
from
audit_trail
where
(audit_id >= 46262765 and
audit_id < 46270901) or
audit_id > 46270901
This will hang/crash.
If I run these queries in Workbench it will run fine, but the record
with AUDIT_ID 46270901 will not show.
In this table all AUDIT_ID's are consecutive, except for this 46270901
that is either missing or I think corrupt.
Is this normal behaviour?
Could this record be fixed?
Thanks for any insight.
RBS
Have a large table (some 50 million records) with the following structure:
CREATE TABLE AUDIT_TRAIL
(
AUDIT_ID INTEGER NOT NULL,
AUDIT_TIME DATE,
USER_ID VARCHAR( 12) COLLATE NONE,
TABLE_ID SMALLINT,
ACTION SMALLINT,
PRIMARY_KEY VARCHAR( 128) COLLATE NONE,
DATA VARCHAR( 5000) COLLATE NONE,
PATIENT_ID INTEGER
);
When I run this query via ODBC:
select
*
from
audit_trail
where
audit_id >= 46262765
The query will hang and I need to kill the app.
I have figured out that the problem is with one record with AUDIT_ID 46270901.
This suspicion is based on the following:
select
*
from
audit_trail
where
(audit_id >= 46262765 and
audit_id <= 46270900) or
audit_id >= 46270902
This will run fine.
select
*
from
audit_trail
where
(audit_id >= 46262765 and
audit_id < 46270901) or
audit_id > 46270901
This will hang/crash.
If I run these queries in Workbench it will run fine, but the record
with AUDIT_ID 46270901 will not show.
In this table all AUDIT_ID's are consecutive, except for this 46270901
that is either missing or I think corrupt.
Is this normal behaviour?
Could this record be fixed?
Thanks for any insight.
RBS