GeneXus Client/Server generators can perform joins in two places: in the DBMS or in each program (once the corresponding code is generated). Normally, joins undergone in the DBMS is more efficient than having them carried out in the program (reduces network traffic, lesser code).
Thus this option allows you to establish where you want the joins to be carried out.
Use Model’s Property Value: The model’s property value is considered.
Join Tables on the Server: This will cause the GeneXus Client/Server generators to try to force the resolution of all joins in the server.
Join Tables on the Client will cause the GeneXus Client/Server generators to generate code so that the joins will be resolved in the client or server.
Default Value = Use model’s property value
Restrictions
This optimization is performed automatically with the following restrictions:
- The base table for the For Each group must be remote.
- Local tables are excluded from the sentence.
- The tables which are accessed because of the use of subtypes are not included in a For Each's SELECT sentence. SELECT sentences are generated for each specified subtype.
- The tables whose keys must be calculated be means of a formula are not included in the For Each's SELECT. SELECT sentences are generated for each of these types of specifications.
The tables involved in the navigation of the BREAK groups which are not involved in the navigation of the father For Each group will be accessed via the specified SELECT sentences.
Update and Delete
Some DBMSs do not directly support the WHERE CURRENT OF clause which GeneXus uses to delete or update records, but they are done via the ODBC Driver.
For those DBMSs which do not support these clauses (for example Oracle) the UPDATE and DELETE will be generated using one WHERE (condition) equivalent to the table's primary key over which it is operating.
This property exists mainly for compatibility reasons, because in prior versions Outer Join was not supported in DB2 Universal Database, Informix and DB2 UDB for iSeries.
The property at object level has priority over the one specified at model level.
Objects: Procedures, Reports, Web Panels, Work Panels
Languages: .NET, C/SQL, Java, Visual Basic, Visual FoxProSee Also
Join Management Model Property
Join Type Object Property