Maximum Number of Results in Incident (ZMIN)
Hello!
How is it possible to increase Maximum Number of Results in Incident (ZMIN) for all users?
1) Assign parameter SEARCH_MAX_HITS to a parameter profile in the following IMG and set this value to any 200or whatever you like
CRM >> UI Framework >> Technical role definition >> Define parameters.
2) Then, assign your parameter profile to your business role:
CRM >> UI Framework >> Business role >> Define business role.
http://wiki.scn.sap.com/wiki/display/CRM/Usage+of+Configuration+Params
Thanks
Vikram
Similar Messages
-
How to get maximum number of results using content presenter taskflow
Hello Friends,
I am using 11.1.1.6,
Below is the query is getting executed while content presenter taskflow get executed, Though I have more than 100 results in UCM, I am always getting only 25. Is there anywhere I can configure to fetch maximum number of results ? Though I set maxResults = 200, It always returns 25.
SELECT * FROM ora:t:IDC:GlobalProfile WHERE ora:p:xRegionDefinition = 'NEWS_REG_DEF' AND ora:p:xArchiveFlag='Yes' and ora:p:xDocumentSortDate > TIMESTAMP '2014-01-01T00:00:00.000+00:00' and ora:p:xDocumentSortDate < TIMESTAMP '2014-12-31T00:00:00.000+00:00' ORDER BY ora:p:xDocumentSortDate DESC
Page Def.xml : here the taskflow entries configured in page def xml file
<taskFlow id="doclibcontentpresenter2"
taskFlowId="/oracle/webcenter/doclib/view/jsf/taskflows/presenter/contentPresenter.xml#doclib-content-presenter"
activation="deferred"
xmlns="http://xmlns.oracle.com/adf/controller/binding"
Refresh="ifNeeded"
RefreshCondition="#{requestScope.pRefreshArchiveNewsSction='Y'}">
<parameters>
<parameter id="taskFlowInstId" value="${'myinst'}"/>
<parameter id="datasourceType" value="${'dsTypeQueryExpression'}"/>
<parameter id="datasource"
value="#{backingBeanScope.ArchiveBean.contentQuery}"/>
<parameter id="templateCategory" value="${''}"/>
<parameter id="templateView" value="${'templates.archive.list'}"/>
<parameter id="regionTemplate" value="${'false'}"/>
<parameter id="maxResults" value="200"/>
</parameters>
</taskFlow>Hi Dan,
Here is the detailed logs
searchcache/6
02.19 15:21:14.656
SearchCache
Approximately 0% of the available cache space is used.
>searchquery/7
02.19 15:23:53.642
IdcServer-14885
Query by [email protected] from CIS
>searchquery/6
02.19 15:23:53.643
IdcServer-14885
preparedQueryText: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:53.643
IdcServer-14885
Setting substr to other operator conv flag: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )'
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Into parse of UniversalSearchQuery for: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Into parseQueryEx of UniversalSearchQueryParser for queryArr : ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:53.643
IdcServer-14885
Parsing universal query: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )'
>searchquery/6
02.19 15:23:53.643
IdcServer-14885
Processing callback on query value 'NEWS_REG_DEF'
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : equals value : NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing actions list size : 1 on the input value : xRegionDefinition with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing action number : 0 : prefix on the input value : xRegionDefinition with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing actions list size : 2 on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing action number : 0 : upperCase on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing action number : 1 : escape on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processed escape with '' resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processed escape with _ resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processed escape with \- resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processed escape with \_ resulting in value :NEWS\_REG\_DEF
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processed escape with \, resulting in value :NEWS\_REG\_DEF
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:53.643
IdcServer-14885
Processing callback on query value 'Yes'
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : equals value : Yes
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing actions list size : 1 on the input value : xArchiveFlag with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing action number : 0 : prefix on the input value : xArchiveFlag with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing actions list size : 2 on the input value : Yes with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.643
IdcServer-14885
Processing action number : 0 : upperCase on the input value : Yes with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Processing action number : 1 : escape on the input value : YES with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Processed escape with '' resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Processed escape with _ resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Processed escape with \- resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Processed escape with \_ resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Processed escape with \, resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:53.644
IdcServer-14885
Processing callback on query value '2013-01-01 00:00:00'
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : dateGreater value : 2012/12/31 18:00:00
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:53.644
IdcServer-14885
Processing callback on query value '2013-12-31 00:00:00'
>searchqueryparse/6
02.19 15:23:53.644
IdcServer-14885
Into appendClauseElement CommonSearchConfig with operator : dateLess value : 2013/12/30 18:00:00
>searchquery/6
02.19 15:23:53.644
IdcServer-14885
Converted native query: '((( SDATA(sdxRegionDefinition LIKE 'NEWS\_REG\_DEF') ) and (( SDATA(sdxArchiveFlag LIKE 'YES') ) and (( SDATA(xDocumentSortDate > '2012/12/31 18:00:00') ) and ( SDATA(xDocumentSortDate < '2013/12/30 18:00:00') )))))'
>searchquery/7
02.19 15:23:53.644
IdcServer-14885
assigning connection
>searchquery/6
02.19 15:23:53.644
IdcServer-14885
!csMonitorActiveDbConnections,1
>searchquery/6
02.19 15:23:53.644
IdcServer-14885
Connection is added to active connections with key of '[ACTIVE] ExecuteThread: '35' for queue: 'weblogic.kernel.Default (self-tuning)''.
>searchquery/6
02.19 15:23:53.644
IdcServer-14885
query(live): (((((((((((( SDATA(sdxRegionDefinition LIKE 'NEWS\_REG\_DEF') ) and (( SDATA(sdxArchiveFlag LIKE 'YES') ) and (( SDATA(xDocumentSortDate > '2012/12/31 18:00:00') ) and ( SDATA(xDocumentSortDate < '2013/12/30 18:00:00') )))))))))))))) [1,51] sort(xDocumentSortDate DESC)
>search/6
02.19 15:23:53.688
IdcServer-14885
Start parsing drill down fields with SAX...
>search/6
02.19 15:23:53.691
IdcServer-14885
Completed parsing 1 groups.
>search/7
02.19 15:23:53.692
IdcServer-14885
ResultSetInterface results: <ctx_result_set><hitlist><hit><sdata name="DID">11489</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006063</sdata><score>100</score></hit><hit><sdata name="DID">16132</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006403</sdata><score>100</score></hit><hit><sdata name="DID">13513</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006591</sdata><score>100</score></hit><hit><sdata name="DID">11319</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006003</sdata><score>100</score></hit><hit><sdata name="DID">17043</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004050</sdata><score>100</score></hit><hit><sdata name="DID">16477</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006407</sdata><score>100</score></hit><hit><sdata name="DID">16162</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006593</sdata><score>100</score></hit><hit><sdata name="DID">16010</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006399</sdata><score>100</score></hit><hit><sdata name="DID">10524</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005609</sdata><score>100</score></hit><hit><sdata name="DID">10777</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005601</sdata><score>100</score></hit><hit><sdata name="DID">10508</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005600</sdata><score>100</score></hit><hit><sdata name="DID">10476</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005585</sdata><score>100</score></hit><hit><sdata name="DID">12427</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006397</sdata><score>100</score></hit><hit><sdata name="DID">16333</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005580</sdata><score>100</score></hit><hit><sdata name="DID">17080</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004051</sdata><score>100</score></hit><hit><sdata name="DID">15926</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006482</sdata><score>100</score></hit><hit><sdata name="DID">16857</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003963</sdata><score>100</score></hit><hit><sdata name="DID">16895</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003964</sdata><score>100</score></hit><hit><sdata name="DID">16487</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006481</sdata><score>100</score></hit><hit><sdata name="DID">12431</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006485</sdata><score>100</score></hit><hit><sdata name="DID">16813</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003977</sdata><score>100</score></hit><hit><sdata name="DID">9569</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005342</sdata><score>100</score></hit><hit><sdata name="DID">16814</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003978</sdata><score>100</score></hit><hit><sdata name="DID">17045</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004056</sdata><score>100</score></hit><hit><sdata name="DID">12246</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006478</sdata><score>100</score></hit><hit><sdata name="DID">15911</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005652</sdata><score>100</score></hit><hit><sdata name="DID">16775</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003999</sdata><score>100</score></hit><hit><sdata name="DID">11925</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000776</sdata><score>100</score></hit><hit><sdata name="DID">15639</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000763</sdata><score>100</score></hit><hit><sdata name="DID">16865</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000770</sdata><score>100</score></hit><hit><sdata name="DID">10100</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000741</sdata><score>100</score></hit><hit><sdata name="DID">17116</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004054</sdata><score>100</score></hit><hit><sdata name="DID">9015</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000801</sdata><score>100</score></hit><hit><sdata name="DID">16474</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006061</sdata><score>100</score></hit></hitlist><count>34</count><groups sdata="SDDRILLDOWN"><group value="Document,insight_application1,"><count>34</count></group></groups></ctx_result_set>
>search/7
02.19 15:23:53.692
IdcServer-14885
Trace:
search/7
02.19 15:23:53.692
IdcServer-14885
ctx_query.result_set start time:15:23:53.64
search/7
02.19 15:23:53.692
IdcServer-14885
ctx_query.result_set end time:15:23:53.66
search/7
02.19 15:23:53.692
IdcServer-14885
Result parsing start time: 15:23:53.66
search/7
02.19 15:23:53.692
IdcServer-14885
Result parsing end time: 15:23:53.67
search/7
02.19 15:23:53.692
IdcServer-14885
SELECT dDocName,dDocTitle,dDocType,dSecurityGroup,dInDate,xArchiveFlag,xHidden,xWebsiteObjectType,xWebsiteSection,xDontShowInListsForWebsites,dRevisionID,dDocCreator,dWebExtension,xUpdateContentType,xSubmitForApproval,xFilesAllowed,xRegionDefinition,xWCWorkflowAssignment,dDocCreatedDate,dCreateDate,xWCTags,dOriginalName,xNewsType,dFormat,dPublishType,dDocFunction,dDocAuthor,VaultFileSize,dDocLastModifier,xWebFlag,dOutDate,dGif,dExtension,dDocLastModifiedDate,xClbraRoleList,xInhibitUpdate,URL,AlternateFormat,WebFileSize,xClbraUserList,dDocOwner,xReadOnly,dRevClassID,xWCWorkflowApproverUserList,xCollectionID,xComments,xPartitionId,dRevLabel,xStorageRule,dFullTextFormat,xWebsites,xDocumentSortDate,dRendition2,dRendition1,dID,xReadyForReplication,dDocAccount,xReadMoreURL,xIdcProfile,xClbraAliasList,otsFormat,otsCharset,otsLanguage FROM IdcText2 WHERE dID IN (11489,16132,13513,11319,17043,16477,16162,16010,10524,10777,10508,10476,12427,16333,17080,15926,16857,16895,16487,12431,16813,9569,16814,17045,12246,15911,16775,11925,15639,16865,10100,17116,9015,16474)
search/7
02.19 15:23:53.692
IdcServer-14885
Meta query start time: 15:23:53.67
search/7
02.19 15:23:53.692
IdcServer-14885
Meta query end time:15:23:53.67
>searchquery/6
02.19 15:23:53.692
IdcServer-14885
!csMonitorActiveDbConnections,0
>searchquery/6
02.19 15:23:53.692
IdcServer-14885
Connection is removed from active connections with key of '[ACTIVE] ExecuteThread: '35' for queue: 'weblogic.kernel.Default (self-tuning)''.
>searchquery/6
02.19 15:23:53.692
IdcServer-14885
release pool connection
>searchquery/6
02.19 15:23:53.708
IdcServer-14885
Execution time is 65 ms.
>searchquery/7
02.19 15:23:53.945
IdcServer-14886
Query by [email protected] from CIS
>searchquery/6
02.19 15:23:53.946
IdcServer-14886
preparedQueryText: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:53.946
IdcServer-14886
Setting substr to other operator conv flag: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )'
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Into parse of UniversalSearchQuery for: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Into parseQueryEx of UniversalSearchQueryParser for queryArr : ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:53.946
IdcServer-14886
Parsing universal query: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2013-01-01 00:00:00`) <and> (xDocumentSortDate<`2013-12-31 00:00:00`)))) )'
>searchquery/6
02.19 15:23:53.946
IdcServer-14886
Processing callback on query value 'NEWS_REG_DEF'
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : equals value : NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing actions list size : 1 on the input value : xRegionDefinition with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing action number : 0 : prefix on the input value : xRegionDefinition with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing actions list size : 2 on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing action number : 0 : upperCase on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing action number : 1 : escape on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with '' resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with _ resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with \- resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with \_ resulting in value :NEWS\_REG\_DEF
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with \, resulting in value :NEWS\_REG\_DEF
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:53.946
IdcServer-14886
Processing callback on query value 'Yes'
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : equals value : Yes
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing actions list size : 1 on the input value : xArchiveFlag with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing action number : 0 : prefix on the input value : xArchiveFlag with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing actions list size : 2 on the input value : Yes with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing action number : 0 : upperCase on the input value : Yes with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processing action number : 1 : escape on the input value : YES with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with '' resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with _ resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.946
IdcServer-14886
Processed escape with \- resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.947
IdcServer-14886
Processed escape with \_ resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.947
IdcServer-14886
Processed escape with \, resulting in value :YES
>searchqueryparse/6
02.19 15:23:53.947
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:53.947
IdcServer-14886
Processing callback on query value '2013-01-01 00:00:00'
>searchqueryparse/6
02.19 15:23:53.947
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : dateGreater value : 2012/12/31 18:00:00
>searchqueryparse/6
02.19 15:23:53.947
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:53.947
IdcServer-14886
Processing callback on query value '2013-12-31 00:00:00'
>searchqueryparse/6
02.19 15:23:53.947
IdcServer-14886
Into appendClauseElement CommonSearchConfig with operator : dateLess value : 2013/12/30 18:00:00
>searchquery/6
02.19 15:23:53.947
IdcServer-14886
Converted native query: '((( SDATA(sdxRegionDefinition LIKE 'NEWS\_REG\_DEF') ) and (( SDATA(sdxArchiveFlag LIKE 'YES') ) and (( SDATA(xDocumentSortDate > '2012/12/31 18:00:00') ) and ( SDATA(xDocumentSortDate < '2013/12/30 18:00:00') )))))'
>searchquery/7
02.19 15:23:53.947
IdcServer-14886
assigning connection
>searchquery/6
02.19 15:23:53.947
IdcServer-14886
!csMonitorActiveDbConnections,1
>searchquery/6
02.19 15:23:53.947
IdcServer-14886
Connection is added to active connections with key of '[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)''.
>searchquery/6
02.19 15:23:53.947
IdcServer-14886
query(live): (((((((((((( SDATA(sdxRegionDefinition LIKE 'NEWS\_REG\_DEF') ) and (( SDATA(sdxArchiveFlag LIKE 'YES') ) and (( SDATA(xDocumentSortDate > '2012/12/31 18:00:00') ) and ( SDATA(xDocumentSortDate < '2013/12/30 18:00:00') )))))))))))))) [1,51] sort(xDocumentSortDate DESC)
>search/6
02.19 15:23:53.992
IdcServer-14886
Start parsing drill down fields with SAX...
>search/6
02.19 15:23:53.993
IdcServer-14886
Completed parsing 1 groups.
>search/7
02.19 15:23:53.994
IdcServer-14886
ResultSetInterface results: <ctx_result_set><hitlist><hit><sdata name="DID">11489</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006063</sdata><score>100</score></hit><hit><sdata name="DID">16132</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006403</sdata><score>100</score></hit><hit><sdata name="DID">13513</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006591</sdata><score>100</score></hit><hit><sdata name="DID">11319</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006003</sdata><score>100</score></hit><hit><sdata name="DID">17043</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004050</sdata><score>100</score></hit><hit><sdata name="DID">16477</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006407</sdata><score>100</score></hit><hit><sdata name="DID">16162</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006593</sdata><score>100</score></hit><hit><sdata name="DID">16010</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006399</sdata><score>100</score></hit><hit><sdata name="DID">10524</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005609</sdata><score>100</score></hit><hit><sdata name="DID">10777</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005601</sdata><score>100</score></hit><hit><sdata name="DID">10508</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005600</sdata><score>100</score></hit><hit><sdata name="DID">10476</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005585</sdata><score>100</score></hit><hit><sdata name="DID">12427</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006397</sdata><score>100</score></hit><hit><sdata name="DID">16333</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005580</sdata><score>100</score></hit><hit><sdata name="DID">17080</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004051</sdata><score>100</score></hit><hit><sdata name="DID">15926</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006482</sdata><score>100</score></hit><hit><sdata name="DID">16857</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003963</sdata><score>100</score></hit><hit><sdata name="DID">16895</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003964</sdata><score>100</score></hit><hit><sdata name="DID">16487</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006481</sdata><score>100</score></hit><hit><sdata name="DID">12431</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006485</sdata><score>100</score></hit><hit><sdata name="DID">16813</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003977</sdata><score>100</score></hit><hit><sdata name="DID">9569</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005342</sdata><score>100</score></hit><hit><sdata name="DID">16814</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003978</sdata><score>100</score></hit><hit><sdata name="DID">17045</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004056</sdata><score>100</score></hit><hit><sdata name="DID">12246</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006478</sdata><score>100</score></hit><hit><sdata name="DID">15911</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-005652</sdata><score>100</score></hit><hit><sdata name="DID">16775</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003999</sdata><score>100</score></hit><hit><sdata name="DID">11925</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000776</sdata><score>100</score></hit><hit><sdata name="DID">15639</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000763</sdata><score>100</score></hit><hit><sdata name="DID">16865</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000770</sdata><score>100</score></hit><hit><sdata name="DID">10100</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000741</sdata><score>100</score></hit><hit><sdata name="DID">17116</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004054</sdata><score>100</score></hit><hit><sdata name="DID">9015</sdata><sdata name="SDDDOCNAME">VMOHSKEND05482000801</sdata><score>100</score></hit><hit><sdata name="DID">16474</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006061</sdata><score>100</score></hit></hitlist><count>34</count><groups sdata="SDDRILLDOWN"><group value="Document,insight_application1,"><count>34</count></group></groups></ctx_result_set>
>search/7
02.19 15:23:53.994
IdcServer-14886
Trace:
search/7
02.19 15:23:53.994
IdcServer-14886
ctx_query.result_set start time:15:23:53.95
search/7
02.19 15:23:53.994
IdcServer-14886
ctx_query.result_set end time:15:23:53.96
search/7
02.19 15:23:53.994
IdcServer-14886
Result parsing start time: 15:23:53.96
search/7
02.19 15:23:53.994
IdcServer-14886
Result parsing end time: 15:23:53.97
search/7
02.19 15:23:53.994
IdcServer-14886
SELECT dDocName,dDocTitle,dDocType,dSecurityGroup,dInDate,xArchiveFlag,xHidden,xWebsiteObjectType,xWebsiteSection,xDontShowInListsForWebsites,dRevisionID,dDocCreator,dWebExtension,xUpdateContentType,xSubmitForApproval,xFilesAllowed,xRegionDefinition,xWCWorkflowAssignment,dDocCreatedDate,dCreateDate,xWCTags,dOriginalName,xNewsType,dFormat,dPublishType,dDocFunction,dDocAuthor,VaultFileSize,dDocLastModifier,xWebFlag,dOutDate,dGif,dExtension,dDocLastModifiedDate,xClbraRoleList,xInhibitUpdate,URL,AlternateFormat,WebFileSize,xClbraUserList,dDocOwner,xReadOnly,dRevClassID,xWCWorkflowApproverUserList,xCollectionID,xComments,xPartitionId,dRevLabel,xStorageRule,dFullTextFormat,xWebsites,xDocumentSortDate,dRendition2,dRendition1,dID,xReadyForReplication,dDocAccount,xReadMoreURL,xIdcProfile,xClbraAliasList,otsFormat,otsCharset,otsLanguage FROM IdcText2 WHERE dID IN (11489,16132,13513,11319,17043,16477,16162,16010,10524,10777,10508,10476,12427,16333,17080,15926,16857,16895,16487,12431,16813,9569,16814,17045,12246,15911,16775,11925,15639,16865,10100,17116,9015,16474)
search/7
02.19 15:23:53.994
IdcServer-14886
Meta query start time: 15:23:53.97
search/7
02.19 15:23:53.994
IdcServer-14886
Meta query end time:15:23:53.98
>searchquery/6
02.19 15:23:53.995
IdcServer-14886
!csMonitorActiveDbConnections,0
>searchquery/6
02.19 15:23:53.995
IdcServer-14886
Connection is removed from active connections with key of '[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)''.
>searchquery/6
02.19 15:23:53.995
IdcServer-14886
release pool connection
>searchquery/6
02.19 15:23:54.007
IdcServer-14886
Execution time is 61 ms.
>searchquery/7
02.19 15:23:54.313
IdcServer-14887
Query by [email protected] from CIS
>searchquery/6
02.19 15:23:54.313
IdcServer-14887
preparedQueryText: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:54.313
IdcServer-14887
Setting substr to other operator conv flag: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )'
>searchqueryparse/6
02.19 15:23:54.313
IdcServer-14887
Into parse of UniversalSearchQuery for: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )
>searchqueryparse/6
02.19 15:23:54.313
IdcServer-14887
Into parseQueryEx of UniversalSearchQueryParser for queryArr : ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:54.313
IdcServer-14887
Parsing universal query: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )'
>searchquery/6
02.19 15:23:54.313
IdcServer-14887
Processing callback on query value 'NEWS_REG_DEF'
>searchqueryparse/6
02.19 15:23:54.313
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : equals value : NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:54.313
IdcServer-14887
Processing actions list size : 1 on the input value : xRegionDefinition with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.313
IdcServer-14887
Processing action number : 0 : prefix on the input value : xRegionDefinition with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.313
IdcServer-14887
Processing actions list size : 2 on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing action number : 0 : upperCase on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing action number : 1 : escape on the input value : NEWS_REG_DEF with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with '' resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with _ resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with \- resulting in value :NEWS_REG_DEF
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with \_ resulting in value :NEWS\_REG\_DEF
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with \, resulting in value :NEWS\_REG\_DEF
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:54.314
IdcServer-14887
Processing callback on query value 'Yes'
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : equals value : Yes
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing actions list size : 1 on the input value : xArchiveFlag with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing action number : 0 : prefix on the input value : xArchiveFlag with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing actions list size : 2 on the input value : Yes with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing action number : 0 : upperCase on the input value : Yes with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processing action number : 1 : escape on the input value : YES with searchengine ORACLETEXTSEARCH
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with '' resulting in value :YES
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with _ resulting in value :YES
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with \- resulting in value :YES
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with \_ resulting in value :YES
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Processed escape with \, resulting in value :YES
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:54.314
IdcServer-14887
Processing callback on query value '2014-01-01 00:00:00'
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : dateGreater value : 2013/12/31 18:00:00
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : and value :
>searchquery/6
02.19 15:23:54.314
IdcServer-14887
Processing callback on query value '2014-12-31 00:00:00'
>searchqueryparse/6
02.19 15:23:54.314
IdcServer-14887
Into appendClauseElement CommonSearchConfig with operator : dateLess value : 2014/12/30 18:00:00
>searchquery/6
02.19 15:23:54.314
IdcServer-14887
Converted native query: '((( SDATA(sdxRegionDefinition LIKE 'NEWS\_REG\_DEF') ) and (( SDATA(sdxArchiveFlag LIKE 'YES') ) and (( SDATA(xDocumentSortDate > '2013/12/31 18:00:00') ) and ( SDATA(xDocumentSortDate < '2014/12/30 18:00:00') )))))'
>searchquery/7
02.19 15:23:54.314
IdcServer-14887
assigning connection
>searchquery/6
02.19 15:23:54.314
IdcServer-14887
!csMonitorActiveDbConnections,1
>searchquery/6
02.19 15:23:54.314
IdcServer-14887
Connection is added to active connections with key of '[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)''.
>searchquery/6
02.19 15:23:54.315
IdcServer-14887
query(live): (((((((((((( SDATA(sdxRegionDefinition LIKE 'NEWS\_REG\_DEF') ) and (( SDATA(sdxArchiveFlag LIKE 'YES') ) and (( SDATA(xDocumentSortDate > '2013/12/31 18:00:00') ) and ( SDATA(xDocumentSortDate < '2014/12/30 18:00:00') )))))))))))))) [1,51] sort(xDocumentSortDate DESC)
>search/6
02.19 15:23:54.365
IdcServer-14887
Start parsing drill down fields with SAX...
>search/6
02.19 15:23:54.367
IdcServer-14887
Completed parsing 1 groups.
>search/7
02.19 15:23:54.369
IdcServer-14887
ResultSetInterface results: <ctx_result_set><hitlist><hit><sdata name="DID">17207</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004318</sdata><score>100</score></hit><hit><sdata name="DID">17281</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004289</sdata><score>100</score></hit><hit><sdata name="DID">17105</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004316</sdata><score>100</score></hit><hit><sdata name="DID">17244</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004252</sdata><score>100</score></hit><hit><sdata name="DID">16997</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004251</sdata><score>100</score></hit><hit><sdata name="DID">17034</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004233</sdata><score>100</score></hit><hit><sdata name="DID">17239</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004219</sdata><score>100</score></hit><hit><sdata name="DID">17178</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004186</sdata><score>100</score></hit><hit><sdata name="DID">17112</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004150</sdata><score>100</score></hit><hit><sdata name="DID">17276</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004148</sdata><score>100</score></hit><hit><sdata name="DID">17193</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004137</sdata><score>100</score></hit><hit><sdata name="DID">17070</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004132</sdata><score>100</score></hit><hit><sdata name="DID">17195</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004123</sdata><score>100</score></hit><hit><sdata name="DID">17275</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004116</sdata><score>100</score></hit><hit><sdata name="DID">17189</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004080</sdata><score>100</score></hit><hit><sdata name="DID">16993</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004089</sdata><score>100</score></hit><hit><sdata name="DID">17032</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004070</sdata><score>100</score></hit><hit><sdata name="DID">16784</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004035</sdata><score>100</score></hit><hit><sdata name="DID">16268</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-006848</sdata><score>100</score></hit><hit><sdata name="DID">16866</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004028</sdata><score>100</score></hit><hit><sdata name="DID">16940</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004027</sdata><score>100</score></hit><hit><sdata name="DID">16823</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004025</sdata><score>100</score></hit><hit><sdata name="DID">16731</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004024</sdata><score>100</score></hit><hit><sdata name="DID">17132</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004023</sdata><score>100</score></hit><hit><sdata name="DID">16645</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004020</sdata><score>100</score></hit><hit><sdata name="DID">16678</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004002</sdata><score>100</score></hit><hit><sdata name="DID">16642</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004000</sdata><score>100</score></hit><hit><sdata name="DID">16610</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-008921</sdata><score>100</score></hit><hit><sdata name="DID">16726</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003959</sdata><score>100</score></hit><hit><sdata name="DID">16663</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003952</sdata><score>100</score></hit><hit><sdata name="DID">15967</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003823</sdata><score>100</score></hit><hit><sdata name="DID">15878</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003821</sdata><score>100</score></hit><hit><sdata name="DID">16277</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003820</sdata><score>100</score></hit><hit><sdata name="DID">15624</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-008149</sdata><score>100</score></hit><hit><sdata name="DID">16178</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003607</sdata><score>100</score></hit><hit><sdata name="DID">16765</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003764</sdata><score>100</score></hit><hit><sdata name="DID">16691</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003766</sdata><score>100</score></hit><hit><sdata name="DID">16827</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003499</sdata><score>100</score></hit><hit><sdata name="DID">16303</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003498</sdata><score>100</score></hit><hit><sdata name="DID">16696</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003756</sdata><score>100</score></hit><hit><sdata name="DID">16937</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003806</sdata><score>100</score></hit><hit><sdata name="DID">15976</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003381</sdata><score>100</score></hit><hit><sdata name="DID">16364</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003807</sdata><score>100</score></hit><hit><sdata name="DID">15832</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003803</sdata><score>100</score></hit><hit><sdata name="DID">17285</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1004041</sdata><score>100</score></hit><hit><sdata name="DID">16639</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003972</sdata><score>100</score></hit><hit><sdata name="DID">16820</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1003628</sdata><score>100</score></hit><hit><sdata name="DID">15183</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-007721</sdata><score>100</score></hit><hit><sdata name="DID">15180</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-007720</sdata><score>100</score></hit><hit><sdata name="DID">15640</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-007722</sdata><score>100</score></hit><hit><sdata name="DID">15631</sdata><sdata name="SDDDOCNAME">WCC_CLUSTER1-007719</sdata><score>100</score></hit></hitlist><count>66</count><groups sdata="SDDRILLDOWN"><group value="Document,insight_application1,"><count>66</count></group></groups></ctx_result_set>
>search/7
02.19 15:23:54.369
IdcServer-14887
Trace:
search/7
02.19 15:23:54.369
IdcServer-14887
ctx_query.result_set start time:15:23:54.31
search/7
02.19 15:23:54.369
IdcServer-14887
ctx_query.result_set end time:15:23:54.32
search/7
02.19 15:23:54.369
IdcServer-14887
Result parsing start time: 15:23:54.33
search/7
02.19 15:23:54.369
IdcServer-14887
Result parsing end time: 15:23:54.35
search/7
02.19 15:23:54.369
IdcServer-14887
SELECT dDocName,dDocTitle,dDocType,dSecurityGroup,dInDate,xArchiveFlag,xHidden,xWebsiteObjectType,xWebsiteSection,xDontShowInListsForWebsites,dRevisionID,dDocCreator,dWebExtension,xUpdateContentType,xSubmitForApproval,xFilesAllowed,xRegionDefinition,xWCWorkflowAssignment,dDocCreatedDate,dCreateDate,xWCTags,dOriginalName,xNewsType,dFormat,dPublishType,dDocFunction,dDocAuthor,VaultFileSize,dDocLastModifier,xWebFlag,dOutDate,dGif,dExtension,dDocLastModifiedDate,xClbraRoleList,xInhibitUpdate,URL,AlternateFormat,WebFileSize,xClbraUserList,dDocOwner,xReadOnly,dRevClassID,xWCWorkflowApproverUserList,xCollectionID,xComments,xPartitionId,dRevLabel,xStorageRule,dFullTextFormat,xWebsites,xDocumentSortDate,dRendition2,dRendition1,dID,xReadyForReplication,dDocAccount,xReadMoreURL,xIdcProfile,xClbraAliasList,otsFormat,otsCharset,otsLanguage FROM IdcText2 WHERE dID IN (17207,17281,17105,17244,16997,17034,17239,17178,17112,17276,17193,17070,17195,17275,17189,16993,17032,16784,16268,16866,16940,16823,16731,17132,16645,16678,16642,16610,16726,16663,15967,15878,16277,15624,16178,16765,16691,16827,16303,16696,16937,15976,16364,15832,17285,16639,16820,15183,15180,15640,15631)
search/7
02.19 15:23:54.369
IdcServer-14887
Meta query start time: 15:23:54.35
search/7
02.19 15:23:54.369
IdcServer-14887
Meta query end time:15:23:54.35
>searchquery/6
02.19 15:23:54.369
IdcServer-14887
!csMonitorActiveDbConnections,0
>searchquery/6
02.19 15:23:54.369
IdcServer-14887
Connection is removed from active connections with key of '[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)''.
>searchquery/6
02.19 15:23:54.369
IdcServer-14887
release pool connection
>searchquery/6
02.19 15:23:54.382
IdcServer-14887
Execution time is 69 ms.
>searchquery/7
02.19 15:23:54.662
IdcServer-14888
Query by [email protected] from CIS
>searchquery/6
02.19 15:23:54.662
IdcServer-14888
preparedQueryText: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:54.662
IdcServer-14888
Setting substr to other operator conv flag: '( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )'
>searchqueryparse/6
02.19 15:23:54.662
IdcServer-14888
Into parse of UniversalSearchQuery for: ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )
>searchqueryparse/6
02.19 15:23:54.662
IdcServer-14888
Into parseQueryEx of UniversalSearchQueryParser for queryArr : ( ((xRegionDefinition <matches> `NEWS_REG_DEF`) <and> ((xArchiveFlag <matches> `Yes`) <and> ((xDocumentSortDate>`2014-01-01 00:00:00`) <and> (xDocumentSortDate<`2014-12-31 00:00:00`)))) )
>searchquery/6
02.19 15:23:54.662
IdcServer-14888
Parsing universal query: -
How to show maximum number of results is 100 in Customsearch help exit
Hi,
we have created one custome search help with FM Exist when clicking on f4 on field it'showing with result 5000 entries but i want to show only 100 initially when we open f4.
so how we can restric maximum number of results is 100.plz guide me.
divya.Hi,
we have created one custome search help with FM Exist when clicking on f4 on field it'showing with result 5000 entries but i want to show only 100 initially when we open f4.
so how we can restric maximum number of results is 100.plz guide me.
divya. -
BEX analyzer -Maximum number of rows (65535) exceeded. Result is incomplete
Hello Experts,
I am trying to Run a report on BEx Analyzer.There are around 200,000 records to be displayed in the result.
I am getting the below error.
Maximum number of rows (65535) exceeded. Result is incomplete.
Message no. BRAIN675
We are on SAP GUI 7.X and Excel 2007
Is there any setting that I have to change inorder for BEX analyzer to display all the 200,000 records.
Also any memory setting for the result set to be changed ?
Please let me know your thoughts
Thanks
DoodleHi Doodle,
The rows limit for Excel 2007 is 1 million so this is not the problem with row limitation. It seems like you have opened the pre-excel 2007 workbook in excel 2007, check your title bar if it says "Compatible Mode". This will limit you to old standard of 65K.
May be what you can do is , save your file using save as option and try running the workbook.
Your new file extension will be .xlsx
Regards,
Durgesh.
Edited by: Durgesh Gandewar on Jul 14, 2011 10:03 AM -
Hi,
I have created one query , When I am executing it , it is displaying the message "Maximum number of rows exceeded" .
Is there any option in query design through which I can display all the data?
Thanks,
JeetuHi Jeetu ,
such a big report which even exceeds the excel limit will be of relatively no use to the user .
you should restirct the outpur using some criteria so that it is a managable report.
Thanks. -
ORA-00020: maximum number of processes 1000 exceeded
Hello,
Oracle 10.2.0.4.0
O/S: Windows Server 2003-64 bits
RAM: 32Gb
Instance: opext
show SGA
Total System Global Area 10284433408 bytes
Fixed Size 2180960 bytes
Variable Size 1574353056 bytes
Database Buffers 8690597888 bytes
Redo Buffers 17301504 bytes
Today at 8:01 am we've got this error:
ORA-00020: maximum number of processes 1000 exceeded
That incident was reported in a trace file (opext_ora_8240.trc):
Dump file c:\oracle\product\10.2.0\admin\opext\bdump\opext_ora_8240.trc
Tue Jul 31 08:01:03 2012
ORACLE V10.2.0.4.0 - 64bit Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
Windows NT Version V5.2 Service Pack 2
CPU : 8 - type 8664, 1 Physical Cores
Process Affinity : 0x0000000000000000
Memory (Avail/Total): Ph:18773M/32767M, Ph+PgF:66964M/80966M
Instance name: opext
Redo thread mounted by this instance: 1
Oracle process number: 0
Windows thread id: 8240, image: ORACLE.EXE
ORA-00020: maximum number of processes 1000 exceeded
Died during process startup with error 20 (seq=212441)
OPIRIP: Uncaught error 20. Error stack:
ORA-00020: maximum number of processes (1000) exceededThis was the first time in three years that happened an incident like this. Due my Windows server allows me to setup processes and sessions with a very high value, I did it when configuring this database for the first time.
select resource_name,initial_allocation, limit_value from V$RESOURCE_LIMIT;
RESOURCE_NAME INITIAL_ALLOCATION LIMIT_VALUE
processes 1000 1000
sessions 1105 1105
transactions 1215 UNLIMITEDI would like to know what application or process made that my database exceeds 1000 processes. I read that one possiblity is that there's a web app that open many connections to database and doesn't close them.
In my listener.log, I got this at 08:05 am:
31-JUL-2012 08:05:41 * service_update * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36578)) * establish * opext * 0
31-JUL-2012 08:05:47 * service_update * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36579)) * establish * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36580)) * establish * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36581)) * establish * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36582)) * establish * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36583)) * establish * opext * 0
31-JUL-2012 08:05:47 * (CONNECT_DATA=(SERVICE_NAME=opext)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=SRVXXX)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=36584)) * establish * opext * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
Host SRVXXX is a server where a web app is and 192.168.1.1 is our firewall. May I think that this server was the one that made so many connections?
I checked alert.log, trc file and listener.log. What else can I check to determine what was the cause of this incident?user521219 wrote:
Host SRVXXX is a server where a web app is and 192.168.1.1 is our firewall. May I think that this server was the one that made so many connections?
I checked alert.log, trc file and listener.log. What else can I check to determine what was the cause of this incident?check IIS logs
It could result from Denial of Service attack or trojan or virus infecting webserver -
ORA 01792 maximum number of columns in a table or view is 1000
Hello every1, I wish to register a large xmlschema doc, I am using the command
begin
dbms_xmlschema.registerschema(
schemaurl=>'xxxx',
schemadoc=>bfilename('XMLDIR','xxxxxx.xsd'),
csid=>nls_charset_id('AL32UTF8'));
end;
But the schema file exists 1000 col and it gives me the error msg of
ORA-01792: maximum number of columns in a table or view is 1000
is there anyway to solve the problems without edit the original schema document?
Thanks for your helpFirst create this package
create or replace package XDB_ANALYZE_XMLSCHEMA_10200
authid CURRENT_USER
as
function analyzeStorageModel(P_COMPLEX_TYPE_NAME VARCHAR2) return XMLTYPE;
function analyzeComplexType(COMPLEX_TYPE VARCHAR2) return XMLTYPE;
procedure renameCollectionTable (XMLTABLE varchar2, XPATH varchar2, COLLECTION_TABLE_PREFIX varchar2);
function printNestedTables(XML_TABLE varchar2) return XMLType;
function getComplexTypeElementList(P_SQLTYPE VARCHAR2, P_SQLSCHEMA VARCHAR2) return XDB.XDB$XMLTYPE_REF_LIST_T;
procedure scopeXMLReferences;
procedure indexXMLReferences(INDEX_NAME VARCHAR2);
function generateSchemaFromTable(P_TABLE_NAME varchar2, P_OWNER varchar2 default USER) return XMLTYPE;
function showSQLTypes(schemaFolder varchar2) return XMLType;
function generateCreateTableStatement(XML_TABLE_NAME varchar2, NEW_TABLE_NAME varchar2) return CLOB;
end XDB_ANALYZE_XMLSCHEMA_10200;
show errors
create or replace package body XDB_ANALYZE_XMLSCHEMA_10200
as
G_DEPTH_COUNT NUMBER(2) := 0;
TYPE BASETYPE_T is RECORD
SUBTYPE varchar2(128),
SUBTYPE_OWNER varchar2(32),
BASETYPE varchar2(128),
BASETYPE_OWNER varchar2(32)
TYPE BASETYPE_LIST_T IS TABLE OF BASETYPE_T;
BASETYPE_LIST BASETYPE_LIST_T := BASETYPE_LIST_T();
function findStorageModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2, P_INCLUDE_SUBTYPES VARCHAR2 DEFAULT 'YES') return XMLType;
function getLocalAttributes(P_TYPE_NAME varchar2, P_TYPE_OWNER VARCHAR2) return XMLType;
function makeElement(P_NAME varchar2)
return xmltype
as
V_NAME varchar2(4000) := P_NAME;
begin
-- -- dbms_output.put_line('Processing : ' || P_NAME);
if (P_NAME LIKE '%$') then
V_NAME := SUBSTR(V_NAME,1,LENGTH(V_NAME) - 1);
end if;
if (P_NAME LIKE '%$%') then
V_NAME := REPLACE(V_NAME,'$','_0x22_');
end if;
return XMLTYPE( '<' || V_NAME || '/>');
end;
function getPathToRoot(SUBTYPE VARCHAR2, SUBTYPE_OWNER VARCHAR2)
return varchar2
as
TYPE_HIERARCHY varchar2(4000);
begin
SELECT sys_connect_by_path( OWNER || '.' || TYPE_NAME , '/')
INTO TYPE_HIERARCHY
FROM ALL_TYPES
WHERE TYPE_NAME = SUBTYPE
AND OWNER = SUBTYPE_OWNER
CONNECT BY SUPERTYPE_NAME = PRIOR TYPE_NAME
AND SUPERTYPE_OWNER = PRIOR OWNER
START WITH SUPERTYPE_NAME IS NULL
AND SUPERTYPE_OWNER IS NULL;
return TYPE_HIERARCHY;
end;
function expandSQLType(ATTR_NAME VARCHAR2, SUBTYPE VARCHAR2, SUBTYPE_OWNER VARCHAR2)
return XMLType
as
STORAGE_MODEL XMLTYPE;
ATTRIBUTES XMLTYPE;
EXTENDED_TYPE XMLTYPE;
ATTR_COUNT NUMBER := 0;
CURSOR FIND_EXTENDED_TYPES
is
select TYPE_NAME, OWNER
from ALL_TYPES
where SUPERTYPE_NAME = SUBTYPE
and SUPERTYPE_OWNER = SUBTYPE_OWNER;
begin
-- dbms_output.put_line('Processing SQLType : "' || SUBTYPE_OWNER || '.' || SUBTYPE || '".' );
STORAGE_MODEL := makeElement(ATTR_NAME);
select insertChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),'@type',SUBTYPE)
into STORAGE_MODEL
from dual;
select insertChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),'@typeOwner',SUBTYPE_OWNER)
into STORAGE_MODEL
from dual;
ATTRIBUTES := getLocalAttributes(SUBTYPE, SUBTYPE_OWNER);
ATTR_COUNT := ATTR_COUNT + ATTRIBUTES.extract('/' || ATTRIBUTES.getRootElement() || '/@columns').getNumberVal();
select appendChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),ATTRIBUTES)
into STORAGE_MODEL
from DUAL;
for t in FIND_EXTENDED_TYPES loop
EXTENDED_TYPE := expandSQLType('ExtendedType',T.TYPE_NAME,T.OWNER);
ATTR_COUNT := ATTR_COUNT + EXTENDED_TYPE.extract('/' || EXTENDED_TYPE.getRootElement() || '/@columns').getNumberVal();
select appendChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),EXTENDED_TYPE)
into STORAGE_MODEL
from DUAL;
end loop;
select insertChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),'@columns',ATTR_COUNT)
into STORAGE_MODEL
from dual;
return STORAGE_MODEL;
end;
function getLocalAttributes(P_TYPE_NAME varchar2, P_TYPE_OWNER VARCHAR2)
return XMLType
as
V_ATTRIBUTE_COUNT NUMBER := 0;
V_TOTAL_ATTRIBUTES NUMBER := 0;
V_TEMP_RESULT NUMBER;
V_COLLECTION_TYPE varchar2(32);
V_COLLECTION_OWNER varchar2(32);
CURSOR FIND_CHILD_ATTRS
is
select ATTR_NAME, ATTR_TYPE_OWNER, ATTR_TYPE_NAME, INHERITED
from ALL_TYPE_ATTRS
where TYPE_NAME = P_TYPE_NAME
and OWNER = P_TYPE_OWNER
and INHERITED = 'NO'
order by ATTR_NO;
V_ATTR DBMS_XMLDOM.DOMATTR;
V_ATTRIBUTE_LIST XMLTYPE;
V_ATTRIBUTE_LIST_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_ATTRIBUTE_LIST_ROOT DBMS_XMLDOM.DOMELEMENT;
V_ATTRIBUTE XMLTYPE;
V_ATTRIBUTE_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_ATTRIBUTE_ROOT DBMS_XMLDOM.DOMELEMENT;
V_TYPE_DEFINITION XMLTYPE;
V_TYPE_DEFINITION_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_TYPE_DEFINITION_ROOT DBMS_XMLDOM.DOMELEMENT;
begin
V_ATTRIBUTE_LIST := makeElement('Attributes');
V_ATTRIBUTE_LIST_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE_LIST);
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_LIST_DOCUMENT);
for ATTR in FIND_CHILD_ATTRS loop
-- Finding Element / Attribute Name could be tricky. Use SQLName
V_ATTRIBUTE := makeElement(ATTR.ATTR_NAME);
V_ATTRIBUTE_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE);
V_ATTRIBUTE_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_DOCUMENT);
begin
-- Check for Attributes based on collection types, With Nested Table storage each Collection will cost 2 columns.
select ELEM_TYPE_NAME, ELEM_TYPE_OWNER
into V_COLLECTION_TYPE, V_COLLECTION_OWNER
from ALL_COLL_TYPES
where TYPE_NAME = ATTR.ATTR_TYPE_NAME
and OWNER = ATTR.ATTR_TYPE_OWNER;
-- -- dbms_output.put_line('Adding "' || ATTR.ATTR_NAME || '". Collection of "' || ATTR.ATTR_TYPE_OWNER || '"."' || ATTR.ATTR_TYPE_NAME || '".');
-- Attribute is a Collection Type.
-- Collection will be managed as a NESTED TABLE
-- Each Collection cost 2 columns.
-- May want to count the number of columns in the NESTED_TABLE at a later date.
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLCollType');
DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_NAME);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLCollTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLType');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_COLLECTION_TYPE);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_COLLECTION_OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,2);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
exception
when no_data_found then
-- Attribute is not a collection type.
begin
-- Check for Attributes based on non-scalar types.
select 1
into V_TEMP_RESULT
from ALL_TYPES
where TYPE_NAME = ATTR.ATTR_TYPE_NAME
and OWNER = ATTR.ATTR_TYPE_OWNER;
-- Attribute is based on a non-scalar type. Find the Storage Model for this type.
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLType');
DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_NAME);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_TYPE_DEFINITION := findStorageModel(ATTR.ATTR_TYPE_NAME, ATTR.ATTR_TYPE_OWNER, 'YES');
V_TYPE_DEFINITION_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_TYPE_DEFINITION);
V_TYPE_DEFINITION_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_TYPE_DEFINITION_DOCUMENT);
V_ATTRIBUTE_COUNT := DBMS_XMLDOM.GETATTRIBUTE(V_TYPE_DEFINITION_ROOT,'columns');
V_TYPE_DEFINITION_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_ATTRIBUTE_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),TRUE));
V_TYPE_DEFINITION_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_ROOT),DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT)));
DBMS_XMLDOM.FREEDOCUMENT(V_TYPE_DEFINITION_DOCUMENT);
if (ATTR.ATTR_TYPE_NAME = 'XDB$ENUM_T' and ATTR.ATTR_TYPE_OWNER = 'XDB') then
-- The cost of a XDB$ENUM_T is 2 columns
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,2);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
else
-- The cost of a non scalar Type is the number of attributes plus one for Type and one for the TYPEID.
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_ATTRIBUTE_COUNT + 2);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
end if;
exception
when no_data_found then
-- Attribute is based on a scalar type
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLType');
DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_NAME);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,1);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
end;
end;
V_TOTAL_ATTRIBUTES := V_TOTAL_ATTRIBUTES + DBMS_XMLDOM.GETATTRIBUTE(V_ATTRIBUTE_ROOT,'columns');
V_ATTRIBUTE_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_ATTRIBUTE_LIST_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_ROOT),TRUE));
V_ATTRIBUTE_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT),DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_ROOT)));
DBMS_XMLDOM.FREEDOCUMENT(V_ATTRIBUTE_DOCUMENT);
if (V_TOTAL_ATTRIBUTES > 25000) then
exit;
end if;
end loop;
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_LIST_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_TOTAL_ATTRIBUTES);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_LIST_ROOT,V_ATTR);
return V_ATTRIBUTE_LIST;
end;
function getSubTypes(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2)
return XMLType
as
CURSOR FIND_SUBTYPES
is
select TYPE_NAME, OWNER
from ALL_TYPES
where SUPERTYPE_NAME = P_TYPE_NAME
and SUPERTYPE_OWNER = P_TYPE_OWNER;
CURSOR FIND_SUBTYPE_HEIRARCHY
is
select LEVEL, TYPE_NAME, OWNER
from ALL_TYPES
where TYPE_NAME <> P_TYPE_NAME
and OWNER <> P_TYPE_OWNER
connect by SUPERTYPE_NAME = PRIOR TYPE_NAME
and SUPERTYPE_OWNER = PRIOR OWNER
start with TYPE_NAME = P_TYPE_NAME
and OWNER = P_TYPE_OWNER;
V_SUBTYPE_LIST XMLType;
V_SUBTYPE_LIST_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_SUBTYPE_LIST_ROOT DBMS_XMLDOM.DOMELEMENT;
V_TYPE_DEFINITION XMLType;
V_TYPE_DEFINITION_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_TYPE_DEFINITION_ROOT DBMS_XMLDOM.DOMELEMENT;
V_SUBTYPE_DEFINITIONS XMLType;
V_SUBTYPE_DEFINITIONS_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_SUBTYPE_DEFINITIONS_ROOT DBMS_XMLDOM.DOMELEMENT;
V_ATTRIBUTE_LIST XMLType;
V_ATTRIBUTE_LIST_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_ATTRIBUTE_LIST_ROOT DBMS_XMLDOM.DOMELEMENT;
V_SUBTYPES_EXIST BOOLEAN := FALSE;
V_TOTAL_columns number;
V_ATTRIBUTE_COUNT number;
V_ATTR DBMS_XMLDOM.DOMATTR;
V_COMPLEX_TYPE VARCHAR2(256);
begin
V_SUBTYPE_LIST := makeElement('SubTypeDefinitions');
V_SUBTYPE_LIST_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUBTYPE_LIST);
V_SUBTYPE_LIST_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUBTYPE_LIST_DOCUMENT);
V_TOTAL_columns := 0;
for t in FIND_SUBTYPES() loop
V_SUBTYPES_EXIST := TRUE;
V_TYPE_DEFINITION := makeElement(t.TYPE_NAME);
V_TYPE_DEFINITION_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_TYPE_DEFINITION);
V_TYPE_DEFINITION_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_TYPE_DEFINITION_DOCUMENT);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_TYPE_DEFINITION_DOCUMENT,'SQLTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,t.OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_TYPE_DEFINITION_ROOT,V_ATTR);
begin
select x.XMLDATA.NAME
into V_COMPLEX_TYPE
from XDB.XDB$COMPLEX_TYPE x
where x.XMLDATA.SQLTYPE = t.TYPE_NAME
and x.XMLDATA.SQLSCHEMA = t.OWNER;
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_TYPE_DEFINITION_DOCUMENT,'type');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_COMPLEX_TYPE);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_TYPE_DEFINITION_ROOT,V_ATTR);
-- Consider adding Schema URL Attribute
exception
when no_data_found then
null;
when others then
raise;
end;
V_ATTRIBUTE_LIST := getLocalAttributes(t.TYPE_NAME, t.OWNER);
V_ATTRIBUTE_LIST_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE_LIST);
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_LIST_DOCUMENT);
V_ATTRIBUTE_COUNT := DBMS_XMLDOM.GETATTRIBUTE(V_ATTRIBUTE_LIST_ROOT,'columns');
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_TYPE_DEFINITION_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT),TRUE));
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT)));
DBMS_XMLDOM.FREEDOCUMENT(V_ATTRIBUTE_LIST_DOCUMENT);
V_SUBTYPE_DEFINITIONS := getSubTypes(t.TYPE_NAME,t.OWNER);
if (V_SUBTYPE_DEFINITIONS is not NULL) then
V_SUBTYPE_DEFINITIONS_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUBTYPE_DEFINITIONS);
V_SUBTYPE_DEFINITIONS_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUBTYPE_DEFINITIONS_DOCUMENT);
V_ATTRIBUTE_COUNT := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_SUBTYPE_DEFINITIONS_ROOT,'columns');
V_SUBTYPE_DEFINITIONS_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_TYPE_DEFINITION_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_SUBTYPE_DEFINITIONS_ROOT),TRUE));
V_SUBTYPE_DEFINITIONS_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),DBMS_XMLDOM.MAKENODE(V_SUBTYPE_DEFINITIONS_ROOT)));
end if;
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_TYPE_DEFINITION_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_ATTRIBUTE_COUNT);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_TYPE_DEFINITION_ROOT,V_ATTR);
V_TYPE_DEFINITION_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_SUBTYPE_LIST_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),TRUE));
V_TYPE_DEFINITION_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_SUBTYPE_LIST_ROOT),DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT)));
V_TOTAL_columns := V_TOTAL_columns + V_ATTRIBUTE_COUNT;
end loop;
if (V_SUBTYPES_EXIST) then
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_SUBTYPE_LIST_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_TOTAL_columns);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_SUBTYPE_LIST_ROOT,V_ATTR);
return V_SUBTYPE_LIST;
else
return NULL;
end if;
end;
function findSuperTypeModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2)
return XMLType
as
begin
-- dbms_output.put_line('Processing Super Type : "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '"');
return findStorageModel(P_TYPE_NAME, P_TYPE_OWNER,'NO');
end;
function getStorageModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2, P_INCLUDE_SUBTYPES VARCHAR2 DEFAULT 'YES')
return XMLType
as
V_TYPE_DEFINITION XMLTYPE;
V_ATTRIBUTE_COUNT NUMBER := 0;
SUBTYPE_STORAGE_MODEL XMLTYPE;
V_SUPERTYPE_DEFINITION XMLTYPE;
V_SUPERTYPE_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_SUPERTYPE_ROOT DBMS_XMLDOM.DOMELEMENT;
V_SUBTYPE_DEFINITION XMLTYPE;
V_SUBTYPE_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_SUBTYPE_ROOT DBMS_XMLDOM.DOMELEMENT;
V_ATTRIBUTE_LIST XMLTYPE;
V_ATTRIBUTE_LIST_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_ATTRIBUTE_LIST_ROOT DBMS_XMLDOM.DOMELEMENT;
cursor FIND_SUPERTYPE_HEIRARCHY
is
select TYPE_NAME, OWNER
from ALL_TYPES
where TYPE_NAME <> P_TYPE_NAME
and OWNER <> P_TYPE_OWNER
connect by TYPE_NAME = PRIOR SUPERTYPE_NAME
and OWNER = PRIOR SUPERTYPE_OWNER
start with TYPE_NAME = P_TYPE_NAME
and OWNER = P_TYPE_OWNER
order by LEVEL;
V_COMPLEX_TYPE varchar2(256);
V_SUPERTYPE_NAME varchar2(256);
v_SUPERTYPE_OWNER varchar2(256);
V_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_ROOT DBMS_XMLDOM.DOMELEMENT;
V_ATTR DBMS_XMLDOM.DOMATTR;
begin
-- dbms_output.put_line('Generating Storage Model for : "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '"');
V_TYPE_DEFINITION := makeElement(P_TYPE_NAME);
V_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_TYPE_DEFINITION);
V_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_DOCUMENT);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,P_TYPE_OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
begin
select x.XMLDATA.NAME
into V_COMPLEX_TYPE
from XDB.XDB$COMPLEX_TYPE x
where x.XMLDATA.SQLTYPE = P_TYPE_NAME
and x.XMLDATA.SQLSCHEMA = P_TYPE_OWNER;
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'type');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_COMPLEX_TYPE);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
-- Consider adding Schema URL Attribute
exception
when no_data_found then
null;
when others then
raise;
end;
select SUPERTYPE_NAME, SUPERTYPE_OWNER
into V_SUPERTYPE_NAME, V_SUPERTYPE_OWNER
from ALL_TYPES
where TYPE_NAME = P_TYPE_NAME
and OWNER = P_TYPE_OWNER;
-- Process SuperType.
if (V_SUPERTYPE_NAME is not null) then
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLParentType');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_SUPERTYPE_NAME);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLParentTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_SUPERTYPE_OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
-- Find the Definition for the super type. Do not include the definition of it's subtypes.
V_SUPERTYPE_DEFINITION := findSuperTypeModel(V_SUPERTYPE_NAME, V_SUPERTYPE_OWNER);
-- -- dbms_output.put_line(dbms_lob.substr(V_SUPERTYPE_DEFINITION.getClobVal(),1000,1));
V_SUPERTYPE_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUPERTYPE_DEFINITION);
V_SUPERTYPE_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUPERTYPE_DOCUMENT);
V_ATTRIBUTE_COUNT := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_SUPERTYPE_ROOT,'columns');
V_SUPERTYPE_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_SUPERTYPE_ROOT),TRUE));
V_SUPERTYPE_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_SUPERTYPE_ROOT)));
DBMS_XMLDOM.FREEDOCUMENT(V_SUPERTYPE_DOCUMENT);
end if;
-- Process Attributes defined directly by the Type.
V_ATTRIBUTE_LIST := getLocalAttributes(P_TYPE_NAME, P_TYPE_OWNER);
V_ATTRIBUTE_LIST_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE_LIST);
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_LIST_DOCUMENT);
V_ATTRIBUTE_COUNT := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_ATTRIBUTE_LIST_ROOT,'columns');
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT),TRUE));
V_ATTRIBUTE_LIST_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT)));
DBMS_XMLDOM.FREEDOCUMENT(V_ATTRIBUTE_LIST_DOCUMENT);
if (P_INCLUDE_SUBTYPES = 'YES') then
-- Process any Sub-Types...
V_SUBTYPE_DEFINITION := getSubTypes(P_TYPE_NAME, P_TYPE_OWNER);
if (V_SUBTYPE_DEFINITION is not null) then
V_SUBTYPE_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUBTYPE_DEFINITION);
V_SUBTYPE_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUBTYPE_DOCUMENT);
V_ATTRIBUTE_COUNT := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_SUBTYPE_ROOT,'columns');
V_SUBTYPE_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_SUBTYPE_ROOT),TRUE));
V_SUBTYPE_ROOT := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_SUBTYPE_ROOT)));
DBMS_XMLDOM.FREEDOCUMENT(V_SUBTYPE_DOCUMENT);
end if;
end if;
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,V_ATTRIBUTE_COUNT);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
-- Cache the type definition.
-- dbms_output.put_line('Cached Storage Model for "' || P_TYPE_OWNER || '.' || P_TYPE_NAME || '".');
insert into XDBPM.XDBPM_STORAGE_MODEL_CACHE (TYPE_NAME, TYPE_OWNER, EXTENDED_DEFINITION, STORAGE_MODEL) VALUES (P_TYPE_NAME, P_TYPE_OWNER, P_INCLUDE_SUBTYPES, V_TYPE_DEFINITION);
return V_TYPE_DEFINITION;
end;
function findStorageModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2, P_INCLUDE_SUBTYPES VARCHAR2 DEFAULT 'YES')
-- Find the Storage Model for the Base Type.
-- If the type is derived from another type we need the storage model of the Base Type
-- As storage models are calculated they are cached in the global temporary table XDBPM_STORAGE_MODEL_CACHE. This makes
-- the process much more efficient. A global temporary table is used to minimize memory usage.
return XMLType
as
V_STORAGE_MODEL XMLType;
V_STORAGE_MODEL_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_STORAGE_MODEL_ROOT DBMS_XMLDOM.DOMELEMENT;
V_ATTRIBUTE_COUNT VARCHAR2(10);
begin
dbms_output.put_line('findStorageModel(' || G_DEPTH_COUNT || ') : Processing "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '".' );
begin
SELECT STORAGE_MODEL
into V_STORAGE_MODEL
from XDBPM.XDBPM_STORAGE_MODEL_CACHE
where TYPE_NAME = P_TYPE_NAME
and TYPE_OWNER = P_TYPE_OWNER
and EXTENDED_DEFINITION = P_INCLUDE_SUBTYPES;
-- dbms_output.put_line('Resolved Storage Model from cache.');
exception
when no_data_found then
G_DEPTH_COUNT := G_DEPTH_COUNT + 1;
V_STORAGE_MODEL := getStorageModel(P_TYPE_NAME,P_TYPE_OWNER, P_INCLUDE_SUBTYPES);
G_DEPTH_COUNT := G_DEPTH_COUNT - 1;
when others then
raise;
end;
V_STORAGE_MODEL_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_STORAGE_MODEL);
V_STORAGE_MODEL_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_STORAGE_MODEL_DOCUMENT);
V_ATTRIBUTE_COUNT := DBMS_XMLDOM.GETATTRIBUTE(V_STORAGE_MODEL_ROOT,'columns');
dbms_output.put_line('findStorageModel : Attribute Count for "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '" = ' || V_ATTRIBUTE_COUNT || '.' );
return V_STORAGE_MODEL;
end;
function analyzeStorageModel(P_COMPLEX_TYPE_NAME VARCHAR2, P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2)
-- Generate a map showing the number of columns required to persist an instance of the SQL type.
return XMLType
as
V_STORAGE_MODEL XMLTYPE;
V_COUNT NUMBER := 0;
V_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
V_ROOT DBMS_XMLDOM.DOMELEMENT;
V_ATTR DBMS_XMLDOM.DOMATTR;
V_MODEL DBMS_XMLDOM.DOMELEMENT;
V_TYPE_DEFINITION DBMS_XMLDOM.DOMELEMENT;
begin
V_STORAGE_MODEL := makeElement(P_COMPLEX_TYPE_NAME);
V_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_STORAGE_MODEL);
V_ROOT := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_DOCUMENT);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLType');
DBMS_XMLDOM.SETVALUE(V_ATTR,P_TYPE_NAME);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLTypeOwner');
DBMS_XMLDOM.SETVALUE(V_ATTR,P_TYPE_OWNER);
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
V_TYPE_DEFINITION := DBMS_XMLDOM.GETDOCUMENTELEMENT(DBMS_XMLDOM.NEWDOMDOCUMENT(findStorageModel(P_TYPE_NAME, P_TYPE_OWNER, 'YES')));
V_TYPE_DEFINITION := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION),TRUE));
V_TYPE_DEFINITION := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION)));
V_ATTR := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'columns');
DBMS_XMLDOM.SETVALUE(V_ATTR,DBMS_XMLDOM.GETATTRIBUTE(V_TYPE_DEFINITION,'columns'));
V_ATTR := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
return V_STORAGE_MODEL;
end;
function analyzeStorageModel(P_COMPLEX_TYPE_NAME VARCHAR2)
return XMLTYPE
-- Generate a map showing the number of columns required to persist an instance of the complex type.
as
pragma autonomous_transaction;
V_SQLTYPE VARCHAR2(128);
V_SQLSCHEMA VARCHAR2(32);
V_RESULT XMLType;
begin
G_DEPTH_COUNT := 0;
select ct.XMLDATA.SQLTYPE, ct.XMLDATA.SQLSCHEMA
into V_SQLTYPE, V_SQLSCHEMA
from XDB.XDB$COMPLEX_TYPE ct, XDB.XDB$SCHEMA s
where ct.XMLDATA.NAME = P_COMPLEX_TYPE_NAME
and ref(s) = ct.XMLDATA.PARENT_SCHEMA
and s.XMLDATA.SCHEMA_OWNER = USER;
delete from XDBPM.XDBPM_STORAGE_MODEL_CACHE;
-- delete from XDBPM.XDBPM_STORAGE_MODEL;
V_RESULT := analyzeStorageModel(P_COMPLEX_TYPE_NAME,V_SQLTYPE,V_SQLSCHEMA);
COMMIT;
return V_RESULT;
exception
when no_data_found then
-- dbms_output.put_line('Unable to find SQLType mapping for complexType : "' || USER || '"."' || P_COMPLEX_TYPE_NAME || '".' );
return null;
when others then
raise;
end;
function analyzeSQLType(ATTR_NAME VARCHAR2, TARGET_TYPE_NAME VARCHAR2, TARGET_TYPE_OWNER VARCHAR2)
return XMLType
as
ROOT_NODE_NAME VARCHAR2(128);
ATTR_DETAIL XMLTYPE;
XPATH_EXPRESSION VARCHAR2(129);
CURSOR FIND_CHILD_ATTRS is
select ATTR_NAME, ATTR_TYPE_OWNER, ATTR_TYPE_NAME, INHERITED
from ALL_TYPE_ATTRS
where OWNER = TARGET_TYPE_OWNER
and TYPE_NAME = TARGET_TYPE_NAME
order by ATTR_NO;
CHILD_ATTR XMLTYPE;
ATTR_COUNT NUMBER := 0;
TEMP number;
COLLECTION_TYPE_NAME varchar2(256);
COLLECTION_TYPE_OWNER varchar2(256);
begin
-- -- dbms_output.put_line('Processing Attribute ' || ATTR_NAME || ' of ' || TARGET_TYPE_OWNER || '.' || TARGET_TYPE_NAME );
ATTR_DETAIL := makeElement(ATTR_NAME);
XPATH_EXPRESSION := '/' || ATTR_DETAIL.GETROOTELEMENT();
for ATTR in FIND_CHILD_ATTRS loop
begin
select ELEM_TYPE_NAME, ELEM_TYPE_OWNER
into COLLECTION_TYPE_NAME, COLLECTION_TYPE_OWNER
from ALL_COLL_TYPES
where TYPE_NAME = ATTR.ATTR_TYPE_NAME
and OWNER = ATTR.ATTR_TYPE_OWNER;
CHILD_ATTR := analyzeSQLType(ATTR.ATTR_NAME, COLLECTION_TYPE_NAME, COLLECTION_TYPE_OWNER );
ATTR_COUNT := ATTR_COUNT + CHILD_ATTR.extract('/' || CHILD_ATTR.GETROOTELEMENT() || '/@sqlAttrs').getNumberVal();
select appendChildXML(ATTR_DETAIL,XPATH_EXPRESSION,CHILD_ATTR)
into ATTR_DETAIL
from DUAL;
exception
when no_data_found then
begin
select 1
into TEMP
from ALL_TYPES
where TYPE_NAME = ATTR.ATTR_TYPE_NAME
and OWNER = ATTR.ATTR_TYPE_OWNER;
CHILD_ATTR := analyzeSQLType(ATTR.ATTR_NAME, ATTR.ATTR_TYPE_NAME, ATTR.ATTR_TYPE_OWNER );
ATTR_COUNT := ATTR_COUNT + CHILD_ATTR.extract('/' || CHILD_ATTR.GETROOTELEMENT() || '/@sqlAttrs').getNumberVal();
select appendChildXML(ATTR_DETAIL,XPATH_EXPRESSION,CHILD_ATTR)
into ATTR_DETAIL
from DUAL;
exception
when no_data_found then
ATTR_COUNT := ATTR_COUNT + 1;
end;
end;
end loop;
select insertChildXML(ATTR_DETAIL,XPATH_EXPRESSION,'@sqlAttrs',ATTR_COUNT)
into ATTR_DETAIL
from dual;
return ATTR_DETAIL;
end;
function analyzeComplexType(COMPLEX_TYPE VARCHAR2)
return XMLType
as
RESULT xmltype;
SQLTYPE varchar2(128);
SQLTYPE_OWNER varchar2(32);
begin
select SQLTYPE, SQLTYPE_OWNER
into SQLTYPE, SQLTYPE_OWNER
from USER_XML_SCHEMAS,
xmlTable
xmlnamespaces
'http://www.w3.org/2001/XMLSchema' as "xsd",
'http://xmlns.oracle.com/xdb' as "xdb"
'/xsd:schema/xsd:complexType'
passing Schema
columns
COMPLEX_TYPE_NAME varchar2(4000) path '@name',
SQLTYPE varchar2(128) path '@xdb:SQLType',
SQLTYPE_OWNER varchar2(32) path '@xdb:SQLSchema'
where COMPLEX_TYPE_NAME = COMPLEX_TYPE;
result := analyzeSQLType(COMPLEX_TYPE,SQLTYPE,SQLTYPE_OWNER);
select insertChildXML(RESULT,'/' || COMPLEX_TYPE,'@SQLType',SQLTYPE)
into result
from dual;
return result;
end;
function showSQLTypes(schemaFolder varchar2) return XMLType
is
xmlSchema XMLTYPE;
begin
select xmlElement
"TypeList",
xmlAgg
xmlElement
"Schema",
xmlElement
"ResourceName",
extractValue(res,'/Resource/DisplayName')
xmlElement
"complexTypes",
select xmlAgg
xmlElement
"complexType",
xmlElement
"name",
extractValue(value(XML),'/xsd:complexType/@name',XDB_NAMESPACES.XDBSCHEMA_PREFIXES)
xmlElement
"SQLType",
extractValue(value(XML),'/xsd:complexType/@xdb:SQLType',XDB_NAMESPACES.XDBSCHEMA_PREFIXES)
from table
xmlsequence
extract
xdburitype(p.path).getXML(),
'/xsd:schema/xsd:complexType',
XDB_NAMESPACES.XDBSCHEMA_PREFIXES
) xml
-- order by extractValue(value(XML),'/xsd:complexType/@name',XDB_NAMESPACES.XDBSCHEMA_PREFIXES)
).extract('/*')
into xmlSchema
from path_view p
where under_path(res,schemaFolder) = 1
order by extractValue(res,'/Resource/DisplayName');
return xmlSchema;
end;
procedure renameCollectionTable (XMLTABLE varchar2, XPATH varchar2, COLLECTION_TABLE_PREFIX varchar2)
as
SYSTEM_GENERATED_NAME varchar2(256);
COLLECTION_TABLE_NAME varchar2(256);
CLUSTERED_INDEX_NAME varchar2(256);
PARENT_INDEX_NAME varchar2(256);
RENAME_STATEMENT varchar2(4000);
begin
COLLECTION_TABLE_NAME := COLLECTION_TABLE_PREFIX || '_TABLE';
CLUSTERED_INDEX_NAME := COLLECTION_TABLE_PREFIX || '_DATA';
PARENT_INDEX_NAME := COLLECTION_TABLE_PREFIX || '_LIST';
select TABLE_NAME
into SYSTEM_GENERATED_NAME
from ALL_NESTED_TABLES
where PARENT_TABLE_NAME = XMLTABLE
and PARENT_TABLE_COLUMN = XPATH
and OWNER = USER;
RENAME_STATEMENT := 'alter table ' || USER || '."' || SYSTEM_GENERATED_NAME || '" rename to "' ||COLLECTION_TABLE_NAME || '"';
-- -- dbms_output.put_line(RENAME_STATEMENT);
execute immediate RENAME_STATEMENT;
begin
select INDEX_NAME
into SYSTEM_GENERATED_NAME
from ALL_INDEXES
where TABLE_NAME = COLLECTION_TABLE_NAME
and INDEX_TYPE = 'IOT - TOP'
and OWNER = USER;
RENAME_STATEMENT := 'alter index ' || USER || '."' || SYSTEM_GENERATED_NAME || '" rename to "' || CLUSTERED_INDEX_NAME || '"';
-- -- dbms_output.put_line(RENAME_STATEMENT);
execute immediate RENAME_STATEMENT;
exception
when NO_DATA_FOUND then
null;
end;
begin
select INDEX_NAME
into SYSTEM_GENERATED_NAME
from ALL_IND_columns
where COLUMN_NAME = XPATH
and TABLE_NAME = XMLTABLE
and TABLE_OWNER = USER;
RENAME_STATEMENT := 'alter index ' || USER || '."' || SYSTEM_GENERATED_NAME || '" rename to "' || PARENT_INDEX_NAME || '"';
-- -- dbms_output.put_line(RENAME_STATEMENT);
execute immediate RENAME_STATEMENT;
exception
when NO_DATA_FOUND then
null;
end;
end;
function processNestedTable(currentLevel in out number, currentNode in out XMLType, query SYS_REFCURSOR)
return XMLType
is
thisLevel number;
thisNode xmlType;
result xmlType;
begin
thisLevel := currentLevel;
thisNode := currentNode;
fetch query into currentLevel, currentNode;
if (query%NOTFOUND) then
currentLevel := -1;
end if;
while (currentLevel >= thisLevel) loop
-- Next Node is a decendant of sibling of this Node.
if (currentLevel > thisLevel) then
-- Next Node is a decendant of this Node.
result := processNestedTable(currentLevel, currentNode, query);
select xmlElement
"Collection",
extract(thisNode,'/Collection/*'),
xmlElement
"NestedCollections",
result
into thisNode
from dual;
else
-- Next node is a sibling of this Node.
result := processNestedTable(currentLevel, currentNode, query);
select xmlconcat(thisNode,result) into thisNode from dual;
end if;
end loop;
-- Next Node is a sibling of some ancestor of this node.
return thisNode;
end;
function printNestedTables(XML_TABLE varchar2)
return XMLType
is
query SYS_REFCURSOR;
result XMLType;
rootLevel number := 0;
rootNode xmlType;
begin
open query for
select level, xmlElement
"Collection",
xmlElement
"CollectionId",
PARENT_TABLE_COLUMN
) as XML
from USER_NESTED_TABLES
connect by PRIOR TABLE_NAME = PARENT_TABLE_NAME
start with PARENT_TABLE_NAME = XML_TABLE;
fetch query into rootLevel, rootNode;
result := processNestedTable(rootLevel, rootNode, query);
select xmlElement
"NestedTableStructure",
result
into result
from dual;
return result;
end;
function generateSchemaFromTable(P_TABLE_NAME varchar2, P_OWNER varchar2 default USER)
return XMLTYPE
as
xmlSchema XMLTYPE;
begin
select xmlElement
"xsd:schema",
xmlAttributes
'http://www.w3.org/2001/XMLSchema' as "xmlns:xsd",
'http://xmlns.oracle.com/xdb' as "xmlns:xdb"
xmlElement
"xsd:element",
xmlAttributes
'ROWSET' as "name",
'rowset' as "type"
xmlElement
"xsd:complexType",
xmlAttributes
'rowset' as "name"
xmlElement
"xsd:sequence",
xmlElement
"xsd:element",
xmlAttributes
'ROW' as "name",
table_name || '_T' as "type",
'unbounded' as "maxOccurs"
xmlElement
"xsd:complexType",
xmlAttributes
table_name || '_T' as "name"
xmlElement
"xsd:sequence",
xmlAgg(ELEMENT order by INTERNAL_COLUMN_ID)
into xmlSchema
from (select TABLE_NAME, INTERNAL_COLUMN_ID,
case
when DATA_TYPE in ('VARCHAR2','CHAR') then
xmlElement
"xsd:element",
xmlattributes
column_name as "name",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLType"
xmlElement
"xsd:simpleType",
xmlElement
"xsd:restriction",
xmlAttributes
'xsd:string' as "base"
xmlElement
"xsd:maxLength",
xmlAttributes
DATA_LENGTH as "value"
when DATA_TYPE = 'NUMBER' then
xmlElement
"xsd:element",
xmlattributes
column_name as "name",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLType"
xmlElement
"xsd:simpleType",
xmlElement
"xsd:restriction",
xmlAttributes
decode(DATA_SCALE, 0, 'xsd:integer', 'xsd:double') as "base"
xmlElement
"xsd:totalDigits",
xmlAttributes
DATA_PRECISION as "value"
when DATA_TYPE = 'DATE' then
xmlElement
"xsd:element",
xmlattributes
column_name as "name",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
'xsd:date' as "type",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLType"
when DATA_TYPE like 'TIMESTAMP%WITH TIME ZONE' then
xmlElement
"xsd:element",
xmlattributes
column_name as "name",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
'xsd:dateTime' as "type",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLType"
else
xmlElement
"xsd:element",
xmlattributes
column_name as "name",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
'xsd:anySimpleType' as "type",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLType"
end ELEMENT
from all_tab_cols c
where c.TABLE_NAME = P_TABLE_NAME
and c.OWNER = P_OWNER
group by TABLE_NAME;
return xmlSchema;
end;
function appendElementList(V_ELEMENT_LIST IN OUT XDB.XDB$XMLTYPE_REF_LIST_T, V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
function expandModel(P_MODEL XDB.XDB$MODEL_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
function expandChoiceList(P_CHOICE_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
function expandSequenceList(P_SEQUENCE_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
function expandGroupList(P_GROUP_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
function appendElementList(V_ELEMENT_LIST IN OUT XDB.XDB$XMLTYPE_REF_LIST_T, V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
return XDB.XDB$XMLTYPE_REF_LIST_T
as
begin
SELECT CAST
SET
CAST(V_ELEMENT_LIST as XDBPM.XMLTYPE_REF_TABLE_T)
MULTISET UNION
CAST(V_CHILD_ELEMENT_LIST as XDBPM.XMLTYPE_REF_TABLE_T)
as XDB.XDB$XMLTYPE_REF_LIST_T
into V_ELEMENT_LIST
from DUAL;
return V_ELEMENT_LIST;
end;
function expandModel(P_MODEL XDB.XDB$MODEL_T)
return XDB.XDB$XMLTYPE_REF_LIST_T
as
V_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
begin
V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
if P_MODEL.ELEMENTS is not null then
V_ELEMENT_LIST := P_MODEL.ELEMENTS;
end if;
if (P_MODEL.CHOICE_KIDS is not NULL) then
V_CHILD_ELEMENT_LIST := expandChoiceList(P_MODEL.CHOICE_KIDS);
V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
end if;
if (P_MODEL.SEQUENCE_KIDS is not NULL) then
V_CHILD_ELEMENT_LIST := expandSequenceList(P_MODEL.SEQUENCE_KIDS);
V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
end if;
-- Process ANYS
if (P_MODEL.GROUPS is not NULL) then
V_CHILD_ELEMENT_LIST := expandGroupList(P_MODEL.GROUPS);
V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
end if;
return V_ELEMENT_LIST;
end;
function expandChoiceList(P_CHOICE_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
return XDB.XDB$XMLTYPE_REF_LIST_T
as
V_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
cursor getChoices is
select c.XMLDATA MODEL
from XDB.XDB$CHOICE_MODEL c, TABLE(P_CHOICE_LIST) cl
where ref(c) = value(cl);
begin
V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
for c in getChoices loop
V_CHILD_ELEMENT_LIST := expandModel(c.MODEL);
V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
end loop;
return V_ELEMENT_LIST;
end;
function expandSequenceList(P_SEQUENCE_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
return XDB.XDB$XMLTYPE_REF_LIST_T
as
V_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
cursor getSequences is
select s.XMLDATA MODEL
from XDB.XDB$SEQUENCE_MODEL s, TABLE(P_SEQUENCE_LIST) sl
where ref(s) = value(sl);
begin
V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
for s in getSequences loop
V_CHILD_ELEMENT_LIST := expandModel(s.MODEL);
V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
end loop;
return V_ELEMENT_LIST;
end;
function expandGroupList(P_GROUP_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
return XDB.XDB$XMLTYPE_REF_LIST_T
as
V_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T; V_MODEL XDB.XDB$MODEL_T;
cursor getGroups is
SELECT CASE
-- Return The MODEL Definition for the CHOICE, ALL or SEQUENCE
WHEN gd.XMLDATA.ALL_KID is not NULL
THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
WHEN gd.XMLDATA.SEQUENCE_KID is not NULL
THEN ( SELECT s.XMLDATA from XDB.XDB$SEQUENCE_MODEL s where ref(s) = gd.XMLDATA.SEQUENCE_KID)
WHEN gd.XMLDATA.CHOICE_KID is not NULL
THEN ( SELECT c.XMLDATA from XDB.XDB$CHOICE_MODEL c where ref(c) = gd.XMLDATA.CHOICE_KID)
END MODEL
FROM XDB.XDB$GROUP_DEF gd, XDB.XDB$GROUP_REF gr, TABLE(P_GROUP_LIST) gl
WHERE ref(gd) = gr.XMLDATA.GROUPREF_REF
and ref(gr) = value(gl);
begin
V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
for g in getGroups loop
V_CHILD_ELEMENT_LIST := expandModel(g.MODEL);
V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
end loop;
return V_ELEMENT_LIST;
end;
function getComplexTypeElementList(P_COMPLEX_TYPE_REF REF XMLTYPE)
return XDB.XDB$XMLTYPE_REF_LIST_T
as
V_MODEL XDB.XDB$MODEL_T;
V_BASE_TYPE REF XMLTYPE;
V_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T := XDB.XDB$XMLTYPE_REF_LIST_T();
begin
SELECT ct.XMLDATA.BASE_TYPE,
CASE
-- Return The MODEL Definition for the CHOICE, ALL or SEQUENCE
WHEN ct.XMLDATA.ALL_KID is not NULL
THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = ct.XMLDATA.ALL_KID)
WHEN ct.XMLDATA.SEQUENCE_KID is not NULL
THEN ( SELECT s.XMLDATA from XDB.XDB$SEQUENCE_MODEL s where ref(s) = ct.XMLDATA.SEQUENCE_KID)
WHEN ct.XMLDATA.CHOICE_KID is not NULL
THEN ( SELECT c.XMLDATA from XDB.XDB$CHOICE_MODEL c where ref(c) = ct.XMLDATA.CHOICE_KID)
WHEN ct.XMLDATA.GROUP_KID is not NULL
-- COMPLEXTYPE is based on a GROUP.
THEN (
-- RETURN The CHOICE, ALL or SEQUENCE for GROUP
SELECT CASE
WHEN gd.XMLDATA.ALL_KID is not NULL
THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
WHEN gd.XMLDATA.SEQUENCE_KID is not NULL
THEN ( SELECT s.XMLDATA from XDB.XDB$SEQUENCE_MODEL s where ref(s) = gd.XMLDATA.SEQUENCE_KID)
WHEN gd.XMLDATA.CHOICE_KID is not NULL
THEN ( SELECT c.XMLDATA from XDB.XDB$CHOICE_MODEL c where ref(c) = gd.XMLDATA.CHOICE_KID)
END
FROM XDB.XDB$GROUP_DEF gd, xdb.xdb$GROUP_REF gr
WHERE ref(gd) = gr.XMLDATA.GROUPREF_REF
and ref(gr) = ct.XMLDATA.GROUP_KID
-- WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.ALL_KID is not NULL
-- THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.ALL_KID)
-- WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.SEQUENCE_KID is not NULL
-- THEN ( SELECT s.XMLDATA from XDB.XDB$SEQUENCE_MODEL s where ref(s) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.SEQUENCE_KID)
-- WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.CHOICE_KID is not NULL
-- THEN ( SELECT c.XMLDATA from XDB.XDB$CHOICE_MODEL c where ref(c) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.CHOICE_KID)
-- WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.GROUP_KID is not NULL
-- -- COMPLEXTYPE is based on a GROUP.
-- THEN (
-- -- RETURN The CHOICE, ALL or SEQUENCE for GROUP
-- SELECT CASE
-- WHEN gd.XMLDATA.ALL_KID is not NULL
-- THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
-- WHEN gd.XMLDATA.SEQUENCE_KID is not NULL
-- THEN ( SELECT s.XMLDATA from XDB.XDB$SEQUENCE_MODEL s where ref(s) = gd.XMLDATA.SEQUENCE_KID)
-- WHEN gd.XMLDATA.CHOICE_KID is not NULL
-- THEN ( SELECT c.XMLDATA from XDB.XDB$CHOICE_MODEL c where ref(c) = gd.XMLDATA.CHOICE_KID)
-- END
-- FROM XDB.XDB$GROUP_DEF gd, xdb.xdb$GROUP_REF gr
-- WHERE ref(gd) = gr.XMLDATA.GROUPREF_REF
-- and ref(gr) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.GROUP_KID
WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.ALL_KID is not NULL
THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = ct.XMLDATA.COMPLEXCONTENT.EXTENSION.ALL_KID)
WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.SEQUENCE_KID is not NULL
THEN ( SELECT s.XMLDATA from XDB.XDB$SEQUENCE_MODEL s where ref(s) = ct.XMLDATA.COMPLEXCONTENT.EXTENSION.SEQUENCE_KID)
WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.CHOICE_KID is not NULL
THEN ( SELECT c.XMLDATA from XDB.XDB$CHOICE_MODEL c where ref(c) = ct.XMLDATA.COMPLEXCONTENT.EXTENSION.CHOICE_KID)
WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.GROUP_KID is not NULL
-- COMPLEXTYPE is based on a GROUP.
THEN (
-- RETURN The CHOICE, ALL or SEQUENCE for GROUP
SELECT CASE
WHEN gd.XMLDATA.ALL_KID is not NULL
THEN ( SELECT a.XMLDATA from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
-
Maximum number of line items in sales order
hi,
Is there a limit on the maximum number of line items that are permitted in a sales order?
Thanks,
ShailajaHi
I think the correct reply would be 999,999 because data type of item number POSNR is NUM 6, which means that it can hold upto value 999,999.
However, at the same time keep the following into consideration:
1. FI document has a restriction of 999 line items per document. So, depending on the account settings, there will be a lower limit. E.g. if each Sales order line item results in 2 line items in the accounting document, then the max. no. of SO line items is limited to 499.
2. If FI summarization is active, then the system summarizes the account postings, thus reducing the no. of FI line items. Hence, a SO can accomodate more than 999 line items. However, this means that certain line item level details will not be available to the Finance guys (which they may not like).
3. As the number of line items in a Sales order increases, the system performance suffers greatly. There are performance fixes available, but in general, it is painful to load a SO with large no. of line times through BDC's. 10 Sales orders with 100 lines each consume less system resources than 1 Sales order with 1000 lines. -
Maximum number of allowed pages in Pivot Table
Hi All,
We are in OBIEE 10g and I am facing following error in a dashboard -
Maximum number of allowed pages in Pivot Table exceeded (Configured Limit: 1000).
Error Details Error Codes: UN2FNAHV
My instanceconfig.xml has following details -
WebConfig>
<ServerInstance>
<DSN>AnalyticsWeb</DSN>
<CatalogPath>E:/OBIEE/OracleBIData/web/catalog/PlngAnalytics</CatalogPath>
<PivotView>
<MaxCells>20000</MaxCells>
<maxvisiblecolumns>20000</maxvisiblecolumns>
<maxvisiblepages>10000</maxvisiblepages>
<maxvisiblerows>50000</maxvisiblerows>
<maxvisiblesections>10000</maxvisiblesections>
</PivotView>
<CubeMaxRecords> 10000000 </CubeMaxRecords>
<CubeMaxPopulatedCells> 10000000 </CubeMaxPopulatedCells>
<Alerts>
<ScheduleServer>APPC-tst</ScheduleServer>
</Alerts>
Where is this limit set? Appreciate help on this please.Try limiting the result set or upgrade the [MaxVisiblePages]
Check John's blog:-
http://obiee101.blogspot.com/2008/02/obiee-controling-pivot-view-behavior.html
Restart the services once it is done.
Mark if helps,
Thanks, -
Maximum number of "Single values" accepted in "Multiple Selection"
Hello gurus. I wonder if you could help me with this.
You know how in transactions like the Data Browser (SE16), you want to look up records in a table, for example MARA.
If you want to list only individual values, then you can press the yellow arrow to the right of the fields, and this opens the "Multiple Selection" window. In it you can add single values, ranges, etc.
My question is, what is the maximum number of single values that you can put in here?
For example, sometimes if I put like 5000 lines, instead of getting a result I get an ABAP runtime error that reads:
Runtime errors DBIF_RSQL_INVALID_RSQL
Exception CX_SY_OPEN_SQL_DB
"Error in the module RSQL accesing the database interface".
But if I put around 1500 or less, then I don't have that problem. It lists the results just fine.
How do I know what the maximum number of lines these functions allow?Hi
Yes even I had the same experience and based on my several tests I dont put more than 2000 valeues.
Please advice if you have any question.
Thanks -
Maximum number of photos in iPhoto 5
When I had my older G4 and older version of iPhoto (3.0 I think), scrolling and other functions would be extremely slow if my library go too big. So I split my iPhoto library into several smaller ones using iPhoto Library Manager. Now that I have a fast new iMac G5 and the latest version of iPhoto, I would like to merge libraries into one for convenience. With this hardware and OS 10.4.3, is there a suggested maximum number of photos not to exceed in the main iPhoto library for reasons of performance? I am not really a power user, but don't want scrolling and dragging to take forever like they did on the G4...
Hi rsm,
How many images are you talking about here?
How many images in each Library do you have?
What is the make of your camera?
Steve Jobs told us 20,000, but we have really got mixed results on that number.
Depending on your camera, it can make huge Makernote files that will considerably slow down iPhoto to the point of uselessness.
You can do a search within iPhoto 5 here in the forum for "Makernote" so you will understand the problem.
Lori -
Maximum number of service in a database?
Somebody can tell me if there is a maximum number of service I can use in a database? Those services are create with dbms_service or "srvctl add service" or dbca. Those services are set in the database parameter SERVICE_NAME automatically by the Clusterware or manually if it is not a cluster database.
Thank,
GGI would tend to be suspicious just because 50 services is quite a lot. If you really have 50 distinct applications and you want to manage 50 different services, 50 different TNS aliases, etc. you certainly can. But most organizations aren't going to see a lot of benefit from having that many services and may end up spending a lot of time micro-managing things the system unnecessarily.
You would generally have separate services if you wanted to have different services on different nodes of the cluster (i.e. create a reporting service on a subset of the nodes of the cluster for reporting work so that doesn't get comingled with the OLTP workload on the other nodes). It would be rather hard to manage 50 services on the same cluster effectively-- you'd either have all 50 services spread across all the nodes, in which case there would be little benefit to having all those services, or you'd have something like 5 services on each of 10 nodes which would tend to result in poor load balancing (assuming the load profile of each application is rather variable) or lead to constant administrative "futzing" to improve load balancing.
Justin -
Maximum number of RAC services in a Node
DB, Grid Version: 11.2.0.3/RHEL 5.4
My question is on the preferred node for a RAC service.
What is the maximum number of RAC services that can created in a node ?Hi,
You can add maximum 145 service different default services.
It is not documented information.
Thanks
Mahir M. Quluzade
p.s. It is myself test result. -
Maximum number of monitors used for remote desktop not working correctly
My goal is to connect from my home to my work machine but limit the number of monitors used to 2.
At work, I have a machine running Windows 7 Enterprise SP1 with dual monitors. My home machine is Windows 8.1 Pro and it has 3 monitors (on two video cards).
I followed the instructions of the MSDN blog post about using multiple monitors for remote desktop but cannot get it to work right.
Here's what I see when I modify the group policy setting "Limit maximum number of monitors" on the target (work) machine:
Setting - Result:
1 - 1
2 - 1 (???)
3 - 3
It looks like I can't limit the number of monitors used to 2, I get either one or all. Am I missing something or is this by design?
MaxHi Max,
Support for multiple monitors is available when connecting from any Windows 7/8.1 computer, however, there are restrictions when connecting to a computer using multi-monitor mode. When connecting to Windows 7 computers, only computers that are running Windows
7 Enterprise or Ultimate can be connected to in multi-monitor mode. When connecting to Windows 8.1, only computers that are running Windows 8.1 Professional or Enterprise can be connected to in multi-monitor mode.
Karen Hu
TechNet Community Support -
What's the maximum number of digits in a number field, and can this be increased ??
A staged data table imported in to EDQ (V8) from another system (not a spreadhseet or text file) has numbers that include up to 17 difgits.
Processes like convert number to string (and filtering on results with =) seem to say that only the first 15 digits are used.
Anyone seen this or better still know how to make the maximum number of digits bigger ??In case anyone wants to respond, here's some more details.
Source system is a Sybase 10 database and the source fields have decimal18 descriptors.
Staged data is a straight pull from the relevant sybase tables, no selections or filters or sqls.
Viewing the staged data appears clean - no errors on the staged data pull.
Using the filter to find 10688011000001101 shows 1 result - but the record it shows is 10688011000001100 - clearly NOT the same.
Same thing happens in a look-up processor where it finds an entry but the entry is the wrong one (close as above but still wrong).
The same does not happen when less digits are present - looks like 14 digits works all the time.
Maybe you are looking for
-
External HD not showing up on Desktop
I've been using a WD 500gb Firewire HD for my Time Machine backup for some time now without problem. Just noticed that the WD disc is not showing up on my G5 iMac Desktop and the last backup was on March 8. I've tried unplugging the WD drive, disconn
-
Hi all, we are trying to deploy some test project from NWDS (7.3 SP12 PAT0000) to some newly installed Netweaver (7.40 SP7). But when clicking on the server in Repository View it asks for the password and fails. In the deploy.log the following except
-
What is happening to my ipad when I cant even slide to unlock?
what is happening to my ipad when I cant even slide to unlock?
-
Does the phone continue to use up data even when powered off? How do I close out of aps like Facebook and Words with Friends?
-
Does anyone know how to give a Prezi wirelessly from the new iPad air?
Is there some hardware solutions that would interface with a host computer running Windows. It would be useful if it ran PowerPoint also. Thanks!