Re: alter table in-place algorithm



On Jul 29, 7:12 am, Carsten Haese <cars...@xxxxxxxxxxx> wrote:
Mohit Anchlia wrote:
[the table] has Integer, Varchar, char and serial number, smallint. I
am trying to modify column which are varchar. I read on ibm site that
informix doesn't use in-place algorithm if it's modification to
varchar columns.

Correct, varchar causes a double whammy.

Quote 1: "When you useALTERTABLE to modify the original size or
reserve specifications of VARCHAR or NVARCHAR columns, the database
server performs these changes as slow alters, rather than using the
in-placealtermechanism."

Quote 2: "When a table contains a user-defined data type, a VARCHAR data
type, or smart large objects, the database server does not use the
in-placealteralgorithm even when the column being altered contains a
built-in data type."

Is there any way to explicitly tell informix to use in-place
algorithm ?

What part of "the database server performs these changes as slow alters"
don't you understand?

There is no way to tell the server whichalteralgorithm to use. It
chooses the algorithm based on explicitly documented parameters. Your
table requires a slowalter.

I've already run out of logs on this table ..It would be good if I
can use this algorithm

But you can't. If youalterthis table, it'll be a slowalter. Several
workarounds have been suggested for performing a slowalter(or an
equivalent sequence of steps) without running into "long transaction
aborted" problems. Use one of those workarounds.

--
Carsten Haesehttp://informixdb.sourceforge.net

Thanks, workarounds I know are:
1. Turn logging off
2. Increase the size of logical logs

I also wanted to check if locking table in exclusive mode helps ? If
yes, then how ?

.