Query builder performance

Hi
I'm running into very big performance problems with QueryBuilder.
I'm using asset viewer to browse my CQ DAM images. We have loaded more than 100.000 images... all of them are tagged.
Launching an http request like the following one:
http://localhost:port/bin/querybuilder.json
?_charset_=utf-8
&_dc=1332289410422
&fulltext=
&1_group.property.3_value=tag1
&1_group.property.29_value=tag2
&1_group.property.30_value=tag3
&1_group.property.31_value=tag4
&1_group.property.32_value=tag5
&1_group.property.33_value=tag6
&1_group.property.34_value=tag7
&0_group.property=jcr%3Acontent%2Fmetadata%2Fcq%3Atags
&0_group.p.or=true
&1_group.property=jcr%3Acontent%2Fmetadata%2Fcq%3Atags
&1_group.p.or=true
&p.limit=24
&2_group.0_path=%2Fcontent%2Fdam%2Fmyfolder%2Fimage%2Fprodotto
&3_group.0_type=dam%3AAsset
&mainasset=true
&p.hitwriter=full
&p.nodedepth=4
&orderby=path
&p.offset=0
it is going to take a *lot* of time (22 minutes!). This query has 36.000 results... but they are paginated... It's not possible to wait 22 minutes to get the first page of results... so I think I'm making some mistakes in the query, but cannot find anything to make it better following the documentation.
How can I improve performances?
Thanks
Ignazio

