Version: SmartClient Version: v13.0p_2022-05-25/Enterprise Deployment (built 2022-05-25)
We're calling DSRequest.setValues() from the server with List<Map>> to add multiple records. When we do this only the first record gets the creator, creatorTimestamp, modifier, modifierTimestamp fields filled in.
Here's our ds.xml:
Here's an example of the logs while adding 2 records:
In the second INSERT statement all of the creator, creatorTimestamp, modifier, modifierTimestamp fields are missing.
I know we can create a separate DSRequest for each record to be inserted, but is this something that can be fixed?
Thanks!
We're calling DSRequest.setValues() from the server with List<Map>> to add multiple records. When we do this only the first record gets the creator, creatorTimestamp, modifier, modifierTimestamp fields filled in.
Here's our ds.xml:
Code:
<DataSource ID="DoorFscLeedSQL" serverType="sql" tableName="door_fsc_leed" dropExtraFields="false"> <fields> <field name="door_fsc_leed_id" type="sequence" primaryKey="true"/> <field name="door_id" type="integer" hidden="true" foreignKey="DoorSQL.doorId" joinType="outer"/> <field name="code_id" type="integer" foreignKey="CodeSQL.code_id" joinType="outer"/> <field name="code" type="text" length="100" includeFrom="CodeSQL.code"/> <field name="description" type="text" length="100" includeFrom="CodeSQL.description"/> <field name="codeTypeId" type="integer" includeFrom="CodeSQL.code_type_id"/> <field name="concatValue" type="text" includeFrom="CodeSQL.concatValue"/> <field name="created_by" type="creator"/> <field name="created_time" type="creatorTimestamp"/> <field name="modified_by" type="modifier"/> <field name="modified_time" type="modifierTimestamp"/> </fields> </DataSource>
Code:
2022-08-09 14:23:16.835 INFO com.isomorphic.datasource.DSRequest:228 - - Executing DoorFscLeedSQL.add with criteria: {} values: 2 valueSets 2022-08-09 14:23:16.849 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.874 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.889 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.904 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.921 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.938 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.953 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.971 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:16.987 WARN com.isomorphic.datasource.DSRequest:220 - - getValues() called on dsRequest containing multiple sets of values, returning first in list. 2022-08-09 14:23:17.040 INFO com.isomorphic.sql.SQLDriver:228 - - Executing SQL query on 'Mysql': INSERT INTO door_fsc_leed (code_id, created_by, created_time, door_id, modified_by, modified_time, door_fsc_leed_id) VALUES (-561004, '11', '2022-08-09 14:23:11', 608, '11', '2022-08-09 14:23:11', NULL) 2022-08-09 14:23:17.136 INFO com.isomorphic.sql.SQLDriver:228 - - Executing SQL query on 'Mysql': SELECT LAST_INSERT_ID() 2022-08-09 14:23:17.242 INFO com.isomorphic.sql.SQLDataSource:228 - - primaryKeys: {door_fsc_leed_id=5} 2022-08-09 14:23:17.283 INFO com.isomorphic.datasource.DSRequest:228 - - Executing DoorFscLeedSQL.fetch rows: 0->-1 with criteria: {door_fsc_leed_id:5} 2022-08-09 14:23:17.347 INFO com.isomorphic.sql.SQLDataSource:228 - - 164: Executing cache sync query on 'Mysql': SELECT door_fsc_leed.door_fsc_leed_id, door_fsc_leed.door_id, door_fsc_leed.code_id, door_fsc_leed.created_by, door_fsc_leed.created_time, door_fsc_leed.modified_by, door_fsc_leed.modified_time, code.code, code.description, code.code_type_id AS codeTypeId, CONCAT(code.code, '-', code.description) AS concatValue FROM door_fsc_leed LEFT OUTER JOIN code ON door_fsc_leed.code_id = code.code_id WHERE ( door_fsc_leed.door_fsc_leed_id=5 ) LIMIT 0, 1 2022-08-09 14:23:17.434 INFO com.isomorphic.datasource.DSResponse:228 - - DSResponse: List with 1 items 2022-08-09 14:23:17.474 INFO com.isomorphic.sql.SQLDriver:228 - - Executing SQL query on 'Mysql': INSERT INTO door_fsc_leed (code_id, door_id, door_fsc_leed_id) VALUES (-561005, 608, NULL) 2022-08-09 14:23:17.568 INFO com.isomorphic.sql.SQLDriver:228 - - Executing SQL query on 'Mysql': SELECT LAST_INSERT_ID() 2022-08-09 14:23:17.667 INFO com.isomorphic.sql.SQLDataSource:228 - - primaryKeys: {door_fsc_leed_id=6} 2022-08-09 14:23:17.702 INFO com.isomorphic.datasource.DSRequest:228 - - Executing DoorFscLeedSQL.fetch rows: 0->-1 with criteria: {door_fsc_leed_id:6} 2022-08-09 14:23:17.775 INFO com.isomorphic.sql.SQLDataSource:228 - - 164: Executing cache sync query on 'Mysql': SELECT door_fsc_leed.door_fsc_leed_id, door_fsc_leed.door_id, door_fsc_leed.code_id, door_fsc_leed.created_by, door_fsc_leed.created_time, door_fsc_leed.modified_by, door_fsc_leed.modified_time, code.code, code.description, code.code_type_id AS codeTypeId, CONCAT(code.code, '-', code.description) AS concatValue FROM door_fsc_leed LEFT OUTER JOIN code ON door_fsc_leed.code_id = code.code_id WHERE ( door_fsc_leed.door_fsc_leed_id=6 ) LIMIT 0, 1
I know we can create a separate DSRequest for each record to be inserted, but is this something that can be fixed?
Thanks!
Comment