<!-- ##### SECTION Title ##### -->
GdaQueryJoin

<!-- ##### SECTION Short_Description ##### -->
Represents a join between two different entities

<!-- ##### SECTION Long_Description ##### -->
<para>
This object is a join, within a SELECT query, between two different entities participating in the query;
the entoties are themselves represented by #GdaQueryTarget objects. It is important to specify joinning conditions
as joins and not simply as WHERE conditions because the joins carry more information than a simple condition
and because some features of Libmergeant rely on the joins analysis.
</para>
<para>
It implements the #GdaXmlStorage and #GdaReferer interfaces.
</para>

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

</para>

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


<!-- ##### STRUCT GdaQueryJoin ##### -->
<para>

</para>


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

</para>

@dbjoin: the object which received the signal.

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

</para>

@dbjoin: the object which received the signal.

<!-- ##### ARG GdaQueryJoin:query ##### -->
<para>

</para>

<!-- ##### ARG GdaQueryJoin:target1 ##### -->
<para>

</para>

<!-- ##### ARG GdaQueryJoin:target1-id ##### -->
<para>

</para>

<!-- ##### ARG GdaQueryJoin:target2 ##### -->
<para>

</para>

<!-- ##### ARG GdaQueryJoin:target2-id ##### -->
<para>

</para>

<!-- ##### ENUM GdaQueryJoinType ##### -->
<para>

</para>

@GDA_QUERY_JOIN_TYPE_INNER: 
@GDA_QUERY_JOIN_TYPE_LEFT_OUTER: 
@GDA_QUERY_JOIN_TYPE_RIGHT_OUTER: 
@GDA_QUERY_JOIN_TYPE_FULL_OUTER: 
@GDA_QUERY_JOIN_TYPE_CROSS: 
@GDA_QUERY_JOIN_TYPE_LAST: 

<!-- ##### FUNCTION gda_query_join_new_with_targets ##### -->
<para>

</para>

@query: 
@target_1: 
@target_2: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_new_with_xml_ids ##### -->
<para>

</para>

@query: 
@target_1_xml_id: 
@target_2_xml_id: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_new_copy ##### -->
<para>

</para>

@orig: 
@replacements: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_set_join_type ##### -->
<para>

</para>

@join: 
@type: 


<!-- ##### FUNCTION gda_query_join_get_join_type ##### -->
<para>

</para>

@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_get_query ##### -->
<para>

</para>

@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_get_target_1 ##### -->
<para>

</para>

@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_get_target_2 ##### -->
<para>

</para>

@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_swap_targets ##### -->
<para>

</para>

@join: 


<!-- ##### FUNCTION gda_query_join_set_condition_from_fkcons ##### -->
<para>

</para>

@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_set_condition_from_sql ##### -->
<para>

</para>

@join: 
@cond: 
@error: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_set_condition ##### -->
<para>

</para>

@join: 
@cond: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_get_condition ##### -->
<para>

</para>

@join: 
@Returns: 


<!-- ##### FUNCTION gda_query_join_render_type ##### -->
<para>

</para>

@join: 
@Returns: 