Hi Alex.
Yes, the order by may be consuming and I already removed it in the past. I have removed it again, but it is not the dominant.
It's difficult for me to explain to a client that with asset viewer (using querybuilder) he has to wait for a very long time to get the first 24 results of a set of 20.000 matches in a 120.000 image repository.
I can understand I need to wait a lot of time to get all the 20.000 matches, but I'm asking only for the first 24 (the first page) setting p.limit = 24.
Here the debug for the query I'm referring to:
21.03.2012 13:18:41.613 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl executing query (URL):
0_group.p.or=true&0_group.property=jcr%3acontent%2fmetadata%2fcq%3atags&0_group.property.0 _value=immaginegenerale&1_group.p.or=true&1_group.property=jcr%3acontent%2fmetadata%2fcq%3 atags&2_group.0_path=%2fcontent%2fdam%2fimage%2fprodotto&3_group.0_type=dam%3aAsset&fullte xt=&fulltext.relPath=jcr%3acontent%2fmetadata%2f%40dc%3amarketingdescription&mainasset=tru e&p.hitwriter=full&p.limit=24&p.nodedepth=4&p.offset=0
21.03.2012 13:18:41.613 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl executing query (predicate tree):
ROOT=group: limit=24, hitwriter=full, nodedepth=4, offset=0[
    {fulltext=fulltext: relPath=jcr:content/metadata/@dc:marketingdescription, fulltext=}
    {mainasset=mainasset: mainasset=true}
    {0_group=group: or=true[
        {property=property: property=jcr:content/metadata/cq:tags, 0_value:immaginegenerale}
    {1_group=group: or=true[
        {property=property: property=jcr:content/metadata/cq:tags}
    {2_group=group: [
        {0_path=path: path=/content/dam/image/prodotto}
    {3_group=group: [
        {0_type=type: type=dam:Asset}
21.03.2012 13:18:41.615 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl xpath query: /jcr:root/content/dam/image/prodotto//element(*, dam:Asset)[((jcr:content/metadata/@cq:tags = 'immaginegenerale'))]
21.03.2012 13:18:44.078 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl xpath query took 2465 ms
21.03.2012 13:18:44.078 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl filtering predicates: {mainasset=mainasset: mainasset=true}, , , ,
21.03.2012 13:22:16.394 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl >> xpath query returned 20117 results (counted)
21.03.2012 13:22:16.395 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl filtering took 212317 ms
21.03.2012 13:22:16.395 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl >> after filtering there are 20117 results
21.03.2012 13:22:16.397 *INFO* [172.31.2.2 [1332332321612] GET /bin/querybuilder.json HTTP/1.1] com.day.cq.search.impl.builder.QueryImpl entire query execution took 214784 ms
As you can see all the time is spent on the filtering predicates.
Is there a way to cut down significantly this time? or is it possible to distribute this effort only during pagination?
in a db-like approach I would have done a sql  SELECT COUNT followed by a SELECT LIMIT 0,24... for sure taking a portion of this time.
Thanks
Ignazio

Similar Messages

  • SqlDev 3.0 - Query Builder - Drag/Drop table - SLOW

    Has anyone else had their sql*dev 3.0 session essentially "freeze" when attempting to drag/drop a table into the query builder tab?
    After the table finally show up in the query builder, if I remove the table and then drop it back in again, it appears in the QB immediately. The slowness only seems to happen the first time you drag each individual table in.
    Anyone seen it?, is there a solution?
    Thanks!

    It's expected behavior, since the Query Builder needs to load all the required table meta data and the related constraints, foreign keys etc.
    The first EA version of this actually tried to load everything on startup, but then the tool became unusable during the startup phase of Query Builder.
    If you are interested in the debate you can read it in the following threads:
    Re: Poor performance on Query Builder with 3EA2
    3.0.02.37 EA1: Query Builder Performance With Large Schema?

  • Internal errors during Query Builder

    Please help me to correct a problem. Database user has a very simple cube: a measure with two dimensions. User (named "warehouse") owns it, the fact table, the dimension tables etc.; client application connects using warehouse account too.
    While QueryBuilder makes a data source, one dimension (providers) fails at the some selections; for example, selections "top 10" and "last 3" works, but selection "measure value > 10000" fails; the other dimension (services) works great with all selections tried.
    "Fails" means that selection step can be selected (moved from "available" to "selected" box), but cannot be configured (edited) at any manner, both in the left and right boxes - for example, I cannot edit value "10000". This selection cannot be applied too. Visually query builder does nothing, but prints exception trace (see below).
    My configuration:
    BI Beans Diagnostics(v1.0.0.0) 04.03.04
    ===============================================================================
    JDEV_ORACLE_HOME ............................. = C:\JDeveloper
    JAVA_HOME .................................... = C:\JDeveloper\jdk
    JDeveloper version ........................... = 9.0.3.1.1107
    BI Beans version ............................. = 9.0.3.6.0
    BI Beans internal version .................... = 2.7.0.14
    Connect to database .......................... = Successful
    JDBC driver version .......................... = 9.2.0.3.0
    JDBC JAR file location ....................... = C:\JDeveloper\jdbc\lib
    Database version ............................. = 9.2.0.4.0
    OLAP Catalog version ......................... = 9.2.0.4.1
    OLAP AW Engine version ....................... = 9.2.0.4.1
    OLAP API Server version ...................... = 9.2.0.4.1
    BI Beans Catalog version ..................... = N/A; not installed in warehouse
    OLAP API JAR file version .................... = 9.2
    OLAP API JAR file location ................... = C:\JDeveloper\jdev\lib\ext
    Load OLAP API metadata ....................... = Successful
    Number of metadata folders ................... = 3
    Number of metadata measures .................. = 1
    Number of metadata dimensions ................ = 2
    Metadata output location ..................... = C:\JDeveloper\bibeans\bin\bi_metadata.txt
    Exception:
    Thu Mar 04 11:08:21 MSK 2004 In oracle.dss.queryBuilder.QueryBuilderQueryAccessUtils::getDimMembers
    Sorry, these lines are re-translated from localized version
    oracle.express.ExpressServerException Error class: OLAPI
    Server errors description:
    DPR: Unable to create server cursor, Universal at TxsOqDefinitionManagerSince9202::crtCurMgrWthInputTypes
    OES: ORA-01722: invalid number
    , Universal at TxsRdbSelectStatement:execute()
         oracle.express.idl.ExpressOlapiDataCursorModule.CursorManagerInterface oracle.express.olapi.data.full.DefinitionManagerSince9202.createCursorManagerInterface(oracle.olapi.data.source.CursorManagerSpecification, oracle.olapi.data.source.SourceDefinition, oracle.olapi.data.source.Source[], long)
              DefinitionManagerSince9202.java:260
         oracle.express.olapi.data.full.ExpressSpecifiedCursorManager oracle.express.olapi.data.full.DefinitionManager.createCursorManager(oracle.olapi.data.source.CursorManagerSpecification, oracle.olapi.data.source.Source[], long)
              DefinitionManager.java:132
         oracle.olapi.data.source.SpecifiedCursorManager oracle.express.olapi.data.full.ExpressDataProvider.createCursorManagerSince9202(oracle.olapi.data.source.CursorManagerSpecification, oracle.olapi.data.source.Source[], long)
              ExpressDataProvider.java:729
         oracle.olapi.data.source.SpecifiedCursorManager oracle.express.olapi.data.full.ExpressDataProvider.internalCreateCursorManager(oracle.olapi.data.source.CursorManagerSpecification, oracle.olapi.data.source.Source[], long)
              ExpressDataProvider.java:624
         oracle.olapi.data.source.SpecifiedCursorManager oracle.express.olapi.data.full.ExpressDataProvider.createCursorManager(oracle.olapi.data.source.CursorManagerSpecification, oracle.olapi.data.source.Source[])
              ExpressDataProvider.java:555
         oracle.olapi.data.source.SpecifiedCursorManager oracle.olapi.data.source.DataProvider.createCursorManager(oracle.olapi.data.source.CursorManagerSpecification)
              DataProvider.java:269
         oracle.express.olapi.data.full.ExpressSpecifiedCursorManager[] oracle.dss.dataSource.QueryUtilities.setUpCursors(oracle.dss.dataSource.SourceTemplate[], oracle.dss.dataSource.common.CubeCursor[], oracle.olapi.data.source.Source[], oracle.express.olapi.data.full.ExpressSpecifiedCursorManager[], boolean, boolean, boolean, boolean)
              QueryUtilities.java:558
         oracle.express.olapi.data.full.ExpressSpecifiedCursorManager[] oracle.dss.dataSource.QueryServer._setUpCursorsForMainQuery(oracle.dss.dataSource.SourceTemplate[], oracle.dss.dataSource.common.CubeCursor[], boolean, boolean, boolean, boolean)
              QueryServer.java:7036
         void oracle.dss.dataSource.QueryServer._getCursorForCube(oracle.dss.dataSource.common.DimTree, boolean, boolean, boolean, boolean, boolean)
              QueryServer.java:4096
         void oracle.dss.dataSource.QueryServer._createCubeAndCursor(boolean, boolean, boolean)
              QueryServer.java:4251
         void oracle.dss.dataSource.QueryServer._createCommonQuery(java.lang.String[][], java.lang.String[], oracle.dss.util.Operation, oracle.dss.dataSource.common.QueryState)
              QueryServer.java:3894
         void oracle.dss.dataSource.QueryServer._initQuery(java.lang.String[][], java.lang.String[], oracle.dss.util.Operation, oracle.dss.dataSource.common.QueryState)
              QueryServer.java:3841
         java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])
              native code
         java.lang.Object oracle.dss.util.Operation.execute(java.lang.Object)
              Operation.java:69
         java.lang.Object oracle.dss.dataSource.OperationQueue.update()
              OperationQueue.java:68
         java.lang.Object oracle.dss.dataSource.common.BaseOperationQueue.addOperation(oracle.dss.util.Operation, int)
              BaseOperationQueue.java:176
         java.lang.Object oracle.dss.dataSource.common.BaseOperationQueue.addOperation(oracle.dss.util.Operation)
              BaseOperationQueue.java:146
         java.lang.Object oracle.dss.dataSource.QueryServer.queueOperation(java.lang.String, oracle.dss.util.Parameter[], boolean, oracle.dss.dataSource.common.QueryEvent, java.lang.String, oracle.dss.util.Parameter[], oracle.dss.dataSource.common.QueryState)
              QueryServer.java:7073
         void oracle.dss.dataSource.QueryServer.initQuery(java.lang.String[][], java.lang.String[])
              QueryServer.java:3803
         java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])
              native code
         java.lang.Object oracle.dss.util.Operation.execute(java.lang.Object)
              Operation.java:69
         java.lang.Object oracle.dss.dataSource.QueryManagerServer.sendQueue(oracle.dss.dataSource.common.BaseOperationQueue)
              QueryManagerServer.java:1548
         java.lang.Object oracle.dss.dataSource.common.OperationQueue.update()
              OperationQueue.java:198
         java.lang.Object oracle.dss.dataSource.common.BaseOperationQueue.addOperation(oracle.dss.util.Operation, int)
              BaseOperationQueue.java:176
         java.lang.Object oracle.dss.dataSource.common.BaseOperationQueue.addOperation(oracle.dss.util.Operation)
              BaseOperationQueue.java:146
         void oracle.dss.dataSource.client.QueryClient.initQuery(java.lang.String[][], java.lang.String[])
              QueryClient.java:1581
         oracle.dss.util.DataAccess oracle.dss.dataSource.common.QueryQueryAccess$SelCursor.getDataAccess(boolean)
              QueryQueryAccess.java:1099
         oracle.dss.util.DataAccess oracle.dss.dataSource.common.QueryQueryAccess.getDataAccess(java.lang.String)
              QueryQueryAccess.java:278
         java.util.Vector oracle.dss.queryBuilder.QueryBuilderQueryAccessUtils.getDimMembers(oracle.dss.datautil.QueryAccessUtilities, java.lang.String, java.lang.String, java.util.Vector, java.lang.String)
              QueryBuilderQueryAccessUtils.java:220
         oracle.dss.datautil.DimensionMember oracle.dss.queryBuilder.QueryBuilderQueryAccessUtils.getDimMember(oracle.dss.datautil.QueryAccessUtilities, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
              QueryBuilderQueryAccessUtils.java:156
         java.util.Vector oracle.dss.queryBuilder.stepView.ConditionStepView.getQDRMemberNames(java.lang.String, oracle.dss.selection.OlapQDR)
              ConditionStepView.java:230
         void oracle.dss.queryBuilder.stepView.ConditionStepView.updateQDRControls()
              ConditionStepView.java:606
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateQDR()
              MeasConditionStepView.java:451
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateMeasureEditorSelection()
              MeasConditionStepView.java:208
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateMeasureEditorContents()
              MeasConditionStepView.java:271
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateMeasureEditorSelection()
              MeasConditionStepView.java:161
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateControls()
              MeasConditionStepView.java:148
         void oracle.dss.queryBuilder.stepView.StepView.updateStepEditor(oracle.dss.selection.step.Step, boolean, boolean, int)
              StepView.java:562
         javax.swing.JPanel oracle.dss.queryBuilder.stepView.StepView.getStepEditor(oracle.dss.selection.step.Step, boolean, boolean, int, int)
              StepView.java:522
         void oracle.dss.queryBuilder.StepsPanelEditor.startEdit(java.awt.Component, java.lang.String, int, java.awt.Rectangle)
              StepsPanelEditor.java:93
         boolean oracle.dss.util.dimensionList.DimensionList.doEdit(int)
              DimensionList.java:525
         void oracle.dss.queryBuilder.StepsPanel$MyDimensionListAdapter.startEditingNewSelection()
              StepsPanel.java:404
         void oracle.dss.queryBuilder.StepsPanel$MyDimensionListAdapter.dimensionSelected(oracle.dss.util.dimensionList.DimensionListEvent)
              StepsPanel.java:374
         void oracle.dss.util.dimensionList.DimensionList.notifyDimensionListListener(oracle.dss.util.dimensionList.DimensionListEvent)
              DimensionList.java:2074
         void oracle.dss.util.dimensionList.DimensionList.valueChanged(javax.swing.event.ListSelectionEvent)
              DimensionList.java:1772
         void javax.swing.JList.fireSelectionValueChanged(int, int, boolean)
              JList.java:946
         void javax.swing.JList$ListSelectionHandler.valueChanged(javax.swing.event.ListSelectionEvent)
              JList.java:960
         void javax.swing.DefaultListSelectionModel.fireValueChanged(int, int, boolean)
              DefaultListSelectionModel.java:170
         void javax.swing.DefaultListSelectionModel.fireValueChanged(boolean)
              DefaultListSelectionModel.java:140
         void javax.swing.DefaultListSelectionModel.setValueIsAdjusting(boolean)
              DefaultListSelectionModel.java:507
         void javax.swing.JList.setValueIsAdjusting(boolean)
              JList.java:1261
         void javax.swing.plaf.basic.BasicListUI$MouseInputHandler.mouseReleased(java.awt.event.MouseEvent)
              BasicListUI.java:831
         void java.awt.AWTEventMulticaster.mouseReleased(java.awt.event.MouseEvent)
              AWTEventMulticaster.java:231
         void java.awt.AWTEventMulticaster.mouseReleased(java.awt.event.MouseEvent)
              AWTEventMulticaster.java:230
         void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent)
              Component.java:3715
         void oracle.dss.util.dimensionList.DragList.processMouseEvent(java.awt.event.MouseEvent)
              DragList.java:202
         void oracle.dss.util.dimensionList.DimensionList.processMouseEvent(java.awt.event.MouseEvent)
              DimensionList.java:2167
         void java.awt.Component.processEvent(java.awt.AWTEvent)
              Component.java:3544
         void java.awt.Container.processEvent(java.awt.AWTEvent)
              Container.java:1164
         void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
              Component.java:2593
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1213
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent)
              Container.java:2451
         boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent)
              Container.java:2216
         boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent)
              Container.java:2125
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1200
         void java.awt.Window.dispatchEventImpl(java.awt.AWTEvent)
              Window.java:922
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
              EventQueue.java:339
         boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
              EventDispatchThread.java:131
         void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
              EventDispatchThread.java:98
         void java.awt.Dialog.show()
              Dialog.java:380
         void java.awt.Component.show(boolean)
              Component.java:946
         void java.awt.Component.setVisible(boolean)
              Component.java:903
         boolean oracle.bali.ewt.wizard.WizardDialog.runDialog()
         boolean oracle.dss.datautil.gui.DefaultBuilderDialog.runDialog()
              DefaultBuilderDialog.java:481
         boolean oracle.dss.datautil.gui.DefaultBuilderDialog.run()
              DefaultBuilderDialog.java:466
         boolean oracle.dss.queryBuilder.QueryBuilder.run()
              QueryBuilder.java:2401
         void borlas.oa.Actions.actionEditQuery.doAction()
              actionEditQuery.java:44
         boolean borlas.oa.Actions.Action.fire()
              Action.java:88
         void borlas.oa.Forms.FormModule.editQuery()
              FormModule.java:132
         void borlas.oa.Forms.FormModule.access$6000071(borlas.oa.Forms.FormModule)
              FormModule.java:42
         void borlas.oa.Forms.FormModule$1.actionPerformed(java.awt.event.ActionEvent)
              FormModule.java:113
         void javax.swing.AbstractButton.fireActionPerformed(java.awt.event.ActionEvent)
              AbstractButton.java:1450
         void javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(java.awt.event.ActionEvent)
              AbstractButton.java:1504
         void javax.swing.DefaultButtonModel.fireActionPerformed(java.awt.event.ActionEvent)
              DefaultButtonModel.java:378
         void javax.swing.DefaultButtonModel.setPressed(boolean)
              DefaultButtonModel.java:250
         void javax.swing.AbstractButton.doClick(int)
              AbstractButton.java:279
         void javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(java.awt.event.MouseEvent)
              BasicMenuItemUI.java:886
         void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent)
              Component.java:3715
         void java.awt.Component.processEvent(java.awt.AWTEvent)
              Component.java:3544
         void java.awt.Container.processEvent(java.awt.AWTEvent)
              Container.java:1164
         void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
              Component.java:2593
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1213
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent)
              Container.java:2451
         boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent)
              Container.java:2216
         boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent)
              Container.java:2125
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1200
         void java.awt.Window.dispatchEventImpl(java.awt.AWTEvent)
              Window.java:922
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
              EventQueue.java:339
         boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
              EventDispatchThread.java:131
         void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
              EventDispatchThread.java:98
         void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional)
              EventDispatchThread.java:93
         void java.awt.EventDispatchThread.run()
              EventDispatchThread.java:85
    Exception occurred during event dispatching:
    java.lang.NullPointerException
         java.util.Vector oracle.dss.queryBuilder.stepView.ConditionStepView.getQDRMemberNames(java.lang.String, oracle.dss.selection.OlapQDR)
              ConditionStepView.java:230
         void oracle.dss.queryBuilder.stepView.ConditionStepView.updateQDRControls()
              ConditionStepView.java:606
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateQDR()
              MeasConditionStepView.java:451
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateMeasureEditorSelection()
              MeasConditionStepView.java:208
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateMeasureEditorContents()
              MeasConditionStepView.java:271
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateMeasureEditorSelection()
              MeasConditionStepView.java:161
         void oracle.dss.queryBuilder.stepView.MeasConditionStepView.updateControls()
              MeasConditionStepView.java:148
         void oracle.dss.queryBuilder.stepView.StepView.updateStepEditor(oracle.dss.selection.step.Step, boolean, boolean, int)
              StepView.java:562
         javax.swing.JPanel oracle.dss.queryBuilder.stepView.StepView.getStepEditor(oracle.dss.selection.step.Step, boolean, boolean, int, int)
              StepView.java:522
         void oracle.dss.queryBuilder.StepsPanelEditor.startEdit(java.awt.Component, java.lang.String, int, java.awt.Rectangle)
              StepsPanelEditor.java:93
         boolean oracle.dss.util.dimensionList.DimensionList.doEdit(int)
              DimensionList.java:525
         void oracle.dss.queryBuilder.StepsPanel$MyDimensionListAdapter.startEditingNewSelection()
              StepsPanel.java:404
         void oracle.dss.queryBuilder.StepsPanel$MyDimensionListAdapter.dimensionSelected(oracle.dss.util.dimensionList.DimensionListEvent)
              StepsPanel.java:374
         void oracle.dss.util.dimensionList.DimensionList.notifyDimensionListListener(oracle.dss.util.dimensionList.DimensionListEvent)
              DimensionList.java:2074
         void oracle.dss.util.dimensionList.DimensionList.valueChanged(javax.swing.event.ListSelectionEvent)
              DimensionList.java:1772
         void javax.swing.JList.fireSelectionValueChanged(int, int, boolean)
              JList.java:946
         void javax.swing.JList$ListSelectionHandler.valueChanged(javax.swing.event.ListSelectionEvent)
              JList.java:960
         void javax.swing.DefaultListSelectionModel.fireValueChanged(int, int, boolean)
              DefaultListSelectionModel.java:170
         void javax.swing.DefaultListSelectionModel.fireValueChanged(boolean)
              DefaultListSelectionModel.java:140
         void javax.swing.DefaultListSelectionModel.setValueIsAdjusting(boolean)
              DefaultListSelectionModel.java:507
         void javax.swing.JList.setValueIsAdjusting(boolean)
              JList.java:1261
         void javax.swing.plaf.basic.BasicListUI$MouseInputHandler.mouseReleased(java.awt.event.MouseEvent)
              BasicListUI.java:831
         void java.awt.AWTEventMulticaster.mouseReleased(java.awt.event.MouseEvent)
              AWTEventMulticaster.java:231
         void java.awt.AWTEventMulticaster.mouseReleased(java.awt.event.MouseEvent)
              AWTEventMulticaster.java:230
         void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent)
              Component.java:3715
         void oracle.dss.util.dimensionList.DragList.processMouseEvent(java.awt.event.MouseEvent)
              DragList.java:202
         void oracle.dss.util.dimensionList.DimensionList.processMouseEvent(java.awt.event.MouseEvent)
              DimensionList.java:2167
         void java.awt.Component.processEvent(java.awt.AWTEvent)
              Component.java:3544
         void java.awt.Container.processEvent(java.awt.AWTEvent)
              Container.java:1164
         void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
              Component.java:2593
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1213
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent)
              Container.java:2451
         boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent)
              Container.java:2216
         boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent)
              Container.java:2125
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1200
         void java.awt.Window.dispatchEventImpl(java.awt.AWTEvent)
              Window.java:922
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
              EventQueue.java:339
         boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
              EventDispatchThread.java:131
         void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
              EventDispatchThread.java:98
         void java.awt.Dialog.show()
              Dialog.java:380
         void java.awt.Component.show(boolean)
              Component.java:946
         void java.awt.Component.setVisible(boolean)
              Component.java:903
         boolean oracle.bali.ewt.wizard.WizardDialog.runDialog()
         boolean oracle.dss.datautil.gui.DefaultBuilderDialog.runDialog()
              DefaultBuilderDialog.java:481
         boolean oracle.dss.datautil.gui.DefaultBuilderDialog.run()
              DefaultBuilderDialog.java:466
         boolean oracle.dss.queryBuilder.QueryBuilder.run()
              QueryBuilder.java:2401
         void borlas.oa.Actions.actionEditQuery.doAction()
              actionEditQuery.java:44
         boolean borlas.oa.Actions.Action.fire()
              Action.java:88
         void borlas.oa.Forms.FormModule.editQuery()
              FormModule.java:132
         void borlas.oa.Forms.FormModule.access$6000071(borlas.oa.Forms.FormModule)
              FormModule.java:42
         void borlas.oa.Forms.FormModule$1.actionPerformed(java.awt.event.ActionEvent)
              FormModule.java:113
         void javax.swing.AbstractButton.fireActionPerformed(java.awt.event.ActionEvent)
              AbstractButton.java:1450
         void javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(java.awt.event.ActionEvent)
              AbstractButton.java:1504
         void javax.swing.DefaultButtonModel.fireActionPerformed(java.awt.event.ActionEvent)
              DefaultButtonModel.java:378
         void javax.swing.DefaultButtonModel.setPressed(boolean)
              DefaultButtonModel.java:250
         void javax.swing.AbstractButton.doClick(int)
              AbstractButton.java:279
         void javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(java.awt.event.MouseEvent)
              BasicMenuItemUI.java:886
         void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent)
              Component.java:3715
         void java.awt.Component.processEvent(java.awt.AWTEvent)
              Component.java:3544
         void java.awt.Container.processEvent(java.awt.AWTEvent)
              Container.java:1164
         void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
              Component.java:2593
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1213
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent)
              Container.java:2451
         boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent)
              Container.java:2216
         boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent)
              Container.java:2125
         void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
              Container.java:1200
         void java.awt.Window.dispatchEventImpl(java.awt.AWTEvent)
              Window.java:922
         void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
              Component.java:2497
         void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
              EventQueue.java:339
         boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
              EventDispatchThread.java:131
         void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
              EventDispatchThread.java:98
         void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional)
              EventDispatchThread.java:93
         void java.awt.EventDispatchThread.run()
              EventDispatchThread.java:85

    Also read this great article
    http://sqlblog.com/blogs/alexander_kuznetsov/archive/2009/05/13/your-try-block-may-fail-and-your-catch-block-may-be-bypassed.aspx
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Automating Query Builder Functionality?

    Hi,
    My project requires up to date information on the currently live File Repository Server.  I know this information can be found by manually entering a SQL statement into the Query Builder Tool.  However, I have been asked to create a script that performs this task automatically and repeatedly.  When the details of the FRS change, the up to date information must be logged to the Windows Event log from which the information will be lifted by our company's internal log monitoring tool.
    If anyone can give me an idea of how I might do this I would certainly appreciate the help.  I would also be thankful for any suggestions for alternative solutions to the one outlined above.  For instance is there a given pattern I can search any of the BOE log files for to gather the required info?
    I'm a total newbie, so apologies if any of the above sounds a bit naiave or just down right stupid...
    Best Regards
    David

    BOE provides SDK to access the CMS. Please look at http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/devsuite.htm for more info on the SDK. You have the option from choosing from Java/webservice or .NET SDK.

  • How to use Query Builder in Oracle10g

    Since I'm new to Oracle , thus I'm facing some problem in some portions. When I went through the Query Builder option, actually I was not able to build the query as some of the features present in it were not clear to me like the "Condition" part and if I need to perform some join in it, how would that part work on it.
    Please reply and help me out. Thanks.
    Regards,
    Praveen Rai

    Query Builder is level 8.0, it's part of desupported developer 6i. Installation media has an online manual, which answers your questions. You should consider an alternative like SQLDeveloper. Query Builder may still work with 10g, but no guarantee.
    Werner

  • Query Builder won't apply chosen date to the where clause

    Does anybody know why when I chose a date field, in the where clause, when using Query Builder, it won't actually write the chosen date to the actual query?
    If I select the "View Query" tab, no date shows up. Also if I press the "Run Report" button in the "View Result" tab, I get this error:
    "An error was encountered performing requested operation: ORA-00936: missing expression"
    This is because actual date data is missing.
    After I hit the "Apply" button, I have to manually type the date data.
    I thought this was a bug of the previous version, but I just installed version 1.5.4 and I have no different result.
    Thanks.

    I just wanted to add my name to the list of people having this issue.
    Oracle Techies, please help.

  • Query builder - OR condition

    Hi,
    I'm new to Publisher and can't seem to fiigure out the best way to do an 'OR' condition in query builder. Any tips? For example if in regular SQL I wanted:
    select * from employee
    where empnbr is not null
    or empnbr > 100
    Basically two conditions on the same column. Can this be done easily in query builder or do I have to have my users work with the raw SQL to get this done? Thanks!

    Using query builder to build the SQL statement is a one-time shot. Once you've created and saved a query, you cannot go back to QB and edit the query, regardless of the change you want to make. The statement can be edited back out in the main design window. Further, you do not have to rely upon the drop down menu items in the clause/filter conditions. You can manually enter/edit the query in the report window if so desired. Not every function is available in the lists anyway. QB is a beginner's crutch (everyone starts out new to SQL, no problem with that) to scripting SQL.
    In your situation, how do you apply more than one condition to a single column? QB does not allow that directly, but what you can do is a self-join on the table, use the employee ID as the relation, and select salary in both tables. The resulting query will be like so:
    select     EMPLOYEES.EMPLOYEE_ID as EMPLOYEE_ID,
         EMPLOYEES.SALARY as SALARY,
         EMPLOYEES_1.EMPLOYEE_ID as EMPLOYEE_ID,
         EMPLOYEES_1.SALARY as SALARY
    from     HR.EMPLOYEES EMPLOYEES_1,
         HR.EMPLOYEES EMPLOYEES
    where EMPLOYEES.EMPLOYEE_ID=EMPLOYEES_1.EMPLOYEE_ID
    and      EMPLOYEES.SALARY is not null
    and     EMPLOYEES_1.SALARY > 1000
    It will be easier (and more performant) to script the first condition, and then add the second inside the report window.

  • Hi, Cant use Query builder in Apps. Because there is no Foreign Keys define

    Hi,
    We Cant use any Query Builder (SqlDeveloper) in Oracle Apps.
    Because there is no Foreign Keys defined on the table except primary key.
    I agree that common colums are there on different table,
    But it's bit difficult to digout for numbers of tables from different modules (schema).
    Do any one have any query which can find common colums from different tables though the tables may or may not be from different Schemas too.
    Thanks in advance.
    Bachan

    >
    Due to performance oracle has not applied constraints
    on tables except Primary Key.
    I find this hard to believe. The most likely reason for this, is to speed up inserts, but thats only applicable if you have lots of inserts at the same time.
    But they have given eTRM to refer the forigen columns
    on different tables.
    Forigen column is just for name shake there is no
    constraint available except Primary key.
    And whenever we have to make query and apply join, we
    have to dig a lot.
    Even we cant use Sqldeveloper Query builder, which is
    a dam good tool for making Joins and query.
    My problem is the Time and effort which we have to
    put for diging tables.
    just want to reduce that with some intleactual
    Query.You will get quicker as you get more experienced. Of course, everytime you have a query to do a specific job you could save it in an appropriately named file and store it in your source control system.
    >
    Can u help me with names of the Tables which store
    information about tables, schema, columns, index, and
    views.select * from dictionary

  • Visual database model/query builder

    Hi:
    I am a novice MS SQL 2000 database developer and need a
    completely visual (graphical) model and query builder software.
    Do you know one that helps me make a complicated database
    which is designed on papaer ASAP and lets me transfer it to my MS
    SQL 2000 SERVER ? The price doesn't matter and the only thing that
    matters is the good performance and USER FRIENDLY and easy to use
    of the software.
    I will be very graceful if you help me solve this urgent
    problem.
    THANKS
    Bengin

    Hi:
    Thanks for the fast reply.
    I vistied the links and read some reviews about Visio. All
    looked great.
    About how easy I need, I want as easy as possible. You know I
    need some software that even helps me optimize my paper based plan.
    I have surely some errors and some problems in my drafts. Plus I
    need something that asks me (with wizards or some drag_and_drop
    tools) what I need and makes it for me. For example making some
    One_One/One_many/Many_many Relations and some DB Rules and
    something like that for tables and records. Please tell me if you
    know any software that covers the above needs.
    Thanks again
    Benign

  • How to disable autojoins in query builder

    Hello,
    When I add several tables to the graphical query builder window in SQL developer I automatically get all possible variants of joins between them. Tables in the database have many foreign keys, and even with a few tables the net of links between them become completely incomprehensible. The only way around that I found is to delete manually all unneeded links after every table addition. Still this is very tedious and inconvenient, and of course with each new table there is a larger number of links to delete. Is it possible to add a table to the query builder without creating any links automatically?
    Best regards,
    Vladimir.

    Hi Vladimir,
    There are no preferences to control Query Builder, but rather than beginning a query there via drag & drop of tables/views from the Navigator tree, why not begin instead with the worksheet by typing in something very minimal like:
    SELECT * FROM JOB_HISTORY, JOBS, EMPLOYEES, LOCATIONSNext, switch to the Query Builder tab (just the un-joined tables will appear) and add the joins as you wish. The Completion Insight feature can help speed up typing the table/view names, and also avoids a minor performance issue with Query Builder drag & drop.
    Hope this helps,
    Gary

  • Query Builder Component added to Raptor?

    Have briefly tried out Raptor and have liked what I've seen so far. I'm sure the features will continue to grow over time too.
    Our developers use Oracle Query Builder on a daily basis to develop queries as well as ad-hoc reporting. As an E-Business Suite Customer we've been running into issues with the 8192 object limitation in QB. I'm wondering if plans are in the works to add some sort of graphical Query Builder functionality to Raptor and to remove the 8192 object limitation.

    I would recommend that you look at the Paradox for Windows query by example as a way of implementing this feature in Raptor. While the interface may appear to be old (less sexy) compared to some of the newer graphical methods of performing this activity (i.e. MS Access or HTMLDB); I find that it is an efficient tool for minimizing the amount of text that I have to write for SQL. Once I've developed the bulk of my query graphically, I then use the SQL converter and customize from there. The QBE metaphor I find much easier to manage then all of the drag and drop found in some of the interfaces today.
    Another recommendation that I have is that you look at using the newer join syntax than the old (e.g. left outer join).

  • Query builder 'order by'

    Hi all,
    I'm using query builder to retrieve result. Generated query statement is:
         /jcr:root/content/dam/myFolder//element(*, dam:Asset) order by jcr:content/metadata/general/@views descending
    The attribute 'views' is of xtype numberfield, but of course numberfield is a textfield with only numbers allowed inside and stored as String.
    Ordering by this attribute returns hits ordered in descending alphabetical order.
    My question is if it's possible to execute query with ordering by number value of it's attribute, not string value.
    Thanks a lot for help

    The xpath search cannot do this. So the best option (also in terms of performance) is to make that property a LONG.
    Alternatively you can write a custom querybuilder predicate evaluator that can provide a custom comparator. In the query, you would then address that predicate in the orderby to use the comparator:
    stringasnumber=jcr:content/metadata/general/views
    orderby=stringasnumber
    It could inherit from the standard JcrPropertyPredicateEvaluator or even from RangePropertyPredicateEvaluator (to support range queries as well, using filtering). Note that such a comparator will be slow if there are many results to order (since it does not make use of any search index).

  • How to add a new field in Query Builder or Report

    Hi,
    I am writing a report using Oracle 6i query builder and report.
    example:
    QTY_1 QTY_2 QTY_3
    QTY_1 and QTY_2 are table fields and QTY_3 Is not. I need to show the value of (QTY_2-QTY_1) in QTY_3.
    I need to create a field QTY_3 which is not in the database table. How do I do that?
    Jun

    Hi,
    Try using formula to return the qty_1 - qty2.
    or
    select qty_1, qty_2, (qty_1 - qty_2) qty_3
    from table;
    regards,
    CB

  • CM14 BI Publisher - modifying an existing Data Model, the Graphic View in Query Builder does not display

    I am trying to edit the default forms/reports that come with CM14, trying to edit the data model, data set, (to get to the old Infomaker style graphic view) , the Query model does not display (error the list of tables is too long..) Oracle tell me the limit is 60,  there are not 60 tables referenced in any CM report.
    Does this Query builder view work at all on any report?
    (bigger question, we are moving from CM12, should we move to CM13 which works with infomaker?)
    Thanks,
    Paul L

    Kurt, thanks for your replies.
    A couple of notes/clarifications.
    1.     You are correct that BI works better in Firefox--I have observed issues with the BI display when using IE.  I would recommend using Firefox too.
    2.     You are correct about the way to get to the Query Builder to see a graphical view of data tables.  There are basically two issues with this that I mentioned, but will re-iterate:
    a.  If you have an EXISTING query in the data set, then click the "Query Builder" button, this will remove the existing query that's there, it will NOT display the existing query in the query builder.  Query Builder works only to create a NEW query from scratch.
    b.  Query builder is limited to selecting 60 fields max in your query.  If you are creating a large report with many tables, you may find that 60 fields is not enough.  For that you will have to work in the SQL edit screen rather than using the query builder.
    I would impress on anyone developing CM14 reports that they become familiar with the database schema and relationships to avoid problems when developing your BI reports.  You should be able to find the tables and joins documentation in the knowledgebase.

  • Query Builder in Crystal Report Server 2008?

    I am running CRS2008 V1 on Windows Server 2003 as single server install. I am using IIS as the web application server. Query Builder doesn't show up as an option anywhere I can find. How do I get to Query Builder?
    How do I install Query Builder if it is not already available?
    Is Tomcat required?
    Can I continue to use IIS but have Query Builder available as well?
    Can I go ahead and install Tomcat without crashing my BOE installation and IIS?
    How do I install Tomcat on this server?

    Well I've never installed CRS 2008 so I'm not sure. If the installer allows you should be able to go to add/remnove programs and modify the install, adding tomcat/java. If that is not allowed the installer may require IIS or tomcat only and a full reinstall (I hope not).
    I work with BOE 3.1 mostly and we can add/remove it with that installer.
    Regards,
    Tim

Maybe you are looking for

  • Shows a upload not finished can't find it ?

    Shows a upload not finished can't find it ?

  • Is it possible to install my home folder on an external drive?

    I need to hand my MacBook in for repair, but I don't want any of my documents on it when it goes in to the repair shop. I have full Time Machine back-ups of the entire laptop, but is there any way I can install my home folder on an external drive so

  • Executing Store Procedure random timeouts

    We have some simple stored procedures that run find when run under the Advantage Data Architect, but randomly times out when we call them from our ASP web site using the OLEDB driver. When we try to call them using the Advantage Java database driver

  • SA/PO item condition not followed during Goods Receipt

    Hi! Gurus, Could you please help in resolving the our issue on SA/PO item condition.  Thanks. During GR via MB01 of Scheduling Agreement/Purchase Order the FI document posting does not follow the SA/PO item condition for Gross Price, Customs - % and

  • ITunes Column Browser inoperative

    I'm running a new 27-inch iMac under OS X Mavericks and with iTunes v.11.1.3(8). The past couple or three upgrades for iTunes have had the Column Browser "grayed out" and thus inoperative. I'd like to display my extensive collection of music showing