Subject Re: gfix: "unavailable database" returned
Author jegazarco
--- In, Dimitry Sibiryakov <sd@...> wrote:
> > Then why let FB change dialect of a database if it makes data inconsistent?
> This is inherited behavior from Interbase.

Ok, but what means data inconsistency. I thought that the changes of dialect 3 are:

1. String constants must be delimited by single quotes. Double quotes are used only for delimited identifiers.
2. The DATE datatype holds only date information. Two new datatypes are available: a TIME datatype that holds only time information, and a TIMESTAMP datatype that holds the whole timestamp. TIMESTAMP replaces the functionality of the DATE datatype in earlier versions of InterBase. In addition, dialect 3 provides the CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP functional operators.
3. DECIMAL and NUMERIC datatypes with precision larger than 9 are stored as 64-bit exact numerics if they are created in dialect 3. Note that columns that have such datatypes are still stored as floating point if they are migrated from an earlier version. See the migration chapter in Getting Started for more information on migrating columns to INT64 exact numerics.

A don't know how this changes can make inconsistency in data. Well point 3 maybe, but the first 2 how?

For example, all float fields i use are double precision, and i don't use DECIMAL.

> > How to change dialect to databases in production 24x7?
> During planned maintenance downtime or using replication.

Not so simply in a database of 30Gb, that takes 2 days to move data.

> SY, SD.

All databases i have in my customers are dialect 1, and i was thinking to use gfix to move to dialect 3.