## GdaDdlModifiable GdaDdlModifiable — Interface to peform DDL operation |

## Stability Level

Stable, unless otherwise indicated

## Functions

gboolean | gda_ddl_modifiable_create ()
gboolean | gda_ddl_modifiable_drop ()
gboolean | gda_ddl_modifiable_rename ()

## Types and Values

| GdaDdlModifiable
enum | GdaDdlModifiableError

## Object Hierarchy

        GInterface
        ╰── GdaDdlModifiable

## Prerequisites

GdaDdlModifiable requires GObject.

## Known Implementations

GdaDdlModifiable is implemented by GdaDbColumn, GdaDbIndex, GdaDbTable and GdaDbView.

## Includes

    #include <libgda/libgda.h>

## Description

This interface should be used to perform some DDL opration using objects that implement it. Calling `gda_ddl_modifiable_create()` on GdaDbColumn operation will execute ADD COLUMN operation. The user should pass a pointer to instance of GdaDbTable as user_data where column will be added (cretaed).

If the underlying object does not implement the operation, then `FALSE` is returned and the error is set.

## Functions

### gda_ddl_modifiable_create ()

    gboolean
    gda_ddl_modifiable_create (GdaDdlModifiable *self,
                               GdaConnection *cnc,
                               gpointer user_data,
                               GError **error);

This method executes CREATE operation. That is, GdaDbTable, GdaDbIndex, and GdaDbView implement corresponding CREATE TABLE | CREATE INDEX | CREATE VIEW operations. GdaDbColumn implements ADD COLUMN operation as part of ALTER TABLE operation.

#### Parameters

self | Instance of GdaDdlModifiable |
cnc | Opened connection |
user_data | Additional information provided by the user |
error | Error holder |

Since: 6.0

Stability Level: Stable

### gda_ddl_modifiable_drop ()

    gboolean
    gda_ddl_modifiable_drop (GdaDdlModifiable *self,
                             GdaConnection *cnc,
                             gpointer user_data,
                             GError **error);

Execute corresponding DROP operation

#### Parameters

self | Instance of GdaDdlModifiable |
cnc | Opened connection |
user_data | Additional information provided by the user |
error | Error holder |

Since: 6.0

Stability Level: Stable

### gda_ddl_modifiable_rename ()

    gboolean
    gda_ddl_modifiable_rename (GdaDdlModifiable *self,
                               GdaConnection *cnc,
                               gpointer user_data,
                               GError **error);

Execute corresponding RENAME operation. A lot of RENAME operations are not implemented by SQLite3 provider. In this case, the SQL object must be deleted and a new one should be created.

#### Parameters

self | Instance of GdaDdlModifiable |
cnc | Opened connection |
user_data | Additional information provided by the user |
error | Error holder |

Since: 6.0

Stability Level: Stable

## Types and Values

### GdaDdlModifiable

    typedef struct _GdaDdlModifiable GdaDdlModifiable;

### enum GdaDdlModifiableError

#### Members

GDA_DDL_MODIFIABLE_NOT_IMPLEMENTED |  |
GDA_DDL_MODIFIABLE_CONNECTION_NOT_OPENED |  |
GDA_DDL_MODIFIABLE_MISSED_DATA |  |

## See Also

GdaDbTable, GdaDbView, GdaDbIndex, GdaDbColumn