Normal rewrite of query with views of database

Hi all

I'm trying to make my programmer life easier by creating a view of database for them to query the data, so they don't have to worry about joining tables. However, query rewriting does not work no matter how I set the MV and the view. Here is an example:

I have the Sales tables with columns: amount of the update, CustCode,.

and the Customer table with columns: CustCode, CustDesc

I create a SALES_V view with columns: update, CustCode, CustDesc, amount by joining the Sales table with the Customer table as follows:
-----
create or replace view SALES_V as
Select Update, c.CustCode, c.CustDesc, amount
s sales
Join customer c on (s.CustCode = c.CustCode);
-----

In the interest of speed, I create a materialized view SALES_TOT_MV with columns: update, with the following SQL:
-----
create a materialized view SALES_TOT_MV
activate the query rewriting
What to choose PDate, flat amount from the sale
Group update;
-----

When I run the following query, I expect to be rewritten to use SALES_TOT_MV:
-----
Select updating, flat SALES_V
Group update;
-----

However, to explain the plan to always tell me that he uses the table SALES , not the SALES_TOT_MV.

Can someone tell me this is a limitation of the Oracle optimizer or am I missing just something for this?

Thanks in advance!

-Andrew

Published by: blackhole001 on January 28, 2010 12:34

blackhole001 wrote:
Hi all

I'm trying to make my programmer life easier by creating a view of database for them to query the data, so they don't have to worry about joining tables.

That sounds like a horrible idea. I say this because you will find yourself finally with programmers who know nothing about your data model and how to interact properly with it.

In addition, what you will get is a developer who uses one of your views and see 20 columns inside, there 4 it needs. If all these 4 columns comes from a 2 simple table join, but the view has 8 tables, you lose a ton of resources using the view (and God forbid that they should join this view to another view to get 4 of the 20 columns of this other view as well).

Ideally, you should write stored procedures that satisfy exactly what is needed (if you are the resource database and these other java programmers, .net, basic etc...) and the front-end developers call these routines customized for a specific object.

Creating views is not bad, but it is not an appropriate solution that developers not learn or understand SQL or the data model.

Tags: Database

