Hi Isomorphic,
comparing 12.0p_2019-03-23 and 12.0p_2019-10-23 we noticed that there is a change in join generation where I need to know which one is correct, because the use itself clearly is OK.
Please see this modified BuiltInDS testcase:
animals.ds.xml:
server.properties addition:
URL to call in SuperDevMode in order to issue fetch:
Resulting SQL using 12.0p_2019-03-23 (OK):
Resulting SQL using 12.0p_2019-10-23 (invalid SQL):
I do like the old behavior better, but you might consider your change a bugfix (because I entered tableClause and there is no such thing as "joinClause").
Best regards
Blama
comparing 12.0p_2019-03-23 and 12.0p_2019-10-23 we noticed that there is a change in join generation where I need to know which one is correct, because the use itself clearly is OK.
Please see this modified BuiltInDS testcase:
animals.ds.xml:
Code:
<DataSource ID="animals" serverType="sql" tableName="animals" testFileName="animals.data.xml" > <fields> <field name="commonName" title="Animal" type="text"/> <field name="scientificName" title="Scientific Name" type="text" primaryKey="true" required="true" customSelectExpression="animals.scientificName" /> <field name="lifeSpan" title="Life Span" type="integer" foreignKey="employees.EmployeeId" customSelectExpression="animals.lifeSpan" joinType="outer"/> <field includeFrom="employees.Name" /> <field name="status" title="Endangered Status" type="text"> <valueMap> <value>Threatened</value> <value>Endangered</value> <value>Not Endangered</value> <value>Not currently listed</value> <value>May become threatened</value> <value>Protected</value> </valueMap> </field> <field name="diet" title="Diet" type="text"/> <field name="information" title="Interesting Facts" type="text" length="1000"/> <field name="picture" title="Picture" type="image" detail="true" imageURLPrefix="/isomorphic/system/reference/inlineExamples/tiles/images/"/> </fields> <operationBindings> <operationBinding operationType="fetch"> <tableClause>animals animals</tableClause> </operationBinding> </operationBindings> </DataSource>
Code:
sql.useAnsiJoins: true
Code:
[URL]http://127.0.0.1:8888/builtinds/sc/RESTHandler/animals/fetch/fetch[/URL]
Code:
SELECT animals.commonName, animals.scientificName AS scientificName, animals.lifeSpan AS lifeSpan, animals.status, animals.diet, animals.information, animals.picture, employeeTable.Name FROM animals animals LEFT OUTER JOIN employeeTable ON animals.lifeSpan = employeeTable.EmployeeId WHERE ('1' = '1');
Code:
SELECT animals.commonName, animals.scientificName AS scientificName, animals.lifeSpan AS lifeSpan, animals.status, animals.diet, animals.information, animals.picture, employeeTable.Name FROM animals animals WHERE ('1' = '1')
Best regards
Blama
Comment