1
<!-- ##### SECTION Title ##### -->
4
<!-- ##### SECTION Short_Description ##### -->
5
Represents any kind of DML query
7
<!-- ##### SECTION Long_Description ##### -->
9
Any query (which can be of any type, see the #MgQueryType enum) can be represented by a #MgQuery object. Also a query may require some parameters
10
to be provided before in can be executed; each parameter is then represented by a #MgParameter object, and parameters required for a query
11
are organised within a #MgContext object.
14
It implements the #MgEntity, #MgXmlStorage, #MgReferer and #MgRenderer interfaces.
17
<!-- ##### SECTION See_Also ##### -->
22
<!-- ##### STRUCT MgQuery ##### -->
28
<!-- ##### SIGNAL MgQuery::condition-changed ##### -->
33
@mgquery: the object which received the signal.
35
<!-- ##### SIGNAL MgQuery::join-added ##### -->
40
@mgquery: the object which received the signal.
43
<!-- ##### SIGNAL MgQuery::join-removed ##### -->
48
@mgquery: the object which received the signal.
51
<!-- ##### SIGNAL MgQuery::join-updated ##### -->
56
@mgquery: the object which received the signal.
59
<!-- ##### SIGNAL MgQuery::sub-query-added ##### -->
64
@mgquery: the object which received the signal.
67
<!-- ##### SIGNAL MgQuery::sub-query-removed ##### -->
72
@mgquery: the object which received the signal.
75
<!-- ##### SIGNAL MgQuery::sub-query-updated ##### -->
80
@mgquery: the object which received the signal.
83
<!-- ##### SIGNAL MgQuery::target-added ##### -->
88
@mgquery: the object which received the signal.
91
<!-- ##### SIGNAL MgQuery::target-removed ##### -->
96
@mgquery: the object which received the signal.
99
<!-- ##### SIGNAL MgQuery::target-updated ##### -->
104
@mgquery: the object which received the signal.
107
<!-- ##### SIGNAL MgQuery::type-changed ##### -->
112
@mgquery: the object which received the signal.
114
<!-- ##### ARG MgQuery:cond-serial ##### -->
119
<!-- ##### ARG MgQuery:field-serial ##### -->
124
<!-- ##### ARG MgQuery:really-all-fields ##### -->
129
<!-- ##### ARG MgQuery:target-serial ##### -->
134
<!-- ##### ENUM MgQueryType ##### -->
139
@MG_QUERY_TYPE_SELECT:
140
@MG_QUERY_TYPE_INSERT:
141
@MG_QUERY_TYPE_UPDATE:
142
@MG_QUERY_TYPE_DELETE:
143
@MG_QUERY_TYPE_UNION: Union of SELECT queries
144
@MG_QUERY_TYPE_INTERSECT: Intersection of SELECT queries
145
@MG_QUERY_TYPE_EXCEPT: A SELECT query minus another SELECT query
146
@MG_QUERY_TYPE_NON_PARSED_SQL:
148
<!-- ##### FUNCTION mg_query_get_type ##### -->
156
<!-- ##### FUNCTION mg_query_new ##### -->
165
<!-- ##### FUNCTION mg_query_new_from_sql ##### -->
176
<!-- ##### FUNCTION mg_query_new_copy ##### -->
186
<!-- ##### FUNCTION mg_query_set_query_type ##### -->
195
<!-- ##### FUNCTION mg_query_get_query_type ##### -->
204
<!-- ##### FUNCTION mg_query_get_query_type_string ##### -->
213
<!-- ##### FUNCTION mg_query_is_select_query ##### -->
222
<!-- ##### FUNCTION mg_query_is_modif_query ##### -->
231
<!-- ##### FUNCTION mg_query_get_parent_query ##### -->
240
<!-- ##### FUNCTION mg_query_is_equal_to ##### -->
250
<!-- ##### FUNCTION mg_query_get_field_by_sql_naming ##### -->
258
<!-- # Unused Parameters # -->
263
<!-- ##### FUNCTION mg_query_get_fields_by_target ##### -->
270
@visible_fields_only:
274
<!-- ##### FUNCTION mg_query_get_visible_field_by_ref_field ##### -->
285
<!-- ##### FUNCTION mg_query_get_any_field_by_ref_field ##### -->
296
<!-- ##### FUNCTION mg_query_set_sql_text ##### -->
306
<!-- ##### FUNCTION mg_query_get_sql_text ##### -->
315
<!-- ##### FUNCTION mg_query_get_sub_queries ##### -->
324
<!-- ##### FUNCTION mg_query_add_sub_query ##### -->
333
<!-- ##### FUNCTION mg_query_del_sub_query ##### -->
342
<!-- ##### FUNCTION mg_query_get_param_sources ##### -->
351
<!-- ##### FUNCTION mg_query_add_param_source ##### -->
360
<!-- ##### FUNCTION mg_query_del_param_source ##### -->
369
<!-- ##### FUNCTION mg_query_add_target ##### -->
380
<!-- ##### FUNCTION mg_query_del_target ##### -->
389
<!-- ##### FUNCTION mg_query_get_targets ##### -->
398
<!-- ##### FUNCTION mg_query_get_target_by_xml_id ##### -->
408
<!-- ##### FUNCTION mg_query_get_target_by_alias ##### -->
418
<!-- ##### FUNCTION mg_query_get_target_pkfields ##### -->
428
<!-- ##### FUNCTION mg_query_get_joins ##### -->
437
<!-- ##### FUNCTION mg_query_get_join_by_targets ##### -->
448
<!-- ##### FUNCTION mg_query_add_join ##### -->
458
<!-- ##### FUNCTION mg_query_del_join ##### -->
467
<!-- ##### FUNCTION mg_query_set_condition ##### -->
476
<!-- ##### FUNCTION mg_query_get_condition ##### -->
485
<!-- ##### FUNCTION mg_query_get_main_conditions ##### -->
494
<!-- ##### FUNCTION mg_query_set_order_by_field ##### -->
505
<!-- ##### FUNCTION mg_query_get_order_by_field ##### -->
516
<!-- ##### FUNCTION mg_query_expand_all_field ##### -->
526
<!-- ##### FUNCTION mg_query_order_fields_using_join_conds ##### -->