New Column Initialization

New Columns are not initialized

When new columns are added to an existing table using Dovetail SchemaEditor, they are not initialized.

Clarify/Amdocs schema editing tools (such as ddcomp) will initialize the column.

What does it mean to initialize a column?

Initialization means that all existing rows in the table will be updated, setting the new column's value.

What value does the Clarify/Amdocs tool initialize a column to?

Integer columns will be set to zero.

DateTime columns will be set to 1/1/1753 12:00:00 AM.

String columns will be set to an empty string.

What does the SQL look like when a column is initialized?

Examples:

What value will a new column have after adding it with Dovetail SchemaEditor?

It's value will be NULL.

Why doesn't Dovetail SchemaEditor initialize the column?

Dovetail has chosen to de-couple the schema change from data changes. This gives more control to the developer as to how and when the column initialization occurs, or if it occurs at all.

The initialization can be a very time-consuming and space-consuming process. On large tables, initializing a column can take hours, and the database also needs to account for rollback of this transaction if it fails, which can consume large amounts of rollback space. If the rollback space fills up, the transaction can fail.

In most applications, it doesn't matter if a column is NULL vs. zero, or NULL vs. empty string.

Does it matter?

Typically, no. Applications that use this data, such as the Clarify Client (and its underlying POMS layer), or Dovetail applications (and the underlying Dovetail SDK), know how to handle NULLs just fine.

Can I initialize the column myself?

Absolutely. Use your favorite SQL tool and initialize the column as you want.

Are there more efficient ways to initialize a column on a very large table?

Yes. Your DBA would be a good resource in this instance.

Additional information is available in the Dovetail Knowledgebase article titled "Efficient way to update all rows in a table", available online at:
http://support.dovetailsoftware.com/selfservice/solutions/show/503

See Also

Differences

User Defined

Next

Configuring SchemaEditor

New Column Initialization