Announcement

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

    bug with includeFrom and multiple indirection

    Hello, it seems that there's a regression between those builds:
    "SNAPSHOT_v12.1d_2019-11-13/Enterprise Deployment" (doesn't work, also tested with the 2019-11-25 build)
    and
    "SNAPSHOT_v12.1d_2019-11-12/Enterprise Deployment" (works)

    here is a test case:
    Code:
    <DataSource xmlns:fmt="WEB-INF/" xmlns="http://www.smartclient.com/schema"
                schema="DBSALES"
                dbName="dbJpcEP"
                tableName="JTK_ACC_EVENTI"
                ID="JTK_ACC_EVENTI"
                serverType="sql"
                requiresAuthentication="true"
                dropExtraFields="false"
    >
        <fmt:bundle basename="i18nMessages" encoding="utf-8"/>
        <fields>
            <field name="ID_REC" sqlType="decimal" type="sequence" primaryKey="true" hidden="true"
                   sequenceName="SEQUENCE_ID_JTK"/>
            <field name="ID_LISTINO_FK" type="integer" required="true" foreignKey="JPC_LISTINI.ID_REC" joinType="outer"/>
            <field name="DATA_EVENTO" type="datetime" includeFrom="JPC_LISTINI.DATA_INIZIO"/>
            <field name="NOME_SQUADRA_AWAY" type="text" includeVia="ID_LISTINO_FK.ID_AWAY_TEAM_FK"
                   relatedTableAlias="AWAY" includeFrom="JPC_LISTINI.LEG_SQUADRE.DESCRIZIONE"/>
            <field name="PARTITA" type="text" customSelectExpression="AWAY.DESCRIZIONE"/>
        </fields>
    
    </DataSource>
    Code:
    <DataSource xmlns:fmt="WEB-INF/" xmlns="http://www.smartclient.com/schema"
                ID="JPC_LISTINI_BASE"
                tableName="JPC_LISTINI"
                schema="DBSALES"
                dbName="dbJpcEP"
                serverType="sql"
                requiresAuthentication="true"
    >
        <fields>
            <field sqlType="decimal" primaryKey="true" name="ID_REC" type="sequence" hidden="true" editRequiresRole="ROLE_TICKETING">
                <sequenceName>SEQUENCE_ID_REC</sequenceName>
            </field>
            <field sqlType="decimal" name="ID_HOME_TEAM_FK" type="integer" foreignKey="LEG_SQUADRE.ID_REC" editRequires="true" relatedTableAlias="HOME"/>
            <field sqlType="decimal" name="ID_AWAY_TEAM_FK" type="integer" foreignKey="LEG_SQUADRE.ID_REC" editRequires="true" relatedTableAlias="AWAY"/>
            <field sqlType="varchar" sqlLength="200" name="DESCRIZIONE" length="200" type="text" editRequires="false">
            </field>
            <field name="DATA_INIZIO" type="datetime" required="true" editRequires="true">
            </field>
            <field name="DATA_FINE" type="datetime" required="true" editRequires="true">
            </field>
        </fields>
    </DataSource>
    Code:
    <DataSource xmlns:fmt="WEB-INF/" xmlns="http://www.smartclient.com/schema"
                ID="JPC_LISTINI"
                tableName="JPC_LISTINI"
                schema="DBSALES"
                dbName="dbJpcEP"
                serverType="sql"
                inheritsFrom="JPC_LISTINI_BASE"
                requiresAuthentication="true"
    >
        <fields>
            <field name="HOME_TEAM" type="text" includeVia="ID_HOME_TEAM_FK" includeFrom="LEG_SQUADRE.DESCRIZIONE"/>
            <field name="HOME_TEAM_CODICE" type="text" includeVia="ID_HOME_TEAM_FK"
                   includeFrom="LEG_SQUADRE.CODICE_SQUADRA"/>
    
        </fields>
    
    </DataSource>
    Code:
    <DataSource xmlns:fmt="WEB-INF/" xmlns="http://www.smartclient.com/schema"
                ID="LEG_SQUADRE"
                tableName="LEG_SQUADRE"
                schema="DBSALES"
                dbName="dbJpcEP"
                serverType="sql"
                dropExtraFields="false"
                requiresAuthentication="true"
    >
        <fmt:bundle basename="i18nMessages" encoding="utf-8"/>
        <fields>
            <field sqlType="decimal" primaryKey="true" name="ID_REC" type="sequence" hidden="true">
                <sequenceName>SEQUENCE_ID_REC</sequenceName>
            </field>
    
            <field name="DESCRIZIONE" type="text" length="50" required="true"/>
    
        </fields>
    
    </DataSource>
    the problem arises when executing JTK_ACC_EVENTI.fetchData()

    With the working build, the generated query is:

    Code:
    SELECT JTK_ACC_EVENTI.ID_REC,
           JTK_ACC_EVENTI.ID_LISTINO_FK,
           AWAY.DESCRIZIONE        AS PARTITA,
           JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO,
           AWAY.DESCRIZIONE        AS NOME_SQUADRA_AWAY
    FROM DBSALES.JTK_ACC_EVENTI,
         DBSALES.LEG_SQUADRE AWAY,
         DBSALES.JPC_LISTINI
    WHERE ('1' = '1')
      AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+)
      AND JPC_LISTINI.ID_AWAY_TEAM_FK = AWAY.ID_REC
    and the complete log:
    Code:
     2019-11-26 14:55:03,679 INFO  JuventusCustomCORSFilter Adding Access Control Response Headers
     2019-11-26 14:55:03,679 DEBUG CommonUtils safeGetParameter called on a POST HttpServletRequest for LogoutRequest.  Cannot complete check safely.  Reverting to standard behavior for this Parameter
     2019-11-26 14:55:03,679 INFO  RequestContext URL: '/Jtk/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36': Safari with Accept-Encoding header
     2019-11-26 14:55:03,702 DEBUG XML Parsed XML from (in memory stream): 21ms
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'transaction' but null was returned
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Created DataSource null of type 'transaction' in the pooling flow
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Created DataSource 1658 of type 'Object' and assigned it to thread https-jsse-nio-8445-exec-1
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Created DataSource 1658 of type 'Object' in the pooling flow
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Activated DataSource 1658 of type 'Object'
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Created DataSource 1659 of type 'List' and assigned it to thread https-jsse-nio-8445-exec-1
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Created DataSource 1659 of type 'List' in the pooling flow
     2019-11-26 14:55:03,702 DEBUG PoolableDataSourceFactory Activated DataSource 1659 of type 'List'
     2019-11-26 14:55:03,703 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'elem' but null was returned
     2019-11-26 14:55:03,703 DEBUG PoolableDataSourceFactory Created DataSource null of type 'elem' in the pooling flow
     2019-11-26 14:55:03,703 DEBUG RPCManager Processing 1 requests.
     2019-11-26 14:55:03,703 DEBUG PoolableDataSourceFactory Activated DataSource 1657 of type 'JTK_ACC_EVENTI'
     2019-11-26 14:55:03,703 DEBUG DSRequest Caching instance 1657 of DS 'JTK_ACC_EVENTI' from DSRequest.getDataSource()
     2019-11-26 14:55:03,703 DEBUG DataSource JTK_ACC_EVENTI isCacheable?: true
     2019-11-26 14:55:03,703 DEBUG DSRequest Caching instance 1657 of DS JTK_ACC_EVENTI
     2019-11-26 14:55:03,704 DEBUG RPCManager Request #1 (DSRequest) payload: {
         criteria:{
         },
         operationConfig:{
             dataSource:"JTK_ACC_EVENTI",
             repo:null,
             operationType:"fetch",
             textMatchStyle:"exact"
         },
         appID:"builtinApplication",
         operation:"JTK_ACC_EVENTI_fetch",
         oldValues:null
     }
     2019-11-26 14:55:03,704 INFO  IDACall Performing 1 operation(s)
     2019-11-26 14:55:03,705 DEBUG PoolableDataSourceFactory Activated DataSource 1631 of type 'JPC_LISTINI'
     2019-11-26 14:55:03,705 DEBUG Relation Caching instance of toDS 'JPC_LISTINI' in the DSRequest map
     2019-11-26 14:55:03,705 DEBUG PoolableDataSourceFactory Activated DataSource 1632 of type 'JPC_LISTINI_BASE'
     2019-11-26 14:55:03,705 DEBUG PoolableDataSourceFactory Activated DataSource 617 of type 'LEG_SQUADRE'
     2019-11-26 14:55:03,705 DEBUG Relation Caching instance of toDS 'LEG_SQUADRE' in the DSRequest map
     2019-11-26 14:55:03,705 DEBUG DeclarativeSecurity Processing security checks for DataSource null, field null
     2019-11-26 14:55:03,705 DEBUG DeclarativeSecurity DataSource JTK_ACC_EVENTI is not in the pre-checked list, processing...
     2019-11-26 14:55:03,705 DEBUG DeclarativeSecurity Processing security checks for DataSource JPC_LISTINI, field ID_REC
     2019-11-26 14:55:03,705 DEBUG DeclarativeSecurity DataSource JPC_LISTINI is not in the pre-checked list, processing...
     2019-11-26 14:55:03,705 DEBUG DataSource Returning cached relation for JPC_LISTINI -> LEG_SQUADRE (the relation is not necessarily direct)
     2019-11-26 14:55:03,705 WARN  DataSource includeFrom field named 'HOME_TEAM_CODICE' refers to a 'CODICE_SQUADRA' field that does not exist in 'LEG_SQUADRE' data source. Ignoring this field.
     2019-11-26 14:55:03,705 DEBUG DeclarativeSecurity Processing security checks for DataSource JPC_LISTINI, field DATA_INIZIO
     2019-11-26 14:55:03,705 DEBUG DeclarativeSecurity DataSource JPC_LISTINI is not in the pre-checked list, processing...
     2019-11-26 14:55:03,706 DEBUG DataSource Returning cached relation for JPC_LISTINI -> LEG_SQUADRE (the relation is not necessarily direct)
     2019-11-26 14:55:03,706 WARN  DataSource includeFrom field named 'HOME_TEAM_CODICE' refers to a 'CODICE_SQUADRA' field that does not exist in 'LEG_SQUADRE' data source. Ignoring this field.
     2019-11-26 14:55:03,706 DEBUG DeclarativeSecurity Processing security checks for DataSource JPC_LISTINI, field ID_REC
     2019-11-26 14:55:03,706 DEBUG DataSource Returning cached relation for JPC_LISTINI -> LEG_SQUADRE (the relation is not necessarily direct)
     2019-11-26 14:55:03,706 WARN  DataSource includeFrom field named 'HOME_TEAM_CODICE' refers to a 'CODICE_SQUADRA' field that does not exist in 'LEG_SQUADRE' data source. Ignoring this field.
     2019-11-26 14:55:03,706 DEBUG DeclarativeSecurity Processing security checks for DataSource LEG_SQUADRE, field ID_REC
     2019-11-26 14:55:03,706 DEBUG DeclarativeSecurity DataSource LEG_SQUADRE is not in the pre-checked list, processing...
     2019-11-26 14:55:03,706 DEBUG DeclarativeSecurity Processing security checks for DataSource LEG_SQUADRE, field DESCRIZIONE
     2019-11-26 14:55:03,706 DEBUG DeclarativeSecurity DataSource LEG_SQUADRE is not in the pre-checked list, processing...
     2019-11-26 14:55:03,706 DEBUG AppBase No userTypes defined, allowing anyone access to all operations for this application
     2019-11-26 14:55:03,706 DEBUG AppBase No public zero-argument method named '_null' found, performing generic datasource operation
     2019-11-26 14:55:03,707 INFO  SQLDataSource Performing fetch operation with
         criteria: {}    values: {}
     2019-11-26 14:55:03,708 INFO  SQLWhereClause empty condition
     2019-11-26 14:55:03,709 DEBUG SQLDataSource 1657: Executing SQL query on 'dbJpcEP': SELECT JTK_ACC_EVENTI.ID_REC, JTK_ACC_EVENTI.ID_LISTINO_FK, AWAY.DESCRIZIONE AS PARTITA, JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO, AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY FROM DBSALES.JTK_ACC_EVENTI, DBSALES.LEG_SQUADRE AWAY, DBSALES.JPC_LISTINI WHERE ('1'='1') AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+) AND JPC_LISTINI.ID_AWAY_TEAM_FK = AWAY.ID_REC
     2019-11-26 14:55:03,710 DEBUG PoolableSQLConnectionFactory makeObject() created an unpooled Connection '714618589'
     2019-11-26 14:55:03,710 DEBUG SQLConnectionManager Borrowed connection '714618589'
     2019-11-26 14:55:03,710 DEBUG SQLTransaction Started new dbJpcEP transaction "714618589"
     2019-11-26 14:55:03,711 DEBUG SQLDataSource Setting DSRequest as being part of a transaction
     2019-11-26 14:55:03,711 INFO  SQLDriver Executing SQL query on 'dbJpcEP'' using connection '714618589': SELECT JTK_ACC_EVENTI.ID_REC, JTK_ACC_EVENTI.ID_LISTINO_FK, AWAY.DESCRIZIONE AS PARTITA, JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO, AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY FROM DBSALES.JTK_ACC_EVENTI, DBSALES.LEG_SQUADRE AWAY, DBSALES.JPC_LISTINI WHERE ('1'='1') AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+) AND JPC_LISTINI.ID_AWAY_TEAM_FK = AWAY.ID_REC
     2019-11-26 14:55:03,719 INFO  DSResponse DSResponse: List with 89 items
     2019-11-26 14:55:03,719 DEBUG DSRequest freeOnExecute is false for request of type fetch on DataSource JTK_ACC_EVENTI - not freeing resources!
     2019-11-26 14:55:03,719 DEBUG RPCManager Content type for RPC transaction: text/plain; charset=UTF-8
     2019-11-26 14:55:03,719 DEBUG SQLTransaction Committing dbJpcEP transaction "714618589"
     2019-11-26 14:55:03,720 DEBUG RPCManager non-DMI response, dropExtraFields: false
     2019-11-26 14:55:03,725 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJpcEP:  hashcode "714618589"
     2019-11-26 14:55:03,725 DEBUG SQLTransaction Ending dbJpcEP transaction "714618589"
     2019-11-26 14:55:03,726 DEBUG SQLConnectionManager About to close $Proxy40 with hashcode "714618589"
     2019-11-26 14:55:03,726 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 1657
     2019-11-26 14:55:03,726 DEBUG DataSource JPC_LISTINI_BASE isCacheable?: true
     2019-11-26 14:55:03,726 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 1632 of type 'JPC_LISTINI_BASE'
     2019-11-26 14:55:03,726 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 1631
     2019-11-26 14:55:03,726 DEBUG DataSource JPC_LISTINI isCacheable?: true
     2019-11-26 14:55:03,726 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 1631 of type 'JPC_LISTINI'
     2019-11-26 14:55:03,726 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 617
     2019-11-26 14:55:03,726 DEBUG DataSource LEG_SQUADRE isCacheable?: true
     2019-11-26 14:55:03,726 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 617 of type 'LEG_SQUADRE'
     2019-11-26 14:55:03,726 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 1657
     2019-11-26 14:55:03,726 DEBUG DataSource JTK_ACC_EVENTI isCacheable?: true
     2019-11-26 14:55:03,726 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 1657 of type 'JTK_ACC_EVENTI'
     2019-11-26 14:55:03,727 INFO  Compression /Jtk/isomorphic/IDACall: 11265 -> 2378 bytes
    instead, with the more recent builds, the generated query is:

    Code:
    SELECT JTK_ACC_EVENTI.ID_REC,
           JTK_ACC_EVENTI.ID_LISTINO_FK,
           AWAY.DESCRIZIONE               AS PARTITA,
           JPC_LISTINI.DATA_INIZIO        AS DATA_EVENTO,
           ID_LISTINO_FK_AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY
    FROM DBSALES.LEG_SQUADRE ID_LISTINO_FK_AWAY,
         DBSALES.JTK_ACC_EVENTI,
         DBSALES.JPC_LISTINI ID_LISTINO_FK,
         DBSALES.JPC_LISTINI
    WHERE ('1' = '1')
      AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+)
      AND JTK_ACC_EVENTI.ID_LISTINO_FK = ID_LISTINO_FK.ID_REC(+)
      AND ID_LISTINO_FK.ID_AWAY_TEAM_FK = ID_LISTINO_FK_AWAY.ID_REC
    and this is the complete log with the error:
    Code:
       2019-11-26 14:39:41,921 INFO  JuventusCustomCORSFilter Adding Access Control Response Headers
       2019-11-26 14:39:41,922 DEBUG CommonUtils safeGetParameter called on a POST HttpServletRequest for LogoutRequest.  Cannot complete check safely.  Reverting to standard behavior for this Parameter
       2019-11-26 14:39:41,922 INFO  RequestContext URL: '/Jtk/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36': Safari with Accept-Encoding header
       2019-11-26 14:39:41,943 DEBUG XML Parsed XML from (in memory stream): 20ms
       2019-11-26 14:39:41,943 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'transaction' but null was returned
       2019-11-26 14:39:41,943 DEBUG PoolableDataSourceFactory Created DataSource null of type 'transaction' in the pooling flow
       2019-11-26 14:39:41,943 DEBUG PoolableDataSourceFactory Created DataSource 1898 of type 'Object' and assigned it to thread https-jsse-nio-8445-exec-13
       2019-11-26 14:39:41,943 DEBUG PoolableDataSourceFactory Created DataSource 1898 of type 'Object' in the pooling flow
       2019-11-26 14:39:41,943 DEBUG PoolableDataSourceFactory Activated DataSource 1898 of type 'Object'
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Created DataSource 1899 of type 'List' and assigned it to thread https-jsse-nio-8445-exec-13
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Created DataSource 1899 of type 'List' in the pooling flow
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Activated DataSource 1899 of type 'List'
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'elem' but null was returned
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Created DataSource null of type 'elem' in the pooling flow
       2019-11-26 14:39:41,944 DEBUG RPCManager Processing 1 requests.
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Activated DataSource 1657 of type 'JTK_ACC_EVENTI'
       2019-11-26 14:39:41,944 DEBUG DSRequest Caching instance 1657 of DS 'JTK_ACC_EVENTI' from DSRequest.getDataSource()
       2019-11-26 14:39:41,944 DEBUG DataSource JTK_ACC_EVENTI isCacheable?: true
       2019-11-26 14:39:41,944 DEBUG DSRequest Caching instance 1657 of DS JTK_ACC_EVENTI
       2019-11-26 14:39:41,944 DEBUG RPCManager Request #1 (DSRequest) payload: {
           criteria:{
           },
           operationConfig:{
               dataSource:"JTK_ACC_EVENTI",
               repo:null,
               operationType:"fetch",
               textMatchStyle:"exact"
           },
           appID:"builtinApplication",
           operation:"JTK_ACC_EVENTI_fetch",
           oldValues:null
       }
       2019-11-26 14:39:41,944 INFO  IDACall Performing 1 operation(s)
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Activated DataSource 1877 of type 'JPC_LISTINI'
       2019-11-26 14:39:41,944 DEBUG Relation Caching instance of toDS 'JPC_LISTINI' in the DSRequest map
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Activated DataSource 1878 of type 'JPC_LISTINI_BASE'
       2019-11-26 14:39:41,944 DEBUG PoolableDataSourceFactory Activated DataSource 617 of type 'LEG_SQUADRE'
       2019-11-26 14:39:41,944 DEBUG Relation Caching instance of toDS 'LEG_SQUADRE' in the DSRequest map
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity Processing security checks for DataSource null, field null
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity DataSource JTK_ACC_EVENTI is not in the pre-checked list, processing...
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity Processing security checks for DataSource JPC_LISTINI, field ID_REC
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity DataSource JPC_LISTINI is not in the pre-checked list, processing...
       2019-11-26 14:39:41,945 DEBUG DataSource Returning cached relation for JPC_LISTINI -> LEG_SQUADRE (the relation is not necessarily direct)
       2019-11-26 14:39:41,945 WARN  DataSource includeFrom field named 'HOME_TEAM_CODICE' refers to a 'CODICE_SQUADRA' field that does not exist in 'LEG_SQUADRE' data source. Ignoring this field.
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity Processing security checks for DataSource JPC_LISTINI, field DATA_INIZIO
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity DataSource JPC_LISTINI is not in the pre-checked list, processing...
       2019-11-26 14:39:41,945 DEBUG DataSource Returning cached relation for JPC_LISTINI -> LEG_SQUADRE (the relation is not necessarily direct)
       2019-11-26 14:39:41,945 WARN  DataSource includeFrom field named 'HOME_TEAM_CODICE' refers to a 'CODICE_SQUADRA' field that does not exist in 'LEG_SQUADRE' data source. Ignoring this field.
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity Processing security checks for DataSource JPC_LISTINI, field ID_REC
       2019-11-26 14:39:41,945 DEBUG DataSource Returning cached relation for JPC_LISTINI -> LEG_SQUADRE (the relation is not necessarily direct)
       2019-11-26 14:39:41,945 WARN  DataSource includeFrom field named 'HOME_TEAM_CODICE' refers to a 'CODICE_SQUADRA' field that does not exist in 'LEG_SQUADRE' data source. Ignoring this field.
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity Processing security checks for DataSource LEG_SQUADRE, field ID_REC
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity DataSource LEG_SQUADRE is not in the pre-checked list, processing...
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity Processing security checks for DataSource LEG_SQUADRE, field DESCRIZIONE
       2019-11-26 14:39:41,945 DEBUG DeclarativeSecurity DataSource LEG_SQUADRE is not in the pre-checked list, processing...
       2019-11-26 14:39:41,945 DEBUG AppBase No userTypes defined, allowing anyone access to all operations for this application
       2019-11-26 14:39:41,945 DEBUG AppBase No public zero-argument method named '_null' found, performing generic datasource operation
       2019-11-26 14:39:41,945 INFO  SQLDataSource Performing fetch operation with
           criteria: {}    values: {}
       2019-11-26 14:39:41,945 INFO  SQLWhereClause empty condition
       2019-11-26 14:39:41,946 DEBUG SQLDataSource 1657: Executing SQL query on 'dbJpcEP': SELECT JTK_ACC_EVENTI.ID_REC, JTK_ACC_EVENTI.ID_LISTINO_FK, AWAY.DESCRIZIONE AS PARTITA, JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO, ID_LISTINO_FK_AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY FROM DBSALES.LEG_SQUADRE ID_LISTINO_FK_AWAY, DBSALES.JTK_ACC_EVENTI, DBSALES.JPC_LISTINI ID_LISTINO_FK, DBSALES.JPC_LISTINI WHERE ('1'='1') AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+) AND JTK_ACC_EVENTI.ID_LISTINO_FK = ID_LISTINO_FK.ID_REC(+) AND ID_LISTINO_FK.ID_AWAY_TEAM_FK = ID_LISTINO_FK_AWAY.ID_REC
       2019-11-26 14:39:41,947 DEBUG PoolableSQLConnectionFactory makeObject() created an unpooled Connection '1013371026'
       2019-11-26 14:39:41,947 DEBUG SQLConnectionManager Borrowed connection '1013371026'
       2019-11-26 14:39:41,948 DEBUG SQLTransaction Started new dbJpcEP transaction "1013371026"
       2019-11-26 14:39:41,948 DEBUG SQLDataSource Setting DSRequest as being part of a transaction
       2019-11-26 14:39:41,948 INFO  SQLDriver Executing SQL query on 'dbJpcEP'' using connection '1013371026': SELECT JTK_ACC_EVENTI.ID_REC, JTK_ACC_EVENTI.ID_LISTINO_FK, AWAY.DESCRIZIONE AS PARTITA, JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO, ID_LISTINO_FK_AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY FROM DBSALES.LEG_SQUADRE ID_LISTINO_FK_AWAY, DBSALES.JTK_ACC_EVENTI, DBSALES.JPC_LISTINI ID_LISTINO_FK, DBSALES.JPC_LISTINI WHERE ('1'='1') AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+) AND JTK_ACC_EVENTI.ID_LISTINO_FK = ID_LISTINO_FK.ID_REC(+) AND ID_LISTINO_FK.ID_AWAY_TEAM_FK = ID_LISTINO_FK_AWAY.ID_REC
       2019-11-26 14:39:41,950 DEBUG DSRequest freeOnExecute is false for request of type fetch on DataSource JTK_ACC_EVENTI - not freeing resources!
       2019-11-26 14:39:41,950 WARN  RequestContext dsRequest.execute() failed:
       java.sql.SQLSyntaxErrorException: ORA-00904: "AWAY"."DESCRIZIONE": identificativo non valido
    
           at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
           at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
           at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1054)
           at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
           at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
           at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
           at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:213)
           at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:37)
           at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:733)
           at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904)
           at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082)
           at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1276)
           at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:366)
           at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114)
           at com.sun.proxy.$Proxy41.executeQuery(Unknown Source)
           at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:1051)
           at com.isomorphic.sql.SQLDriver.executeQuery(SQLDriver.java:1459)
           at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:586)
           at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:580)
           at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1835)
           at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:440)
           at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:385)
           at com.isomorphic.datasource.DataSource.execute(DataSource.java:2480)
           at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:653)
           at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:554)
           at com.isomorphic.application.AppBase.execute(AppBase.java:497)
           at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2949)
           at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:226)
           at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:183)
           at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:148)
           at com.isomorphic.servlet.IDACall._processRequest(IDACall.java:119)
           at com.isomorphic.servlet.IDACall.doPost(IDACall.java:79)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
           at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:180)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:200)
           at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at com.juve.utils.Log4jSessionFilter.doFilter(Log4jSessionFilter.java:84)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
           at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
           at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:109)
           at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
           at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
           at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
           at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at com.isomorphic.servlet.CompressionFilter._doFilter(CompressionFilter.java:260)
           at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:90)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
           at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at com.juve.jtk.filter.JuventusCustomCORSFilter.doFilter(JuventusCustomCORSFilter.java:38)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
           at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
           at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
           at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
           at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
           at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
           at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
           at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
           at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
           at java.lang.Thread.run(Thread.java:748)
       Caused by: Error : 904, Position : 60, Sql = SELECT JTK_ACC_EVENTI.ID_REC, JTK_ACC_EVENTI.ID_LISTINO_FK, AWAY.DESCRIZIONE AS PARTITA, JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO, ID_LISTINO_FK_AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY FROM DBSALES.LEG_SQUADRE ID_LISTINO_FK_AWAY, DBSALES.JTK_ACC_EVENTI, DBSALES.JPC_LISTINI ID_LISTINO_FK, DBSALES.JPC_LISTINI WHERE ('1'='1') AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+) AND JTK_ACC_EVENTI.ID_LISTINO_FK = ID_LISTINO_FK.ID_REC(+) AND ID_LISTINO_FK.ID_AWAY_TEAM_FK = ID_LISTINO_FK_AWAY.ID_REC, OriginalSql = SELECT JTK_ACC_EVENTI.ID_REC, JTK_ACC_EVENTI.ID_LISTINO_FK, AWAY.DESCRIZIONE AS PARTITA, JPC_LISTINI.DATA_INIZIO AS DATA_EVENTO, ID_LISTINO_FK_AWAY.DESCRIZIONE AS NOME_SQUADRA_AWAY FROM DBSALES.LEG_SQUADRE ID_LISTINO_FK_AWAY, DBSALES.JTK_ACC_EVENTI, DBSALES.JPC_LISTINI ID_LISTINO_FK, DBSALES.JPC_LISTINI WHERE ('1'='1') AND JTK_ACC_EVENTI.ID_LISTINO_FK = JPC_LISTINI.ID_REC(+) AND JTK_ACC_EVENTI.ID_LISTINO_FK = ID_LISTINO_FK.ID_REC(+) AND ID_LISTINO_FK.ID_AWAY_TEAM_FK = ID_LISTINO_FK_AWAY.ID_REC, Error Msg = ORA-00904: "AWAY"."DESCRIZIONE": identificativo non valido
    
           at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)
           ... 110 more
       2019-11-26 14:39:41,951 DEBUG RPCManager Content type for RPC transaction: text/plain; charset=UTF-8
       2019-11-26 14:39:41,951 DEBUG SQLTransaction Rolling back dbJpcEP transaction "1013371026"
       2019-11-26 14:39:41,952 DEBUG RPCManager non-DMI response, dropExtraFields: false
       2019-11-26 14:39:41,952 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJpcEP:  hashcode "1013371026"
       2019-11-26 14:39:41,952 DEBUG SQLTransaction Ending dbJpcEP transaction "1013371026"
       2019-11-26 14:39:41,952 DEBUG SQLConnectionManager About to close $Proxy40 with hashcode "1013371026"
       2019-11-26 14:39:41,952 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 1657
       2019-11-26 14:39:41,952 DEBUG DataSource JPC_LISTINI_BASE isCacheable?: true
       2019-11-26 14:39:41,952 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 1878 of type 'JPC_LISTINI_BASE'
       2019-11-26 14:39:41,952 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 1877
       2019-11-26 14:39:41,952 DEBUG DataSource JPC_LISTINI isCacheable?: true
       2019-11-26 14:39:41,952 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 1877 of type 'JPC_LISTINI'
       2019-11-26 14:39:41,952 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 617
       2019-11-26 14:39:41,952 DEBUG DataSource LEG_SQUADRE isCacheable?: true
       2019-11-26 14:39:41,952 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 617 of type 'LEG_SQUADRE'
       2019-11-26 14:39:41,952 DEBUG SQLDataSource About to clear SQLDriver state for DS instance 1657
       2019-11-26 14:39:41,952 DEBUG DataSource JTK_ACC_EVENTI isCacheable?: true
       2019-11-26 14:39:41,952 DEBUG PoolableDataSourceFactory Cleared and passivated DataSource 1657 of type 'JTK_ACC_EVENTI'
       2019-11-26 14:39:41,953 INFO  Compression /Jtk/isomorphic/IDACall: 200 -> 176 bytes
       2019-11-26 14:39:41,995 INFO  JuventusCustomCORSFilter Adding Access Control Response Headers
       2019-11-26 14:39:41,996 INFO  RequestContext URL: '/Jtk/isomorphic/skins/Tahoe/images/Dialog/warn.png', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36': Safari with Accept-Encoding header
       2019-11-26 14:39:41,997 INFO  Download done streaming: /Users/bosticco/iscSDK/tools/visualBuilder/workspace/Jtk/out/artifacts/Jtk_war_exploded/isomorphic/skins/Tahoe/images/Dialog/warn.png
       2019-11-26 14:39:42,012 INFO  JuventusCustomCORSFilter Adding Access Control Response Headers
       2019-11-26 14:39:42,012 INFO  RequestContext URL: '/Jtk/isomorphic/skins/Tahoe/images/blank.gif', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36': Safari with Accept-Encoding header
       2019-11-26 14:39:42,013 INFO  Download done streaming: /Users/bosticco/iscSDK/tools/visualBuilder/workspace/Jtk/out/artifacts/Jtk_war_exploded/isomorphic/skins/Tahoe/images/blank.gif
       2019-11-26 14:39:42,015 INFO  JuventusCustomCORSFilter Adding Access Control Response Headers
       2019-11-26 14:39:42,015 INFO  RequestContext URL: '/Jtk/isomorphic/skins/Tahoe/images/headerIcons/close.png', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36': Safari with Accept-Encoding header
       2019-11-26 14:39:42,016 INFO  Download done streaming: /Users/bosticco/iscSDK/tools/visualBuilder/workspace/Jtk/out/artifacts/Jtk_war_exploded/isomorphic/skins/Tahoe/images/headerIcons/close.png

    #2
    same behaviour with "v12.0p_2019-11-26/Enterprise Deployment"

    Comment


      #3
      maybe is related to https://forums.smartclient.com/forum...014#post260014 ?

      Comment


        #4
        Thank you for such thorough test case, it helped a lot. The issue is fixed and will be available for download in nightly builds since Dec 1 (today).

        Just a note on your setup. You have field JTK_ACC_EVENTI.NOME_SQUADRA_AWAY which declares relatedTableAlias, but it is ignored by the framework, since relatedTableAlias works only in combination with foreignKey. At runtime "AWAY" alias is picked up from JPC_LISTINI.ID_AWAY_TEAM_FK field, where it is coupled with foreignKey setting.

        Comment


          #5
          Originally posted by Isomorphic View Post
          Thank you for such thorough test case, it helped a lot. The issue is fixed and will be available for download in nightly builds since Dec 1 (today).
          SmartClient Version: SNAPSHOT_v12.1d_2019-12-01/Enterprise Deployment (built 2019-12-01)

          I can confirm it's fixed, thank you very much.
          Originally posted by Isomorphic View Post
          Just a note on your setup. You have field JTK_ACC_EVENTI.NOME_SQUADRA_AWAY which declares relatedTableAlias, but it is ignored by the framework, since relatedTableAlias works only in combination with foreignKey. At runtime "AWAY" alias is picked up from JPC_LISTINI.ID_AWAY_TEAM_FK field, where it is coupled with foreignKey setting.
          Thanks for the heads up!

          Comment

          Working...
          X