Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    [BUG]: cacheAllData datasource uses wrong operationId on first fetch (fix included)

    Version: v110p_2017-01-16_LGPL

    [Observation]:
    If you make a DataSource with properties cacheAllData:true and cacheAllOperationId:'fetchCacheData' and fetch data from it, the cacheAllData fetch will be called with a generated operation (dsId+operation).
    According to the docs the cacheAllOperationId will be used or it will be undefined. @see: http://www.smartclient.com/smartclie...AllOperationId

    [The bug (and fix)]:
    Take a look at: ISC_DataBinding.js@27769:
    Code:
    this.cacheResultSet = isc.ResultSet.create({
        dataSource: this,
        fetchMode: "local",
        fetchOperation: [B]this.cacheAcrossOperationIds? dsRequest.operationId: this.cacheAllOperationId[/B],
        allRows: this.cacheData ? this.cacheData : null,
        cachingAllData: true,
        componentId : "(cacheAllData fetch)",
        componentContext : "(from: " + dsRequest.componentId +
                (dsRequest.componentContext ? " <" + dsRequest.componentContext + ">)"
                                            : ")"),
    This should be altered to:

    Code:
    this.cacheResultSet = isc.ResultSet.create({
        dataSource: this,
        fetchMode: "local",
        fetchOperation: [B]this.cacheAllOperationId||undefined[/B],
        allRows: this.cacheData ? this.cacheData : null,
        cachingAllData: true,
        componentId : "(cacheAllData fetch)",
        componentContext : "(from: " + dsRequest.componentId +
                (dsRequest.componentContext ? " <" + dsRequest.componentContext + ">)"
                                            : ")"),

    #2
    This has been addressed for builds of 10.0+ dated February 3 (today) and later.

    Comment

    Working...
    X