Unofficial Content
  • This documentation is valid for:

Allows the user to select which one of these types of joins is going to be performed.

Values

Use Model’s Property Value The model’s property value is considered. This is the default value.
Use Default for Server The value which is set is the DBMS' default value. The type of default join for DBMSs is Outer, if they support it, and Natural if not (for more information refer to the documentation of the specific DBMS you are using).
Natural Join When the Join is resolved in the Server and the Natural Join schema is being used, the Select fails
Outer Join When this Join is resolved in the Server and the Outer Join schema is being used, the result of the Select is as follows

Example

The example below clarifies when Joins are performed.
Navigation                                 Returned Attributes
INVOICE                                   INVNO INVDATE CLICODE
            |          
            |
            |- > CLIENT                   CLINAME CTRYCODE
                        |
                        |-> CTRY           CTRYNAME
           
Suppose that when the INVOICE-CLIENT join is to be performed, it fails. This occurs because the Invoice exists but the Client does not.
We will analyze both cases:

Natural Join: When the Join is resolved in the Server and the Natural Join schema is being used, the Select fails and the Invoice will not be included in the selection.
Outer Join: When this Join is resolved in the Server and the Outer Join schema is being used, the result of the Select is as follows:
For attributes INVNO, INVDATE, CLICODE : It will return the values stored in the Invoices table.
For attributes CLINAME, CTRYCODE, CTRYNAME : It will return null values.
Default for the Server
The value which is set is the DBMS' default value.
The type of default join for DBMSs is Outer, if they support it and Natural if not (for more information refer to the documentation of the specific DBMS you are using).

Notes:

  • The Joins performed in Transactions are performed in the Client program.
  • This configuration option is only considered if "Join tables in the Server" is set in the Join Management Property. When, "Join tables in the Client" is selected, the generator resolves the join in the Client via the Outer Join criteria, regardless of the value assigned to JOIN TYPE and the DBMS' default value. To accomplish this (perform joins), the code is generated in the client.
  • When the selected DBMS is DB2 Universal Database, you have to keep in mind that Outer Join is only supported from version 5 and up. If the Outer Join option is selected and the DBMS doesn’t support it (prior to version 5) then compilation or execution errors will occur.
  • When the selected DBMS is DB2 UDB for iSeries, you have to keep in mind that Outer Join is only supported from OS version 3.1 and up. In the particular case of version 3.1 you must install PTF SF22302; otherwise, a syntax error will occur when executing.
  • The property at object level has priority over the one specified at model level.

Scope

Objects: Procedures, Reports, Web Panels, Work Panels
Languages: .NET, C/SQL, Java, Visual Basic, Visual FoxPro

See Also

Join Management Model Property
Join Type Model Property

Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant