| GNOME Data Access 3.0 manual | ||||
|---|---|---|---|---|
GdaRendererGdaRenderer — Interface to get representations of objects as SQL statements, XML nodes or human readable text |
GdaRenderer;
enum GdaRendererOptions;
gchar* gda_renderer_render_as_sql (GdaRenderer *iface,
GdaParameterList *context,
GSList **out_params_used,
GdaRendererOptions options,
GError **error);
gchar* gda_renderer_render_as_str (GdaRenderer *iface,
GdaParameterList *context);
gboolean gda_renderer_is_valid (GdaRenderer *iface,
GdaParameterList *context,
GError **error);
GdaRenderer is implemented by GdaQueryFieldFunc, GdaQueryFieldAgg, GdaQueryFieldValue, GdaQueryCondition, GdaQueryFieldAll, GdaQueryTarget, GdaDictField, GdaQuery and GdaQueryFieldField.
typedef enum {
GDA_RENDERER_EXTRA_PRETTY_SQL = 1 << 0,
GDA_RENDERER_PARAMS_AS_DETAILED = 1 << 1,
GDA_RENDERER_ERROR_IF_DEFAULT = 1 << 2,
GDA_RENDERER_FIELDS_NO_TARGET_ALIAS = 1 << 3,
GDA_RENDERER_PARAMS_AS_COLON = 1 << 4,/* params as :param_name, replacing any char not in [0-9A-Za-z] by '_' */
GDA_RENDERER_PARAMS_AS_DOLLAR = 1 << 5,/* params as $1, $2, etc (starts at $1) */
GDA_RENDERER_PARAMS_AS_QMARK = 1 << 6 /* params as ?1, ?2, etc (starts at ?1) */
} GdaRendererOptions;
| The rendered statement will output easy to read SQL | |
parameters will be rendered using the :param_name notation (the parameter is "encoded" using gda_parameter_get_alphanum_name(), use gda_alphanum_to_text() to get the unencoded version
|
|
| parameters will be rendered using the ?NNN notation where NNN is the prrameter index | |
| parameters will be rendered using the ?NNN notation where NNN is the prrameter index |
gchar* gda_renderer_render_as_sql (GdaRenderer *iface, GdaParameterList *context, GSList **out_params_used, GdaRendererOptions options, GError **error);
Build a SQL statement representing the object, in the specified context.
If context is NULL, then no error related to missing parameters (which should be in the
context) is returned, and missing values are replaced by 'human readable' SQL.
If out_params_used is not NULL, then pointers to the GdaParameter objects used to actually
render the SQL statement are appended to the list (in case a parameter object is used several times,
it is only once listed in the resulting list).
|
an object which implements the GdaRenderer interface |
|
a GdaParameterList containing values for iface's parameters, or NULL
|
|
a place to append GdaParameter which have been used during the rendering process, or NULL
|
|
OR'ed flags from GdaRendererOptions to give some rendering options |
|
location to store error, or NULL
|
Returns : |
the new SQL statement (new string), or NULL in case of error
|
gchar* gda_renderer_render_as_str (GdaRenderer *iface, GdaParameterList *context);
Build a human readable string representing the object, in the specified context.
|
an object which implements the GdaRenderer interface |
|
rendering context |
Returns : |
the new string |
gboolean gda_renderer_is_valid (GdaRenderer *iface, GdaParameterList *context, GError **error);
Tells if iface has all the necessary information in context to be rendered
into a valid statement (which can be executed).
|
an object which implements the GdaRenderer interface |
|
rendering context |
|
location to store error, or NULL
|
Returns : |
TRUE if iface can be rendered with context
|