Skip to main content

DDL history

The attrep_ddl_history table contains a history of DDL changes that occurred in the source during replication to the target.

Note:

The DDL History table is currently supported with the following target endpoints only:

  • Hadoop
  • Hortonworks Data Platform
  • Microsoft Azure HDInsight
  • Amazon EMR
  • Google Dataproc
  • Microsoft Azure Databricks
  • Cloudera Data Platform (CDP) Private Cloud

A new record is inserted into the table whenever a supported DDL change occurs in the source. Multiple ALTER TABLE statements that occur during a task may be represented as a single row in the control table. The JSON buffer (see below) describes all the changes that occurred (e.g. ADD COLUMN A, DROP COLUMN B, ALTER COLUMN C).

For information on enabling the DDL History Control Table as well as its limitations, see Control tables.

Note:

When the Apply Changes task option is enabled, an entry is created for the base table (e.g. tblT1). If the Store Changes task option is also enabled, an additional entry is created for the CT table (e.g. tblT1__CT).

Column descriptions
Column Type Description

SERVER_NAME

STRING

The name of the machine on which Qlik Replicate is installed.

TASK_NAME

STRING

The name of the Qlik Replicate task.

TABLE_OWNER

STRING

The source table schema or owner.

TABLE_NAME

STRING

The source table name. If the table was renamed, this will be the table name before the change.

CHANGE_SEQ

STRING

See Change_Seq in Using Change Tables.

TIMESTAMP

TIMESTAMP

When the change occurred.

TABLE_VERSION

INTEGER

Replicate assigns an internal version number to the table. The version number increases whenever a DDL change occurs in the source table.

DDL_TYPE

STRING

CREATE_TABLE, DROP_TABLE, ALTER_TABLE, TRUNCATE_TABLE

DETAILS

CLOB

JSON document describing the change(s)

Example:

{
	"owner": "string",
	"table": "string",
	"tableNewName": "string",   
	"version": number,
	"columns":
	{
		"col1":           
		{
			"columnNewName": "string",  
			"action": "string",            
			"type":" string",               
			"length": number,
			"precision": number,
			"scale": number,
			"primaryKeyPosition": number,    
			"nullable": boolean, 
			"ordinal": number 
		},
		"col2":
		{
			…
		}
	}
}

where:

  • tableNewName is NULL if the table was not renamed
  • col1 and col2 are the original column names (or the only column names if the columns were not renamed)
  • columnNewName is the new column name or NULL if the column was not renamed
  • action is ADD (also for CREATE TABLE), DROP, or ALTER
  • type is the Replicate data type
  • primaryKeyPosition is ZERO if the column is not part of the primary key