Re: Informix logs read-only queries? can't handle 'not-exists'?
Posted in 1992
In article <1992Nov12.161943.21876@informix.com> davek@informix.com (David Kosenko) writes:
>Ron Choi writes:
>>i ran the following query overnight:
>>
>>select count(*)
>>from relA
>>where (relA.x10A = 0 or relA.x10A = 5) and not exists (
>> select relB.evenAcct
>> from relB
>> where (relB.x100B = 0 or relB.x100B = 49) and>> relB.evenAcct = relA.acct
>> );
>>
>>and got hundreds of "Logical Log Files are Full -- Backup is Needed".
>>the worst thing is that this corrupted the database.
>
>The reason log entries are being generated is that the sub-query is
>generating a temporary table, and the creation of this temp table is being
>logged.
>These tables do not hang around, but
>the log entries will fill up the logs.
>The log records are still being written because OnLine logs all DDL
>statements (whether logging is on or not) and the creation of even an
>implicit temp table is, at the rsam level, a DDL action.
>
>I agree wholeheartedly that a query should not corrupt the database. What
>exactly become corrupted and how?
after i ran the query above the system could not restart (or recover). that
is, i tried to restart it using tbmonitor/mode/startup, but it spent over
5 hours printing out "recovering. please wait...." message. i had to restore
the database from the tape. i don't know what exactly got corrupted. i
suggest you have your q.a. guys run the above query and figure it out.
do you know just what exactly happens when logical log space runs out while
a query is running?
>I cannot say for sure if this is considered a "bug".
if a query makes the system fail to recover, i'd say it's a bug.
>Dave
>--
>Disclaimer: These opinions are not those of Informix Software, Inc.
--
---------------------------------------------------------------------------
ron choi \\\\ #include <disclaimer.h>
university of wisconsin, madison \\\\
"when i was your age, i walked ten miles to school, unarmed."