Uploaded image for project: 'Teiid Designer'
  1. Teiid Designer
  2. TEIIDDES-2811

Running a User-Defined uses the wrong syntax

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Minor Minor
    • None
    • 9.0.3
    • None
    • None

      After deploying my VDB, and viewing it inside the Datasource Explorer inside of JBDS, running a User-Defined Function through the GUI does not work because it's executing the wrong query.

      Here's what JDV is doing.

      17:17:29,178 INFO  [org.teiid.PLANNER] (Worker0_QueryProcessorQueue46) 
      ============================================================================
      USER COMMAND:
      EXEC datasource.PGT('XPO')
      
      ----------------------------------------------------------------------------
      OPTIMIZE: 
      EXEC datasource.PGT('XPO')
      
      ----------------------------------------------------------------------------
      GENERATE CANONICAL: 
      EXEC datasource.PGT('XPO')
      
      CANONICAL PLAN: 
      Project(groups=[datasource.PGT], props={PROJECT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]})
        Source(groups=[datasource.PGT], props={VIRTUAL_COMMAND=EXEC datasource.PGT('XPO')})
      
      
      ============================================================================
      EXECUTING PlaceAccess
      
      AFTER: 
      Project(groups=[datasource.PGT], props={PROJECT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]})
        Access(groups=[datasource.PGT], props={SOURCE_HINT=null, MODEL_ID=Schema name=datasource, nameInSource=null, uuid=mmuuid:a521401c-37c6-4d3c-909d-55599421a456})
          Source(groups=[datasource.PGT], props={VIRTUAL_COMMAND=EXEC datasource.PGT('XPO')})
      
      
      ============================================================================
      EXECUTING RaiseAccess
      
      AFTER: 
      Project(groups=[datasource.PGT], props={PROJECT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]})
        Access(groups=[datasource.PGT], props={SOURCE_HINT=null, MODEL_ID=Schema name=datasource, nameInSource=null, uuid=mmuuid:a521401c-37c6-4d3c-909d-55599421a456})
          Source(groups=[datasource.PGT], props={VIRTUAL_COMMAND=EXEC datasource.PGT('XPO')})
      
      
      ============================================================================
      EXECUTING AssignOutputElements
      
      AFTER: 
      Project(groups=[datasource.PGT], props={PROJECT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR], OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]})
        Access(groups=[datasource.PGT], props={SOURCE_HINT=null, MODEL_ID=Schema name=datasource, nameInSource=null, uuid=mmuuid:a521401c-37c6-4d3c-909d-55599421a456, OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]})
          Source(groups=[datasource.PGT], props={VIRTUAL_COMMAND=EXEC datasource.PGT('XPO'), OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]})
      
      
      ============================================================================
      EXECUTING CalculateCost
      
      AFTER: 
      Project(groups=[datasource.PGT], props={PROJECT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR], OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR], EST_CARDINALITY=-1.0})
        Access(groups=[datasource.PGT], props={SOURCE_HINT=null, MODEL_ID=Schema name=datasource, nameInSource=null, uuid=mmuuid:a521401c-37c6-4d3c-909d-55599421a456, OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR], EST_CARDINALITY=-1.0})
          Source(groups=[datasource.PGT], props={VIRTUAL_COMMAND=EXEC datasource.PGT('XPO'), OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR], EST_COL_STATS={datasource.PGT.AUDIT_CODE=[-1.0, -1.0], datasource.PGT.CLIENT_NBR=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})
      
      
      ============================================================================
      EXECUTING PlanSorts
      
      AFTER: 
      Project(groups=[datasource.PGT])
        Access(groups=[datasource.PGT])
          Source(groups=[datasource.PGT])
      
      
      ============================================================================
      EXECUTING CollapseSource
      
      AFTER: 
      Project(groups=[datasource.PGT])
        Access(groups=[datasource.PGT], props={SOURCE_HINT=null, MODEL_ID=Schema name=datasource, nameInSource=null, uuid=mmuuid:a521401c-37c6-4d3c-909d-55599421a456, OUTPUT_COLS=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=EXEC datasource.PGT('XPO')})
      
      
      ============================================================================
      CONVERTING PLAN TREE TO PROCESS TREE
      
      PROCESS PLAN = 
      ProjectNode(0) output=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR] [datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]
        AccessNode(1) output=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR] EXEC datasource.PGT('XPO')
      
      ============================================================================
      
      ----------------------------------------------------------------------------
      OPTIMIZATION COMPLETE:
      PROCESSOR PLAN:
      ProjectNode(0) output=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR] [datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR]
        AccessNode(1) output=[datasource.PGT.AUDIT_CODE, datasource.PGT.CLIENT_NBR] EXEC datasource.PGT('XPO')
      
      ============================================================================
      

      And here's the query that actually gets run.

      select ServiceTier.datasource.PGT ('ABC')
      
      org.teiid.runtime.client.TeiidClientException: org.teiid.api.exception.query.QueryResolverException: TEIID30068 The function 'ServiceTier.datasource.PGT('ABC')' is an unknown form.  Check that the function name and number of arguments is correct.
      
      
      Elapsed Time:  0 hr, 0 min, 0 sec, 18 ms.
      

      The problem is "select ServiceTier.datasource.PGT ('ABC')" should be "exec ServiceTier.datasource.PGT ('ABC')".

        1. Capture.PNG
          Capture.PNG
          56 kB
        2. error.PNG
          error.PNG
          16 kB

            blafond Barry LaFond
            stran@redhat.com Steve Tran
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: