![]() |
![]() |
![]() |
GNOME Data Access 4 manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
GdaStatement; enum GdaStatementSqlFlag; enum GdaStatementModelUsage; enum GdaStatementError; GdaStatement * gda_statement_new (void
); GdaStatement * gda_statement_copy (GdaStatement *orig
); gchar * gda_statement_serialize (GdaStatement *stmt
); gboolean gda_statement_get_parameters (GdaStatement *stmt
,GdaSet **out_params
,GError **error
); #define gda_statement_to_sql (stmt, params, error) gchar * gda_statement_to_sql_extended (GdaStatement *stmt
,GdaConnection *cnc
,GdaSet *params
,GdaStatementSqlFlag flags
,GSList **params_used
,GError **error
); GdaSqlStatementType gda_statement_get_statement_type (GdaStatement *stmt
); gboolean gda_statement_is_useless (GdaStatement *stmt
); gboolean gda_statement_check_structure (GdaStatement *stmt
,GError **error
); gboolean gda_statement_check_validity (GdaStatement *stmt
,GdaConnection *cnc
,GError **error
); gboolean gda_statement_normalize (GdaStatement *stmt
,GdaConnection *cnc
,GError **error
);
typedef enum { GDA_STATEMENT_SQL_PARAMS_AS_VALUES = 0, GDA_STATEMENT_SQL_PRETTY = 1 << 0, GDA_STATEMENT_SQL_PARAMS_LONG = 1 << 1, GDA_STATEMENT_SQL_PARAMS_SHORT = 1 << 2, GDA_STATEMENT_SQL_PARAMS_AS_COLON = 1 << 3, GDA_STATEMENT_SQL_PARAMS_AS_DOLLAR = 1 << 4, GDA_STATEMENT_SQL_PARAMS_AS_QMARK = 1 << 5, GDA_STATEMENT_SQL_PARAMS_AS_UQMARK = 1 << 6 } GdaStatementSqlFlag;
typedef enum { GDA_STATEMENT_MODEL_RANDOM_ACCESS = 1 << 0, GDA_STATEMENT_MODEL_CURSOR_FORWARD = 1 << 1, GDA_STATEMENT_MODEL_CURSOR_BACKWARD = 1 << 2, GDA_STATEMENT_MODEL_CURSOR = GDA_STATEMENT_MODEL_CURSOR_FORWARD | GDA_STATEMENT_MODEL_CURSOR_BACKWARD, GDA_STATEMENT_MODEL_ALLOW_NOPARAM = 1 << 3 } GdaStatementModelUsage;
typedef enum { GDA_STATEMENT_PARSE_ERROR, GDA_STATEMENT_SYNTAX_ERROR, GDA_STATEMENT_NO_CNC_ERROR, GDA_STATEMENT_CNC_CLOSED_ERROR, GDA_STATEMENT_EXEC_ERROR, GDA_STATEMENT_PARAM_TYPE_ERROR, GDA_STATEMENT_PARAM_ERROR } GdaStatementError;
GdaStatement * gda_statement_new (void
);
Creates a new GdaStatement object
Returns : |
the new object |
GdaStatement * gda_statement_copy (GdaStatement *orig
);
Copy constructor
|
a GdaStatement to make a copy of |
Returns : |
a the new copy of orig . [transfer full]
|
gchar * gda_statement_serialize (GdaStatement *stmt
);
Creates a string representing the contents of stmt
.
|
a GdaStatement object |
Returns : |
a string containing the serialized version of stmt
|
gboolean gda_statement_get_parameters (GdaStatement *stmt
,GdaSet **out_params
,GError **error
);
Get a new GdaSet object which groups all the execution parameters
which stmt
needs. This new object is returned though out_params
.
Note that if stmt
does not need any parameter, then out_params
is set to NULL
.
|
a GdaStatement object |
|
a place to store a new GdaSet object, or NULL . [out][allow-none][transfer full]
|
|
a place to store errors, or NULL
|
Returns : |
TRUE if no error occurred. |
#define gda_statement_to_sql(stmt,params,error) gda_statement_to_sql_extended ((stmt), NULL, (params), GDA_STATEMENT_SQL_PARAMS_SHORT, NULL, (error))
gchar * gda_statement_to_sql_extended (GdaStatement *stmt
,GdaConnection *cnc
,GdaSet *params
,GdaStatementSqlFlag flags
,GSList **params_used
,GError **error
);
Renders stmt
as an SQL statement, with some control on how it is rendered.
If cnc
is not NULL
, then the rendered SQL will better be suited to be used by cnc
(in particular
it may include some SQL tweaks and/or proprietary extensions specific to the database engine used by cnc
):
in this case the result is similar to calling gda_connection_statement_to_sql()
.
|
a GdaStatement object |
|
a GdaConnection object, or NULL . [allow-none]
|
|
parameters contained in a single GdaSet object, or NULL . [allow-none]
|
|
a set of flags to control the rendering |
|
a place to store the list of actual GdaHolder objects in params used to do the rendering, or NULL . [element-type GdaHolder][out][transfer container][allow-none]
|
|
a place to store errors, or NULL
|
Returns : |
a new string if no error occurred. [transfer full] |
GdaSqlStatementType gda_statement_get_statement_type (GdaStatement *stmt
);
Get the type of statement held by stmt
. It returns GDA_SQL_STATEMENT_NONE if
stmt
does not hold any statement
|
a GdaStatement object |
Returns : |
the statement type. [transfer none] |
gboolean gda_statement_is_useless (GdaStatement *stmt
);
Tells if stmt
is composed only of spaces (that is it has no real SQL code), and is completely
useless as such.
|
a GdaStatement object |
Returns : |
TRUE if executing stmt does nothing |
gboolean gda_statement_check_structure (GdaStatement *stmt
,GError **error
);
Checks that stmt
's structure is correct.
|
a GdaStatement object |
|
a place to store errors, or NULL
|
Returns : |
TRUE if stmt 's structure is correct |
gboolean gda_statement_check_validity (GdaStatement *stmt
,GdaConnection *cnc
,GError **error
);
If cnc
is not NULL
then checks that every object (table, field, function) used in stmt
actually exists in cnc
's database
If cnc
is NULL
, then cleans anything related to cnc
in stmt
.
See gda_sql_statement_check_validity()
for more information.
|
a GdaStatement object |
|
a GdaConnection object, or NULL . [allow-none]
|
|
a place to store errors, or NULL
|
Returns : |
TRUE if every object actually exists in cnc 's database |
gboolean gda_statement_normalize (GdaStatement *stmt
,GdaConnection *cnc
,GError **error
);
"Normalizes" some parts of stmt
, see gda_sql_statement_normalize()
for more
information.
|
a GdaStatement object |
|
a GdaConnection object |
|
a place to store errors, or NULL
|
Returns : |
TRUE if no error occurred |
"checked"
signalvoid user_function (GdaStatement *stmt,
GdaConnection *arg1,
gboolean arg2,
gpointer user_data) : Run First
Gets emitted whenever the structure and contents
of stmt
have been verified (emitted after gda_statement_check_validity()
).
|
the GdaStatement object |
|
user data set when the signal handler was connected. |
"reset"
signalvoid user_function (GdaStatement *stmt,
gpointer user_data) : Run First
Gets emitted whenever the stmt
has changed
|
the GdaStatement object |
|
user data set when the signal handler was connected. |