Similar Questions

  • Rewrite the query with joins, and group by

    Hello

    It's an interview question.

    Table names: bookshelf_checkout
    virtual library

    And the join condition between these two tables is title

    We need to rewrite under request without using the join condition and group by clause?

    SELECT b.title,max(bc.returned_date - bc.checkout_date) "Most Days Out"
               FROM bookshelf_checkout bc,bookshelf b
               WHERE bc.title(+)=b.title
               GROUP BY b.title;
    When I was in College, I read most of SELECT statements can be replaced by operations base SQL (DEFINE the OPERATORS). Now, I am rewriting the query with SET operators, but not able to get the exact result.

    Kindly help me on this.

    Thank you
    Suri

    Something like that?

      1  WITH books AS (
      2  SELECT 'title 1' title FROM dual UNION ALL
      3  SELECT 'title 2' FROM dual UNION ALL
      4  SELECT 'title 3' FROM dual ),
      5  bookshelf AS (
      6  SELECT 'title 1' title, DATE '2012-05-01' checkout_date, DATE '2012-05-15' returned_date FROM dual UNION ALL
      7  SELECT 'title 1' title, DATE '2012-05-16' checkout_date, DATE '2012-05-20' returned_date FROM dual UNION ALL
      8  SELECT 'title 2' title, DATE '2012-04-01' checkout_date, DATE '2012-05-15' returned_date FROM dual )
      9  SELECT bs.title, MAX(bs.returned_date - bs.checkout_date) OVER (PARTITION BY title) FROM bookshelf bs
     10  UNION
     11  (SELECT b.title, NULL FROM books b
     12  MINUS
     13* SELECT bs.title, NULL FROM bookshelf bs)
    SQL> /
    
    TITLE   MAX(BS.RETURNED_DATE-BS.CHECKOUT_DATE)OVER(PARTITIONBYTITLE)
    ------- ------------------------------------------------------------
    title 1                                                           14
    title 2                                                           44
    title 3
    

    Lukasz

  • Rewrite the query without views

    I remember seeing a function in oracle PL/SQL package, which would be to rewrite a query as it contained no views more (but the only real tables)... but I don't remember the name of the function.

    What function/package for this?

    Hello

    looking for the new feature of 12 c DBMS_UTILITY. EXPAND_SQL_TEXT?

    Concerning

    Marcus

  • How can rewrite the query statement effectively

    Hi gurus,

    BANNER

    ----------------------------------------------------------------

    Oracle Database 10g Release 10.2.0.4.0 - Production 64-bit

    PL/SQL Release 10.2.0.4.0 - Production

    CORE 10.2.0.4.0 Production

    AMT for Linux: release 10.2.0.4.0 - Production

    NLSRTL Version 10.2.0.4.0 - Production

    Table scripts


    CREATE TABLE WAREHOUSE

    (

    IDZONE VARCHAR2 (6 BYTE) NOT NULL,

    ZONE_CREATEDATE DATE NOT NULL,

    DATE OF DT_WAREHOUSE,

    DATE OF DT_POSTING

    )

    AREA ID, ZONE_CREATEDATE is PK

    CREATE TABLE ZONE_VIEW

    (

    IDZONE VARCHAR2 (6 BYTE) NOT NULL,

    ZONE_CREATEDATE DATE NOT NULL,

    ZONE_NUM NUMBER (2) NOT NULL,

    DATE OF TRANX_DATE

    )

    ID of the AREA, ZONE_CREATEDATE, ZONE_NUM is PK

    Query

    SELECT ID area, zone_createdate

    Of

    (

    SELECT ID area, zone_createdate,

    MAX (CASE WHEN zone_num = 18 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 18 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_18,.

    MAX (CASE WHEN zone_num = 110 AND not IS NOT NULL, THEN 1 TIME = 110 zone_num tranx_date AND tranx_date IS NULL THEN 0 ELSE-1 END) region_110,.

    MAX (CASE WHEN zone_num = 135 AND tranx_date no IS NOT NULL, THEN 1 TIMES zone_num = 135 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_135,.

    MAX (CASE WHEN zone_num = 140 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 140 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_140

    OF zone_view

    GROUP BY IDZone, zone_createdate

    ) zrn

    WHERE zrn.region_18 <>0

    AND (((zrn.region_110 = 1) OR (zrn.region_110 = - 1)) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_warehouse IS NULL)))

    AND (((zrn.region_135 = 1) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_posting IS NULL))) OR (zrn.region_140 = 1))

    OR ((zrn.region_18 >-1) AND (zrn.region_135 = - 1) AND (zrn.region_140 < 1))

    OR ((zrn.region_110 = 1) AND (zrn.region_135 = - 1) AND (zrn.region_140, <>, 0))

    );

    Top query runs too slowly on the real data set. Is there an effective way to rewrite the query which can perform the dough?

    Any help or suggestion would be appreciated

    Thanks in advance

    At the time where the application may not throw anything until after he has retrieved and grouped all the ranks of zone_view. His estimate of 7.5 minutes to scan millions 639 lines really fast enough - it's 85 million lines per minute.

    This seems to be where the time went. The only way that the query can be accelerated is to recover some of the conditions that must be applied before the grouping. The only obvious possibilities for this are

    (a) filter values of zone_num

    (b) move the audit only

    NOT EXISTS (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_warehouse IS NULL)

    within the group, because this condition is applied regardless of the values in calculated fields. The AREA ID, ZONE_CREATEDATE are not null, so I suggest to try:

    SELECT ID area, zone_createdate

    Of

    (

    SELECT ID area, zone_createdate,

    MAX (CASE WHEN zone_num = 18 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 18 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_18,.

    MAX (CASE WHEN zone_num = 110 AND not IS NOT NULL, THEN 1 TIME = 110 zone_num tranx_date AND tranx_date IS NULL THEN 0 ELSE-1 END) region_110,.

    MAX (CASE WHEN zone_num = 135 AND tranx_date no IS NOT NULL, THEN 1 TIMES zone_num = 135 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_135,.

    MAX (CASE WHEN zone_num = 140 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 140 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_140

    OF zone_view

    where (IDZone, zone_createdate) NOT IN (select the zone ID, w warehouse zone_createdate WHERE w.dt_warehouse IS NULL)

    and zone_num (18, 110, 135, 140)

    GROUP BY IDZone, zone_createdate

    ) zrn

    WHERE zrn.region_18 <> 0

    AND ((zrn.region_110 = 1) OR (zrn.region_110 = - 1))

    AND (((zrn.region_135 = 1) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_posting IS NULL))) OR (zrn.region_140 = 1))

    OR ((zrn.region_18 >-1) AND (zrn.region_135 = - 1) AND (zrn.region_140)<>

    OR ((zrn.region_110 = 1) AND (zrn.region_135 = - 1) AND (zrn.region_140 <> 0))

    )

    Unfortunately, if the plan of the query time estimates are correct, most of the duration of the query is spent doing a reading zone_view in a full analysis, and which will not be changed by this query.

    If there are many rows for each (IDZone, zone_createdate) zone_view pair, then it is possible that an index on (area ID, zone_num, zone_createdate) would contribute to this request, especially if most (IDZone, zone_createdate) pairs are filtered with the NOT IN (select the zone ID, zone_createdate w warehouse WHERE w.dt_warehouse IS NULL). More radical but probably effective measure would be a functional on index

    zone_view (zone_num, IDZone, zone_createdate, case when tranx_date is null then 0 otherwise 1 end)

    and using the expression in the query box:

    SELECT ID area, zone_createdate

    Of

    (

    SELECT ID area, zone_createdate,

    NVL (MAX (CASE WHEN zone_num = 18 then case when tranx_date is null, then 0 or 1 end end),-1) region_18,.

    NVL (MAX (CASE WHEN zone_num = 110 then case when tranx_date is null, then 0 or 1 end end),-1) region_110,.

    NVL (MAX (CASE WHEN zone_num = 135 then case when tranx_date is null, then 0 or 1 end end),-1) region_135,.

    NVL (MAX (CASE WHEN zone_num = 140 then case when tranx_date is null, then 0 or 1 end end),-1) region_140

    OF zone_view

    where (IDZone, zone_createdate) NOT IN (select the zone ID, w warehouse zone_createdate WHERE w.dt_warehouse IS NULL)

    and zone_num (18, 110, 135, 140)

    GROUP BY IDZone, zone_createdate

    ) zrn

    WHERE zrn.region_18 <> 0

    AND ((zrn.region_110 = 1) OR (zrn.region_110 = - 1))

    AND (((zrn.region_135 = 1) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_posting IS NULL))) OR (zrn.region_140 = 1))

    OR ((zrn.region_18 >-1) AND (zrn.region_135 = - 1) AND (zrn.region_140)<>

    OR ((zrn.region_110 = 1) AND (zrn.region_135 = - 1) AND (zrn.region_140 <> 0))

    )

    This gives a very different plan on my database, by performing an iteration on relevant areas of performance status:

    ---------------------------------------------------------

    | ID | Operation | Name |

    ---------------------------------------------------------

    |   0 | SELECT STATEMENT |              |

    |*  1 |  FILTER                          |              |

    |   2.   VIEW                           |              |

    |*  3 |    FILTER                        |              |

    |   4.     HASH GROUP BY.              |

    |   5.      ANTI NESTED LOOPS.              |

    |   6.       INLIST ITERATOR.              |

    |*  7 |        INDEX RANGE SCAN | ZV_F1 |

    |*  8 |       TABLE ACCESS BY INDEX ROWID | WAREHOUSE |

    |*  9 |        INDEX UNIQUE SCAN | WAREHOUSE_PK |

    | * 10 |   TABLE ACCESS BY INDEX ROWID | WAREHOUSE |

    | * 11 |    INDEX UNIQUE SCAN | WAREHOUSE_PK |

    ---------------------------------------------------------

    Your plan will be different because you have data volumes (I didn't create millions of lines of test data)

    It would be useful to know how many rows there are in the WAREHOUSE, how many distinct (IDZone, zone_createdate) pairs there are in zone_view and the number of rows actually returns the query, and how much is NOT IN (select the zone ID, w zone_createdate warehouse WHERE w.dt_warehouse IS NULL) because these relative numbers determine how these approaches are.

    If there is a table containing all of the (area ID, zone_createdate) pairs which could take place in zone_view, which would have may another possible approach:

    First filter possible pairs against NOT IN (select the zone ID, w warehouse zone_createdate WHERE w.dt_warehouse IS NULL)

    Then attach them to the zone_view to retrieve only the rows in the filtered (IDZone, zone_createdate) pairs.

    Good luck.

  • Is it possible to update a query with another query?

    I'm trying to update a query with another query (see the attachment of the code). Here is my setup: I have a table in an Access database in which I enter a string in a form and an update. This string is a single record in another table in the same data source. The first table has one record to provide the second, which has many and will have more. Basically what I was asking is: is this a valid thing to do in coldfusion? If this isn't the case, please help with a method to alter. I'm still new to coldfusion.

    The overall effect, I'm going to do is to display a folder as a profile of truck recommended on the website: www.truckerstoystore.net. Currently, I get an error when I try to view the page with the current configuration of the query.

    Check out this page to see the error: www.truckerstoystore.net/currentTOW2.cfm

    Assistance in this matter is greatly appreciated.
    ------------------------------------------------------------------------------------------ -----------------------------------------------------------------------

    The owner of the column has a data type of character and thus the value must be in single quotes

    WHERE owner = "#Owner #

    But as your learning, I suggest using cfqueryparam

    WHERE owner =

    Ken

  • How I replace perfectly my record excel sheet with ability of database? + General questions about computing distributed with LabVIEW

    Surprisingly, I'm almost finished with a full blown control-simulation application, that I've been working on for more than a year now, thanks in no small part of this community. The final step is to run on the simulations of k ~ 8 and be able to meet a simulation and overall statistics on performance. Each simulation is taking about 6 minutes of real time to run (~ 2 seconds of real time per hour of simulation time, valid for 7 days of simulation), as we seek to about 800 hours of your time to simulate. I have 5 computers available and a raspberry 2 Pi these simulations on, I'm looking to set up a kind of compute cluster at the end in about 2 weeks.

    The ability of current logging is sketchy; I got about 40 columns of data, and they are written in a spreadsheet with a .xls format tabs-delimited. This works very well for individual simulations, but it would be quite heavy to deal with if I had more than 20,000 of them. I think this must be done with a relational database sort, but my experience with databases is very limited, especially then, when it comes to LabVIEW. Here are my questions:

    -Can I create a kind of master-slave configuration where a computer (and probably the Pi) keeps track of the simulations are complete, which are running, and who have never run? Computers slaves ask for simulation settings, and IP would give them to him.

    -How should I take care of the database? Each simulation is about 500 k in .xls format, it's about 5 GB of data in all. Computers slaves synchronization from time to time to take care of the redundancy?

    -How can I refine my memory + General fresh disk I/O? How can I know which items from my point of view most of them?

    -Do you have suggestions for the implementation of clusters of databases relational/computer with LabVIEW?

    I have attached a picture of my configuration of logging + the overall structure of the application. It is a state machine with a structure of the event for the interruptions.


  • Problems with views. When no data I have to delete and recreate it

    Hi all.

    I have a problem with views. From time to time I can't see the data from the query, and I have to file the notice and then create it again, after that it works.

    Any idea?

    Best regards

    Hello.

    The benefits of joining is correct.

  • How many still for my application to interact with the Timesten database?

    Hi all, still how much for my application to interact with the Timesten database?
    As far as I know, we can connect directly to the database without network load that improves performance, should my application only to specify the DSN name under the name of DSN Manager data? There is no document to clarify that clearly.
    The other approach is c/s connection and there are 3 commucation protocols, such as plain TCP/IP, sockets, UNIX domain and the CPI, right?

    Yes, that's correct. (Preferably) direct mode when the application and TimesTen are on the same machine. UNIX domain socket and shared memory IPC server local (only for cases of special purpose given that the direct mode is faster and more) and normal TCP/IP client/server (local or remote).

    The specific details on how the application connects depends on which API that it uses (ODBC, OCI, Pro * C, JDBC, ODP .NET). For ODBC and JDBC, you must specify a data source name and use the driver corresponding (direct-mode driver or client driver). For the OIC that is configured through SQL * Net and TNSNAMES. ORA and for ODP .NET, I don't remember without it looking up. Please see the TimesTen for relevant API documentation for full details.

    Chris

  • A simple query with as wrong return result

    Hello

    I run a simple query with like.
    If I use the parameter I get incorrect results.
    If I use the request without parameter results are ok.

    My script:

    ALTER SESSION SET NLS_SORT = BINARY_CI;
    ALTER SESSION SET NLS_COMP = LINGUISTIC;

    -drop table abcd;
    create table abcd (col1 varchar2 (10));

    INSERT INTO VALUES ABCD ('122222');
    insert into abcd values ('111222');


    SELECT * FROM ABCD WHERE COL1 LIKE: 1. -bad result with 12%
    /*
    COL1
    ----------
    122222
    * 111222 *.
    */

    "Select * ABCD where col1 like 12%; -result ok
    /*
    COL1
    ----------
    122222
    */

    I use Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    and query, run in Oracle SQL Developer 3.1.07.

    I think it's just a bug, and it is set to 11.2.0.3:

    11.2.0.1:

    DB11.2.0.1>> select * from v$version where rownum=1;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    
    1 row selected.
    
    DB11.2.0.1>> ALTER SESSION SET NLS_SORT=BINARY_CI;
    
    Session altered.
    
    DB11.2.0.1>> ALTER SESSION SET NLS_COMP=LINGUISTIC;
    
    Session altered.
    
    DB11.2.0.1>> create table abcd (col1 varchar2(10));
    
    Table created.
    
    DB11.2.0.1>> INSERT INTO ABCD VALUES ('122222');
    
    1 row created.
    
    DB11.2.0.1>> insert into abcd values ('111222');
    
    1 row created.
    
    DB11.2.0.1>> VARIABLE A1 VARCHAR2(10);
    DB11.2.0.1>> EXEC :A1 := '12%';
    
    PL/SQL procedure successfully completed.
    
    DB11.2.0.1>> SELECT * FROM ABCD WHERE COL1 LIKE :A1;
    
    COL1
    ----------
    122222
    111222
    
    2 rows selected.
    

    11.2.0.3:

    DB11.2.0.3>> select * from v$version where rownum=1;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    
    1 row selected.
    
    DB11.2.0.3>> ALTER SESSION SET NLS_SORT=BINARY_CI;
    
    Session altered.
    
    DB11.2.0.3>> ALTER SESSION SET NLS_COMP=LINGUISTIC;
    
    Session altered.
    
    DB11.2.0.3>> create table abcd (col1 varchar2(10));
    
    Table created.
    
    DB11.2.0.3>> INSERT INTO ABCD VALUES ('122222');
    
    1 row created.
    
    DB11.2.0.3>> insert into abcd values ('111222');
    
    1 row created.
    
    DB11.2.0.3>> VARIABLE A1 VARCHAR2(10);
    DB11.2.0.3>> EXEC :A1 := '12%';
    
    PL/SQL procedure successfully completed.
    
    DB11.2.0.3>> SELECT * FROM ABCD WHERE COL1 LIKE :A1;
    
    COL1
    ----------
    122222
    
    1 row selected.
    

    Kind regards
    Sayan Malakshinov
    http://orasql.org

  • Rewrite the query, select below or try to get the necessary O/P

    Hello..

    My example of data.,.

    Create table customer (name varchar2 (10), telephone1 telephone2 number (10), number of phone3 (10), (10) number, bitwisephone number (10));

    Insert into customer values('a',23456,67890,null,12345);

    Insert into customer values ('b', 67459,89760,null, 37689);

    create table do_not_call (dont_call number (10));

    insert into do_not_call values (67890);

    insert into do_not_call values (37689);

    Question: -.
    --------------

    Customer 'a' has value of numbers1 as 23456.check if telephone1 exists in the do_not_call table.
    In fact there is no, so set the bit for numbers1 as "o" like wise search telephone2
    & phone3.after update of the bitwisephone for each client should be as the output below.


    Need to O/P: -.
    -------------------

    name bitwisephone

    a 010
    b 001


    For that matter... I use "any" operator...



    SELECT name, case when numbers1 = all (SELECT dont_call FROM do_not_call) and then put an end to '1' other '0'.
    -case when telephone2 = all (SELECT dont_call FROM do_not_call) and then put an end to '1' other '0'.
    -case when phone3 = all (SELECT dont_call FROM do_not_call) then '1' other '0' end 'Bits '.
    OF THE customer;


    Is there any other way to get the necessary O/P?


    Thank you!!

    Kind regards
    VijayRajaram.

    Looks like one already answered Re: rewrite the query, select below or try to get the necessary O/P

    with
    customer(name,phone1,phone2,phone3,bitwisephone) as
    (select 'a',23456,67890,12345,null from dual union all
     select 'b',67459,89760,37689,null from dual
    ),
    do_not_call(dont_call) as
    (select 67890 from dual union all
     select 23456 from dual union all
     select 37689 from dual
    )
    select name,
           to_char(mod(trunc(sum(weight)/4),2))||
           to_char(mod(trunc(sum(weight)/2),2))||
           to_char(mod(sum(weight),2)) bitwisephone
      from (select name,phone1 phone,4 weight
              from customer
            union all
            select name,phone2,2
              from customer
            union all
            select name,phone3,1
              from customer
           ) c,
           do_not_call d
     where c.phone = d.dont_call(+)
       and d.dont_call is not null
     group by name
    

    Please do not duplicate messages

    Concerning

    Etbin

  • Possible BUG: af:query with several LOVs throws bitIndex exception

    Hi all

    I use the af:query for the search component and I get constantly "bitIndex < 0:-1 error" when searching on a LOV (by typing the value in the part of the LOV not using inputtext does not popup LOV).

    Installation program:

    I use Jdev 11.1.2.1 with JDEVADF_11.1.2.1.0_GENERIC_110907.2314.6081.

    Using the schema HR, I created the entity departments and a Department display object based on the entity.

    I created 2 objects of basis for the LOVs SQL view (not from entities not):

    1. view LOV departments - select * from departments
    2 view of the LOV locations - select * from places

    The two views of Lov were created using the wizard with all the default values.

    In my opinion main departments (based on the entity), I created 2 LOVs for LocationId and for DepartmentId.

    The LOV for DepartmentId returns 2 attributes, DepartmentId and DepartmentName both are mapped to the corresponding attributes in the main view of Department. (I did using the popup "Edit the list of values", in the section 'List return values').

    Finally, I dragged the "all searchable attributes" from the control panel of data to a test page, creating a group of ADF query with table

    The error:

    I type a valid service id in the LOV DepartmentId within the research section and I get the "bitIndex < 0:-1 error.» No results are returned.

    When the server running with - Djbo.debugoutput = console I see the following error messages:

    CtrlAttrs < JUCtrlValueBinding > < setInputValue > [18415]: exception caching: oracle.jbo.AttrValException: Houston-27019: the get method for attribute "DepartmentName" in the PREMISESof VIEW_USAGE_internal_vci_def_values is not resolved.
    < DCBindingContainer > < cacheException > [18416] * updated BindingContainer cache EXCEPTION: oracle.jbo.AttrValException
    < DCBindingContainer > < cacheException > [18417] java.lang.IndexOutOfBoundsException: bitIndex < 0:-1
    at java.util.BitSet.get(BitSet.java:441)
    at oracle.jbo.server.ViewRowStorage.getAttributeInternal(ViewRowStorage.java:1823)
    at oracle.jbo.server.ViewRowImpl.getAttributeValue(ViewRowImpl.java:1962)
    at oracle.jbo.server.ViewRowImpl.getAttributeInternal(ViewRowImpl.java:824)
    at oracle.adf.model.bean.DCDataRow.getAttributeInternal(DCDataRow.java:366)
    at oracle.adf.model.bean.DCCriteriaValueRowImpl.getAttributeInternal(DCCriteriaValueRowImpl.java:241)
    at oracle.jbo.server.ViewRowImpl.getAttrInvokeAccessor(ViewRowImpl.java:906)
    at oracle.jbo.server.ViewRowImpl.getAttribute(ViewRowImpl.java:854)
    at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGetAttributeValueFromRow(JUCtrlValueBinding.java:1213)
    at oracle.jbo.uicli.binding.JUCtrlListBinding.setTargetAttrsFromLovRow(JUCtrlListBinding.java:2799)
    at oracle.jbo.uicli.binding.JUCtrlListBinding.setTargetAttrsFromLovRowAndUpdateMRU(JUCtrlListBinding.java:2712)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlLOVBinding.setInputValueInRow(FacesCtrlLOVBinding.java:1163)
    at oracle.jbo.uicli.binding.JUCtrlValueBinding.setInputValue(JUCtrlValueBinding.java:2926)
    at oracle.jbo.uicli.binding.JUCtrlValueBinding.setInputValue(JUCtrlValueBinding.java:2889)
    to oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$ AdfCriterionValues.set (FacesCtrlSearchBinding.java:3589)
    at javax.el.ListELResolver.setValue(ListELResolver.java:240)
    at oracle.adfinternal.view.faces.model.AdfELResolver.setValue(AdfELResolver.java:162)
    at oracle.adfinternal.view.faces.model.AdfELResolverProxy.setValue(AdfELResolverProxy.java:71)
    at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255)


    Note:
    The search works as expected if I only have a LOV attached to the main view. (if I don't have the Department LOV attached as described above everything works fine)
    If both LOVs of DepartmentLOV and LocationsLOV return a single value, the departmnetId and the locationId, without mapping any additional return attributes research as planned as well.

    This is test case the simplest I could create to reproduce the error I see in our code.

    Here is a link to my test project: [http://www.2shared.com/file/QxZJDfax/bitIndexTest.html]

    Help, please

    I'm looking for workarounds / fixes.
    Any advice would be greatly appreciated.

    Thank you
    Sasha

    Hi Sasha,

    which seems related to the bug 12851501 - ARRAYINDEXOUTOFBOUNDSEXCEPTION LIFTING OF VIEWROWSTORAGE CLASS
    expected to be fixed in JDeveloper 11.1.2.2.0

    If you have access to My Oracle Support, there are here available patch (patch 12851501).

    Kind regards

    Didier.

  • AF:query with web services data control

    Hi all

    I'm very new to using web services as a data source in the ADF. I'm looking to use a component of af: query (with saved searches and advanced mode) with a web service data control.

    The doc - http://docs.oracle.com/cd/E24382_01/web.1112/e16182/appendix_datacontrols.htm#CHDGBBIJ - it seems that there is some programmatic application necessary to achieve this goal. I guess that means that you are required to implement a custom QueryModel and related classes. My understanding is correct?

    Is there a sample (or documentation) available for this application? I searched the web but can't find anything useful.

    Note: For the purpose of learning, I just exposed service interface of the Module of an Application as a web service remote. The web service has my view exposed as an operation criteria.

    Thanks in advance,
    Bruno Guillaume

    Hello

    the query component does not work out of the box with the DataControl WS that it does not support the named criteria (which will be for a long time in the future). To create a request form, you can drag a WS method as a parameter. If the method has arguments of complext, you will find the complex argument that manufacturers in the Panel DataControl, so you can flatten by drag and drop in the form of parameter

    Frank

  • How can I create a query with the data control to the web service?

    I need to create a query with the order of web service data, WSDL, it is query operation, there is a message of parameter with possible query criteria and a return message contains the results. I googled but can't find anything on the query with the web service. I can't find a criterion "named" to the data control of web service as normal data control. Blog of Shay, I saw the topics on the update with the data of web service command. How can I create a query with the data control to the web service? Thank you.

    Hello

    This might help

    * 054.     Search form using control data WS ADF and complex of entry types *.

    http://www.Oracle.com/technetwork/developer-tools/ADF/learnmore/index-101235.html

  • How to transpose the query with the following result

    Dear all,

    Can someone tell me a method to convert my query result

    Details are provided in

    http://obiee11ge.blogspot.com/2010/07/how-to-transpose-query-with-following.html

    Concerning

    Mustafa

    Hello

    Try this
    Create a request combined with,

    criterion no. 1: model, revenue (Actual), Cogs (Actual), Opex (Actual), PL (Actual)

    in the dummy column fx enter the "Real" value

    criterion 2: model, revenue (Yago), Cogs (YAgo), Opex (Yago), PL (Yago)

    in the dummy column fx enter the value as "Yago".

    criterion 3: model, revenue (Budget), Cogs (Budget), Opex (Budget), PL (Budget)

    in the dummy column fx enter the value as 'Budget '.

    Now go to the columns of result and set names coumn (revenue, COGS, Opex, PL) for the result set.
    For the Dumny, remove column header.

    In a sheet view, you will get the result.

    Thank you
    Vino

  • Get the URL rewrite for IIS with ISAPI rewrite

    LKO
    Does anyone have experience of this problem? In mod_rewrite for the requested URL before it is rewritten, you can use cgi.redirect_url which is populated be Apache.

    for example if we have http://www.mysite.com/news/1234/my+title/ which is redirected to http://www.mysite.com/news/index.cfm?fuseaction=details & nNewsID = 1234 , then cgi.redirect_url will be news/1234/my + title / that you normally can't variables standard cgi.
    I'm trying to migrate all my sites from Apache to IIS 6 and I use Helicon ISAPI Rewrite 3 to accommodate my rewrite I did with mod_rewrite, but I need to be able to get this information in ColdFusion.

    Does anyone know how to get this information?

    Thank you.

    It's OK, I got it solved. You can use cgi. HTTP_X_REWRITE_URL.

Maybe you are looking for

  • Satellite A500 - Flash cards do not work after the upgrade to Windows 7

    Hello I have a Satellite A500 PSAM3A 04200E. I recently did an upgrade from Vista to Windows 7. I used my system restore disks to reinstall Vista and then upgrade to Windows 7 using the upgrade wizard. I find that I can no longer use the Fn key to tu

  • Need of repair for Satellite Pro M10

    Any body can help me find a manual to repair Satellite Pro M10 Thank you Irwan

  • Kit Kat Google Dialer?

    I just read an article that said that phones nexus would have Google update dialer as part of the Kit Kat. Anyone know if there is any truth to that? I was really looking forward to this feature.

  • How to scan a photo

    Just got a HP Deskjet 2510 printer.  I want to scan a few B & W photos to put on eBay.  I hooked the printer on my laptop HP Pavilion/TouchSmart, with windows 8.1 System. When I opened the devices & click on printer, my new printer is displayed and I

  • . PMD flie - how to open

    I have windows 7.  Someone sent me a file .pmd, and I can't open it.  Any suggestions?