GdaDbFkey

GdaDbFkey — Object to hold information for foregn key.

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GdaDbFkey

Implemented Interfaces

GdaDbFkey implements GdaDbBuildable.

Includes

#include <libgda/libgda.h>

Description

For generating database from xml file or for mapping database to an xml file GdaDbFkey holds information about foregn keys with a convenient set of methods to manipulate them. GdaDbFkey implements GdaDbBuildable interface for parsing xml file. This is an example how GdaDbFkey can be used:

1
2
3
4
5
6
7
GdaDbFkey *fkey = gda_db_fkey_new ();
gda_db_fkey_set_ref_table (fkey, "Project");
gda_db_fkey_set_ondelete (fkey, GDA_DB_FKEY_RESTRICT);
gda_db_fkey_set_onupdate (fkey, GDA_DB_FKEY_RESTRICT);
gda_db_fkey_set_field (fkey, "project_id", "id");

gda_db_table_append_fkey (temployee, fkey);

Functions

gda_db_fkey_new ()

GdaDbFkey *
gda_db_fkey_new (void);

Create a new GdaDbFkey object.

Since: 6.0

Stability Level: Stable


gda_db_fkey_new_from_meta ()

GdaDbFkey *
gda_db_fkey_new_from_meta (GdaMetaTableForeignKey *metafkey);

Create a new instance from the corresponding meta object. If metafkey is NULL, this function is identical to gda_db_fkey_new().

Parameters

metafkey

a GdaMetaTableForeignKey instance

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_field_name ()

const GList *
gda_db_fkey_get_field_name (GdaDbFkey *self);

Parameters

self

a GdaDbFkey object

 

Returns

A const GList of strings where each string corresponds to a foreign key field or NULL.

[element-type utf8][transfer none]

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_ref_field ()

const GList *
gda_db_fkey_get_ref_field (GdaDbFkey *self);

Parameters

self

a GdaDbFkey object

 

Returns

A GList of strings where each string corresponds to a foreign key reference field or NULL.

[element-type utf8][transfer none]

Since: 6.0

Stability Level: Stable


gda_db_fkey_set_field ()

void
gda_db_fkey_set_field (GdaDbFkey *self,
                       const gchar *field,
                       const gchar *reffield);

All arguments should be valid strings.

Parameters

self

An object GdaDbFkey

 

field

Field name as a string

 

reffield

A reference field name as a string

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_ref_table ()

const gchar *
gda_db_fkey_get_ref_table (GdaDbFkey *self);

Return: Returns reference table name as a string or NULL if table name hasn't been set.

Parameters

self

a GdaDbFkey object

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_set_ref_table ()

void
gda_db_fkey_set_ref_table (GdaDbFkey *self,
                           const gchar *rtable);

Set reference table

Parameters

self

GdaDbFkey object

 

rtable

reference table name

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_ondelete ()

const gchar *
gda_db_fkey_get_ondelete (GdaDbFkey *self);

Return: ON DELETE action as a string. If the action is not set then the string corresponding to NO_ACTION is returned.

Parameters

self

An object GdaDbFkey

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_ondelete_id ()

GdaDbFkeyReferenceAction
gda_db_fkey_get_ondelete_id (GdaDbFkey *self);

The default value is NO_ACTION

Return: ON DELETE action as a GdaDbFkeyReferenceAction.

Parameters

self

a GdaDbFkey object

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_set_ondelete ()

void
gda_db_fkey_set_ondelete (GdaDbFkey *self,
                          GdaDbFkeyReferenceAction id);

Set action for ON_DELETE

Parameters

self

An object GdaDbFkey

 

id

GdaDbFkeyReferenceAction action to set

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_onupdate ()

const gchar *
gda_db_fkey_get_onupdate (GdaDbFkey *self);

Parameters

self

a GdaDbFkey instance

 

Returns

ON_UPDATE action as a string. Never NULL

Since: 6.0

Stability Level: Stable


gda_db_fkey_get_onupdate_id ()

GdaDbFkeyReferenceAction
gda_db_fkey_get_onupdate_id (GdaDbFkey *self);

Return: ON_UPDATE action as a GdaDbFkeyReferenceAction

Parameters

self

a GdaDbFkey instance

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_set_onupdate ()

void
gda_db_fkey_set_onupdate (GdaDbFkey *self,
                          GdaDbFkeyReferenceAction id);

Set action for ON_UPDATE

Parameters

self

An object GdaDbFkey

 

id

GdaDbFkeyReferenceAction action to set

 

Since: 6.0

Stability Level: Stable


gda_db_fkey_prepare_create ()

gboolean
gda_db_fkey_prepare_create (GdaDbFkey *self,
                            GdaServerOperation *op,
                            gint i,
                            GError **error);

Prepare op object for execution by populating with information stored in self .

Parameters

self

a GdaDbFkey instance

 

op

a GdaServerOperation to populate

 

i

Order number

 

error

error container

 

Returns

TRUE if no error or FALSE otherwise.

Since: 6.0

Stability Level: Stable

Types and Values

GdaDbFkey

typedef struct _GdaDbFkey GdaDbFkey;

GDA_TYPE_DB_FKEY

#define GDA_TYPE_DB_FKEY (gda_db_fkey_get_type())

enum GdaDbFkeyReferenceAction

Specify numeric value for the actions, e.g. "ON DELETE" and "ON UPDATE"

Members

GDA_DB_FKEY_NO_ACTION

Action is not specified.

 

GDA_DB_FKEY_SET_NULL

Action value is set to NULL

 

GDA_DB_FKEY_RESTRICT

Value is set to "RESTRICT"

 

GDA_DB_FKEY_SET_DEFAULT

Value is set to default behavior

 

GDA_DB_FKEY_CASCADE

Value is set to cascade