<!-- ##### SECTION Title ##### -->
GdaQuery

<!-- ##### SECTION Short_Description ##### -->
Represents any kind of DML query

<!-- ##### SECTION Long_Description ##### -->
<para>
Any query (which can be of any type, see the #GdaQueryType enum) can be represented by a #GdaQuery object. Also a query may require some parameters
to be provided before in can be executed; each parameter is then represented by a #GdaParameter object, and parameters required for a query
are organised within a #GdaParameterList object.
</para>
<para>
It implements the #GdaEntity, #GdaXmlStorage, #GdaReferer and #GdaRenderer interfaces.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### STRUCT GdaQuery ##### -->
<para>

</para>


<!-- ##### SIGNAL GdaQuery::condition-changed ##### -->
<para>

</para>

@dbquery: the object which received the signal.

<!-- ##### SIGNAL GdaQuery::join-added ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::join-removed ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::join-updated ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::sub-query-added ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::sub-query-removed ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::sub-query-updated ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::target-added ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::target-removed ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::target-updated ##### -->
<para>

</para>

@dbquery: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GdaQuery::type-changed ##### -->
<para>

</para>

@dbquery: the object which received the signal.

<!-- ##### ARG GdaQuery:auto-clean ##### -->
<para>

</para>

<!-- ##### ARG GdaQuery:cond-serial ##### -->
<para>

</para>

<!-- ##### ARG GdaQuery:field-serial ##### -->
<para>

</para>

<!-- ##### ARG GdaQuery:really-all-fields ##### -->
<para>

</para>

<!-- ##### ARG GdaQuery:target-serial ##### -->
<para>

</para>

<!-- ##### ENUM GdaQueryType ##### -->
<para>

</para>

@GDA_QUERY_TYPE_SELECT: 
@GDA_QUERY_TYPE_INSERT: 
@GDA_QUERY_TYPE_UPDATE: 
@GDA_QUERY_TYPE_DELETE: 
@GDA_QUERY_TYPE_UNION: 
@GDA_QUERY_TYPE_INTERSECT: 
@GDA_QUERY_TYPE_EXCEPT: 
@GDA_QUERY_TYPE_NON_PARSED_SQL: 

<!-- ##### FUNCTION gda_query_new ##### -->
<para>

</para>

@dict: 
@Returns: 


<!-- ##### FUNCTION gda_query_new_copy ##### -->
<para>

</para>

@orig: 
@replacements: 
@Returns: 


<!-- ##### FUNCTION gda_query_new_from_sql ##### -->
<para>

</para>

@dict: 
@sql: 
@error: 
@Returns: 


<!-- ##### FUNCTION gda_query_declare_condition ##### -->
<para>

</para>

@query: 
@cond: 


<!-- ##### FUNCTION gda_query_undeclare_condition ##### -->
<para>

</para>

@query: 
@cond: 


<!-- ##### FUNCTION gda_query_set_query_type ##### -->
<para>

</para>

@query: 
@type: 


<!-- ##### FUNCTION gda_query_get_query_type ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_query_type_string ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_is_select_query ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_is_insert_query ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_is_update_query ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_is_delete_query ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_is_modif_query ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_set_sql_text ##### -->
<para>

</para>

@query: 
@sql: 
@error: 


<!-- ##### FUNCTION gda_query_get_sql_text ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_parent_query ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_field_by_ref_field ##### -->
<para>

</para>

@query: 
@target: 
@ref_field: 
@field_state: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_first_field_for_target ##### -->
<para>

</para>

@query: 
@target: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_sub_queries ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_add_param_source ##### -->
<para>

</para>

@query: 
@param_source: 


<!-- ##### FUNCTION gda_query_del_param_source ##### -->
<para>

</para>

@query: 
@param_source: 


<!-- ##### FUNCTION gda_query_get_param_sources ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_add_sub_query ##### -->
<para>

</para>

@query: 
@sub_query: 


<!-- ##### FUNCTION gda_query_del_sub_query ##### -->
<para>

</para>

@query: 
@sub_query: 


<!-- ##### FUNCTION gda_query_get_targets ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_add_target ##### -->
<para>

</para>

@query: 
@target: 
@error: 
@Returns: 


<!-- ##### FUNCTION gda_query_del_target ##### -->
<para>

</para>

@query: 
@target: 


<!-- ##### FUNCTION gda_query_get_target_by_xml_id ##### -->
<para>

</para>

@query: 
@xml_id: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_target_by_alias ##### -->
<para>

</para>

@query: 
@alias_or_name: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_target_pkfields ##### -->
<para>

</para>

@query: 
@target: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_joins ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_join_by_targets ##### -->
<para>

</para>

@query: 
@target1: 
@target2: 
@Returns: 


<!-- ##### FUNCTION gda_query_add_join ##### -->
<para>

</para>

@query: 
@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_del_join ##### -->
<para>

</para>

@query: 
@join: 


<!-- ##### FUNCTION gda_query_get_condition ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_set_condition ##### -->
<para>

</para>

@query: 
@cond: 


<!-- ##### FUNCTION gda_query_add_field_from_sql ##### -->
<para>

</para>

@query: 
@field: 
@error: 
@Returns: 


<!-- ##### FUNCTION gda_query_set_order_by_field ##### -->
<para>

</para>

@query: 
@field: 
@order: 
@ascendant: 


<!-- ##### FUNCTION gda_query_get_order_by_field ##### -->
<para>

</para>

@query: 
@field: 
@ascendant: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_all_fields ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_field_by_sql_naming ##### -->
<para>

</para>

@query: 
@sql_naming: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_field_by_sql_naming_fields ##### -->
<para>

</para>

@query: 
@sql_name: 
@fields_list: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_fields_by_target ##### -->
<para>

</para>

@query: 
@target: 
@visible_fields_only: 
@Returns: 


<!-- ##### FUNCTION gda_query_get_main_conditions ##### -->
<para>

</para>

@query: 
@Returns: 


<!-- ##### FUNCTION gda_query_append_condition ##### -->
<para>

</para>

@query: 
@cond: 
@append_as_and: 


<!-- ##### FUNCTION gda_query_expand_all_field ##### -->
<para>

</para>

@query: 
@target: 
@Returns: 


<!-- ##### FUNCTION gda_query_order_fields_using_join_conds ##### -->
<para>

</para>

@query: 


