Problem with outer jon

Hi,
some performance issue with the query. in the below query is forming px_from and px_to and finally joins together. If i execute the query seperatly
both px_from and px_to comes very fast (within 20 secs). But when finally joining
between px_from and px_to is taking more than 10 mnts
the total records from px_from and px_to returns around 20,000. Can someone help
me to find out which is best way we can perform these joins?
  SELECT /*+ NO_MERGE(PX_FROM PX_TO) USE_NL(PX_FROM PX_TO)*/
    PX_FROM.PRICING_SECURITY_ID,
       PX_to.PRICING_SECURITY_ID
       FROM(
   SELECT /*+ FULL(XREF) */
      NVL(xref.SECURITY_ALIAS, 1)SECURITY_ALIAS,
      GP.PRICING_SECURITY_ID,
      GP.SECURITY_TRANSLATION_CODE GPS_STC,
      GP.SOURCE_SECURITY_KEY_VALUE GPS_STV,
      GP.PX_DATE Px1Dt,
      GP.PX_TYPE,
      DECODE(GP.PX_SOURCE, 'GISOPS', GP.PX_OVR_SOURCE, GP.PX_SOURCE) PX1_SOURCE
      GP.PX_ISO_CCY,
      GP.GPS_LEVEL FAS_LEVEL1,
      GP.PRICE,
      GP.CREATE_TIMESTAMP Px1CTS,
      GP.CREATE_USERID Px1CUID
   FROM (
      SELECT Y.PRICING_sECURITY_ID,
         Y.SECURITY_TRANSLATION_CODE,
         Y.SOURCE_SECURITY_KEY_VALUE,
         Y.PX_DATE,
         Y.PX_TYPE,
         Y.PX_SOURCE,
         Y.PX_OVR_SOURCE,
         Y.PX_ISO_CCY,
         Y.GPS_LEVEL,
         Y.PRICE,
         Y.CREATE_TIMESTAMP,
         Y.CREATE_USERID
      FROM (
         SELECT MAX(GP.PX_DATE) PX_DATE,
            GP.PRICING_SECURITY_ID,
            GP.PX_ISO_CCY
         FROM GPS.GIS_PRICING GP, GPS.WK_GPS_FE_REPORTS_NEW GTT
         WHERE GP.CREATE_TIMESTAMP BETWEEN TO_DATE('09/28/2007 12:00:00 AM',
         'MM/DD/YYYY HH:MI:SS AM')
         AND TO_DATE('09/29/2007 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
         AND GP.PX_TYPE = 'PS1'
         AND GP.PX_ACTIVE = 'A'
         AND GP.PX_DATE = GTT.PX_DATE
         AND GP.PRICING_SECURITY_ID = GTT.PRICING_SECURITY_ID
         GROUP BY GP.PRICING_SECURITY_ID, GP.PX_ISO_CCY )X, (
         SELECT GP.*
         FROM GPS.GIS_PRICING GP
         WHERE GP.CREATE_TIMESTAMP BETWEEN TO_DATE('09/28/2007 12:00:00 AM',
         'MM/DD/YYYY HH:MI:SS AM')
         AND TO_DATE('09/29/2007 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
         AND GP.PX_TYPE = 'PS1'
         AND GP.PX_ACTIVE = 'A') Y
      WHERE X.PRICING_SECURITY_ID = Y.PRICING_SECURITY_ID
      AND X.PX_ISO_CCY = Y.PX_ISO_CCY
      AND X.PX_DATE = Y.PX_DATE ) GP, GPS.pricing_security ps, gps.pricing_security_translation
      pst, securitydbo.xreference xref
   WHERE GP.pricing_security_id = ps.pricing_security_id(+)
   AND ps.pricing_security_id = pst.pricing_security_id(+)
   AND gp.px_iso_ccy = ps.iso_ccy(+)
   AND pst.source_type (+) = 'NYCPAM'
   AND pst.security_translation_code(+) = 'NYCPAM'
   AND TRIM(pst.translation_value) = TRIM(xref.xref_security_id(+))
   AND xref.xref_type(+) = 'INYCPAM' )PX_FROM, (
   SELECT Y.PRICING_SECURITY_ID,
      Y.PX_DATE Px2Dt,
      Y.PX_TYPE,
      DECODE(Y.PX_SOURCE, 'GISOPS', Y.PX_OVR_SOURCE, Y.PX_SOURCE) PX2_SOURCE,
      Y.PX_ISO_CCY,
      Y.GPS_LEVEL FAS_LEVEL2,
      Y.PRICE,
      Y.CREATE_TIMESTAMP Px2CTS,
      Y.CREATE_USERID Px2CUID,
      Y.PX_ACTIVE
   FROM (
      SELECT MAX(GP.PX_DATE) PX_DATE,
         GP.PRICING_SECURITY_ID,
         GP.PX_ISO_CCY,
         GP.PX_TYPE,
         GP.PX_ACTIVE
      FROM GPS.GIS_PRICING GP, GPS.WK_GPS_FE_REPORTS_NEW GTT
      WHERE   GTT.PRICING_SECURITY_ID = GP.PRICING_SECURITY_ID 
      AND GP.PX_TYPE = 'PS1'
      AND GP.PX_ACTIVE = 'A'
      --               AND EXISTS (SELECT 'Y' FROM GPS.WK_GPS_FE_REPORTS_NEW GTT
      --                           WHERE GTT.PRICING_SECURITY_ID = GP.PRICING_SECURITY_ID
      --                           AND GTT.PX_DATE != GP.PX_DATE)
      AND GP.PX_DATE < GTT.PX_DATE
      GROUP BY GP.PRICING_SECURITY_ID, GP.PX_ISO_CCY, GP.PX_TYPE, GP.PX_ACTIVE
      )X, (
      SELECT GP.*
      FROM GPS.GIS_PRICING GP
       WHERE GP.PX_TYPE = 'PS1'
       AND GP.PX_ACTIVE = 'A'
      ) Y
   WHERE  X.PRICING_SECURITY_ID = Y.PRICING_SECURITY_ID
    AND  X.PX_DATE = Y.PX_DATE
    AND X.PX_ISO_CCY = Y.PX_ISO_CCY )PX_TO
         WHERE PX_FROM.PRICING_SECURITY_ID = PX_TO.PRICING_SECURITY_ID (+)
           AND PX_FROM.PX_ISO_CCY = PX_TO.PX_ISO_CCY (+)

Lots of them. But to start:
1. Post the Oracle version
2. Strip the hints
3. Post the Explain plan

Similar Messages

  • HT5137 I made a purchase with my debit card on The Simpson Tapped out game, And now my game won't open. It just kicks me out every time I click on it. How do I fix this problem with out deleting my app?

    I made a purchase with my debit card on The Simpson Tapped out game, And now my game won't open. It just kicks me out every time I click on it. How do I fix this problem with out deleting my app?

    Personally, I would never use a debit card online, for security reasons.  If your card gets hacked its your money that is stolen.  At least with a credit card it is the card providers money that is stolen.
    Anyway,  I would delete the app and re-install.  If you paid for the app in the first place you will be able to re-install free of charge.  Also, the app should allow the in-app purchase to happen again as it should recognise that you have already purchased it previously.
    Finally, it might be that the 3G doesnt have as much ram as more recent models of iphone and you may have applications running in the background that are preventing the app to function with the in-app purchase unless you shut down any apps eating all you memory that are running in the background.  Shut-down these apps (and the simpson tap out app) by exiting to your home screen and double-tapping the home button to show what apps are running in the background.  press and hold any of the open apps until it starts shaking.  close all the apps down.  exit then re-launch the app.
    good luck.

  • Problem with out going mail. I can send from my iPad but not my MacBook Air yet settings are the same.

    Problem with out going mail. I can send from my iPad but not my MacBook Air, yet settings are the same. Can anyone advise?

    Hi sointoit,
    If you are having issues sending mail from your MacBook Air, you may find the following article helpful:
    OS X Mail: Troubleshooting sending and receiving email messages
    http://support.apple.com/kb/TS3276
    Cheers,
    - Brenden

  • Problem with out of memory and reservation of memory

    Hi,
    we are running a very simple java program on HP-UX that do some text substitution - replacing special characters with other characters.
    The files that are converted are sometimes very large, and now we have come to a point where the java server doing the work crashes with "Out of memory" message. (no stack) when it process one single 500MB large file.
    I have encountered this error before(with smaller files) and then I have made the maximum Heap larger, but now when I try to set it to 4000M
    i get the message:
    "Error occurred during initialization of VM
    Could not reserve enough space for old generation heap"
    When it crash with this message, my settings are:
    -XX:NewSize=500m -XX:MaxNewSize=1000m -XX:SurvivorRatio=
    8 -Xms1000m -Xmx4000m
    If I run with Xmx3000m instead the java program starts but I get Out of memory error like:
    java.lang.OutOfMemoryError
    <<no stack trace available>>
    The GC log file created when it crashes looks like:
    <GC: -1 31.547669 1 218103808 32 219735744 0 419430400 0 945040 52428800 0 109051904 524288000 877008 877008 1048576 0.934021
    >
    <GC: -1 62.579563 2 436207616 32 218103808 0 419430400 945040 944592 52428800 109051904 327155712 524288000 877008 877008 1048
    576 2.517598 >
    <GC: 1 65.097909 1 436207616 32 0 0 419430400 944592 0 52428800 327155712 219048400 524288000 877008 877008 1048576 2.061976 >
    <GC: 1 67.160178 2 436207616 32 0 0 419430400 0 0 52428800 219048400 219048400 524288000 877008 877008 1048576 0.041408 >
    <GC: -1 128.133097 3 872415232 32 0 0 419430400 0 0 52428800 655256016 655256016 960495616 877008 877008 1048576 0.029950 >
    <GC: 1 128.163584 3 872415232 32 0 0 419430400 0 0 52428800 655256016 437152208 960495616 877008 877008 1048576 3.971305 >
    <GC: 1 132.135106 4 872415232 32 0 0 419430400 0 0 52428800 437152208 437152208 960495616 877008 876656 1048576 0.064635 >
    <GC: -1 256.378152 4 1744830464 32 0 0 419430400 0 0 52428800 1309567440 1309567440 1832910848 876656 876656 1048576 0.058970
    >
    <GC: 1 256.437652 5 1744830464 32 0 0 733282304 0 0 91619328 1309567440 873359824 1832910848 876656 876656 1048576 8.255321 >
    <GC: 1 264.693275 6 1744830464 32 0 0 733282304 0 0 91619328 873359824 873359824 1832910848 876656 876656 1048576 0.103764 >
    We are running:
    java version "1.3.1.02"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1.02-011206-02:17)
    Java HotSpot(TM) Server VM (build 1.3.1 1.3.1.02-JPSE_1.3.1.02_20011206 PA2.0, mixed mode)
    We have 132GB of physical memory and a lot of not used Swap space, so I cant imagine we have a problem with that.
    Can anyone please suggest what to do proceed troubleshooting or to change some settings? I'm not into this Java really so I really need some help.
    Usually the java program handles thousands of smaller files (around 500 KB - 1 MB sized files).
    Thanks!

    You have a one to one mapping? Where one character is replaced with another?
    And all you do is read the file, replace and then write?
    Then there is no reason to have the entire file in memory.
    Other than that you need to determine if the VM (which is not a Sun VM) has an upper memory bound. That would be the limit that the VM will not go beyond regardless of memory in the system.
    We have 132GB of physical memory and a lot of not used Swap spaceOne would wonder why you have swap space at all.

  • Problem with outer join with filter on join column

    Hi,
    In physical layer I have one dimension and two facts, and there's an outer join between the facts.
    dim_DATE ,
    fact_1 ,
    fact_2
    Joins:
    dim_DATE inner join fact_1 on dim_DATE.DATE = fact_1.DATE
    fact_1 left outer join fact_2 on fact_1.DATE = fact_2.DATE and fact_1.SOME_ID = fact_2.SOME_ID
    When I run a report with a date as a filter, OBIEE executes "optimized" physical SQL:
    select fact1.X, fact2.Y
    from
    Fact_1 left outer join on fact_1.DATE = fact_2.DATE and fact_1.SOME_ID = fact_2.SOME_ID
    where Fact_1.DATE = TO_DATE('2009-05-28' , 'YYYY-MM-DD' )
    and  Fact_2.DATE = TO_DATE('2009-05-28' , 'YYYY-MM-DD')
    The filter on Fact_2.DATE effectively replaces outer join with inner.
    Is there a way to disable this "optimization", which is actually very good for inner joins, but doesn't allow outer joins?
    Thanks in advance,
    Alex
    Edited by: AM_1 on Aug 11, 2009 8:20 AM

    If you want to perform a Fact-based partitioning with OBIEE (two fact with the same dimension), you have to :
    * create in your physical layer for each fact table the joins with the dimension
    * create in the Business Model layer ONE star schema with ONE logical fact table containing the columns of your two physical fact table
    In this way when you choose minimal one column of your fact1 and one column of your fact2, OBIEE will perform two query against each fact table/dimension, join them with an OUTER JOIN and your problem will disappear.
    Cheers
    Nico

  • Problem with Out of Band Discovery resulting with Out of Band features not available in SCCM console for computers with provisioned AMT device

    Hi,
    We configured the Out of Band component, but are using Intel SCS RCS to provision AMT devices remotely­. The remote configuration process with Intel SCS works fine; we are able to connect to the AMT web UI and we can use a free KVM tool to manage the computer
    remotely.
    The AMT devices are configured with AD integration, so an object is created for each of them in a specific OU. Also, an AD group is added to the AMT devices so remote PT Administration permission is granted to it. This group includes the ConfigMgr Site
    Server account, the account of the server running the Out of Band Service Point and my own user account.
    This configuration seems OK since when connecting to the AMT web UI, I use Windows Integrated authentication with my user account and can manage the device successfully.
    So the only step remaining is running the OOB discovery to enable Out of Band features for the computers in the SCCM console. We want to use the ConfigMgr OOB console. I right-click a computer or a collection and launch the AMT discovery. I check the OOB
    server log, I don't see errors; the OOB service point connects to the AMT device and discover a status of 4, which is Externally provisioned, as expected. The problem is the AMT Status, AMT Version and Provisioned AMT fields for the computer in the ConfigMgr
    console doesn't get updated, even after doing display refresh.
    Here's the amtopmgr.log (I changed computer name and IP address information to protect client privacy) :
    General Worker Thread Pool: Work thread 364 started SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 364 (0x016C)
    Discover COMPUTERA using IP address 192.168.12.7 SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 364 (0x016C)
    AMT Discovery Worker: There are 1 tasks in pending list SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 2792 (0x0AE8)
    AMT Discovery Worker: Wait 20 seconds... SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 2792 (0x0AE8)
    AMT Discovery Worker: Wakes up to process instruction files SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 2792 (0x0AE8)
    AMT Discovery Worker: There are 1 tasks in pending list SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 2792 (0x0AE8)
    AMT Discovery Worker: Wait 20 seconds... SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 2792 (0x0AE8)
    DoPingDiscoveryForAMTDevice succeeded. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 364 (0x016C)
    Flag iWSManFlagSkipRevocationCheck is not set. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 364 (0x016C)
    session params : https://COMPUTERA.contoso.com:16993   ,  11001 SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:25 364 (0x016C)
    DoWSManDiscovery succeeded with user name: admin. AMTStatus = 1. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    Start Kerberos Discovery SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    Flag iWSManFlagSkipRevocationCheck is not set. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    session params : https://COMPUTERA.contoso.com:16993   ,  484001 SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    DoKerberosWSManDiscovery succeeded. AMTStatus = 4. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    Discovery to IP address 192.168.12.7 16 15:16:32 364 (0x016C)
    CSMSAMTDiscoveryTask::Execute, discovery to STI17259CPCO succeed. AMT status is 4. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    CSMSAMTDiscoveryTask::Execute - DDR written to E:\SMS\MP\OUTBOXES\ddr.box SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    CStateMsgReporter::DeliverMessages - Queued message: TT=1201 TIDT=0 TID='Fill Machine Property' SID=1 MUF=0 PCNT=5, P1='COMPUTERA' P2='' P3='COMPUTERA.contoso.com' P4='' P5='' SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    CStateMsgReporter::DeliverMessages - Created state message file: E:\SMS\MP\OUTBOXES\StateMsg.box\6heghx71.SMX SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    CStateMsgReporter::DeliverMessages - Queued message: TT=1201 TIDT=0 TID='Unspecified' SID=10 MUF=0 PCNT=1, P1='COMPUTERA.contoso.com' 16 15:16:32 364 (0x016C)
    CStateMsgReporter::DeliverMessages - Created state message file: E:\SMS\MP\OUTBOXES\StateMsg.box\rmit91js.SMX SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    General Worker Thread Pool: Succeed to run the task COMPUTERA.contoso.com 16 15:16:32 364 (0x016C)
    General Worker Thread Pool: Work thread 364 has been requested to shut down. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    General Worker Thread Pool: Work thread 364 exiting. SMS_AMT_OPERATION_MANAGER 2014-06-16 15:16:32 364 (0x016C)
    The Management Point is up and running.
    Any suggestion or advice is welcomed!
    Thank you
    Patrick

    I found something interesting on this problem, it seems the OOB discovery process is working fine, but for an unknown reason, the site server is not receiving the information from the OOB Service Point to update the AMT Status of the client in the SCCM
    database.
    The log tells me that a DDR file is created to be sent to the site server. When looking into the SMS\MP\Outboxes\ddr.box folder, I see about 50 DDR files, the oldest one is dated when I started testing OOB discovery.
    So the server is unable to send the files to the site server.
    Also, since I started this thread, I noticed another issue that could be related to this problem. The same server is also holding the State Migration Point role, it is working fine, but when doing USMT operations, the status of the computer association is
    not updated in the console (In Progress, Completed, missing USMT store path, etc.). When looking into the SMS folder on the server, I see a big backlog of SVF files containing information related to the SMP.
    I looked into the log files, but didn't find the errors yet to explain this.
    The computer account of the server is a member of the SMS_SiteSystemToSiteServerConnection_Stat_XXX group on the site server.
    Note that status messages are being sent successfully, I see them in the Monitoring node of the console under Component State, and there is no backlog in the SMS\MP\Outboxes\statemsg.box folder.
    Tnx for your help
    Patrick

  • Problem with out variable

    I have been working for months with java and all of a sudden today when i was compiling a program i got an error stating that the variable out can't be.
    To confirm my suspicion that somrhtings wrong i wrote this program and tested it
    class Example
         public static void main(String args[])
              System.out.println("This is my first program");
    }And i get this error when i compile
    Cannot find symbol
    variable out
    All this time the JRE was ok and now this unexpected problem.Whats happening?It works if I import java.lang.System and run the program.I have been working for months and this is the first time.Is it because of some virus or something.Should i reinstall the JDK.I thought of asking at the forum before i could try reinstalling and checking it out again.

    .. Where do you get this error? Eclipse has a bug
    which is related to this. Sometimes I have to remove
    the JRE from installed JREs in Eclipse, and then just
    add it again, and then everything works.
    KajI don't use an IDE.I use the command prompt.I get the error at the command prompt.
    My computer has two OS both XP.I jdk 1.5 installed on both these OS.I run the jdk on the first jdk which is on the active partition and when it stopped working on this one i immediately restarted the pc and started the other xp where i have installed jdk 1.5 too.But even there it's the same case.
    But if any environment variables or registry contents have changed thats local to the first xp but how will it effect the second xp.Is it because of any virus
    Please note i will be going out and will get back to the thread in around 2 hours.Thanks a lot of the response.

  • Problem with outer join/insert

    I created a test case in scott schema that describes my problem. I use emp table, and I want to have one more table - emp_info - that will store some additional info about employees. Not every employee will have additional info. I can't add a field to emp table - this has to be in an additional table.
    I want to display all the emp's in a swing table, and an info if it exists - of course, using outer join. Further more, I want users to be able to enter info in this same table. If info already exists in the emp_info it will be updated, if not a new record is created.
    I hope you get the picture.
    So, emp_info table is:
    create table emp_info(empno number(4), info varchar2(10))
    ALTER TABLE "SCOTT"."EMP_INFO"
    ADD (CONSTRAINT "PK_EMP_INFO" PRIMARY KEY("EMPNO"))
    ALTER TABLE "SCOTT"."EMP_INFO"
    ADD (CONSTRAINT "FK_EMP_INFO_EMP" FOREIGN KEY("EMPNO")
    REFERENCES "SCOTT"."EMP"("EMPNO"))
    In Jdev I create entitiy objects for emp and emp_info, and create View object 'ViewOuter' using these two entities. emp is updatable and empinfo is updatable and reference.
    SQL query for the view object is:
    SELECT Emp.EMPNO, Emp.ENAME, Emp.JOB, Emp.MGR, Emp.HIREDATE,
    Emp.SAL, Emp.COMM, Emp.DEPTNO, EmpInfo.EMPNO AS EMPNO1,
    EmpInfo.INFO
    FROM EMP Emp, EMP_INFO EmpInfo
    WHERE Emp.EMPNO = EmpInfo.EMPNO(+)
    I changed View row class of the ViewOuter view:
    public void setInfo(String value) {
    if (getEmpno1()==null) {
    setEmpno1(getEmpno());
    setAttributeInternal(INFO, value);
    Now I create the table in swing. It works fine - if a user changes info, new record is created or existing updated etc. There is only one problem:
    If I change info on an employee, and then requery the view without commiting to the database, I don't see this info. If I try to change it, I get error
    (oracle.jbo.TooManyObjectsException) JBO-25013: Too many objects match the primary key oracle.jbo.Key[7499 ].
    It seams that the new info is cached, but requerying the view didn't pick it up. And when it creates new row for info PK is violated.
    How can I avoid this?

    I set up the primari key for emp_info like this:
    public void setInfo(String value) {
    if (getEmpno1()==null) {
    setEmpno1(getEmpno());
    setAttributeInternal(INFO, value);
    It's set when the user enters info.
    What is the difference between transaction.commit and transaction.postChanges?
    Posting changes looks like good temp solution. How can I change view object, so it calls postchanges before executing query? Since I can do requery on multiple places in application, this should be handled by the view itself.
    Is there any better way?

  • Problem with outer joins and the class indicator/discriminator

    Hello,
    I am having a problem defining a query in toplink (10.1.3.3).
    In the workbench, I have created a parent and 2 child descriptors. The parent is "AbstractValue", the children are "DefaultValue", classified by the discriminator 'DEF', and "OverrideValue", classified by 'OVR', both located in the same table.
    Another descriptor (containing a one-on-one mapping to both a "DefaultValue", and a "OverrideValue") needs to be queried for its 'value'.
    The way the query should act is: If an override value (row) exists, this one applies for that object. If an override doesn't exist, return the default value.
    The query then comes down to (as I have it now):
    builder.getAllowingNull("OverrideValue").getAllowingNull("value").ifNull(builder.get("DefaultValue").get("value")).equal(builder.getParameter(VALUE_PARAM));
    The problem is that toplink adds the distinction for the different kind of "values" in the where clause WITHOUT checking for null values e.g. it performs an outer join, but then still checks for the discriminator value thus
    ....t1.ovr_id = t2.id(+) AND t2.discriminator = 'OVR' AND ...
    instead of
    ... LEFT JOIN values t2 ON (t1.ovr_id = t2.id AND t2.discriminator = 'OVR') ...
    This leads to the behaviour that the query returns ONLY the objects that have override and default values.
    An overview of the queries (simplified)
    Toplink, at the moment, returns only results if both override and default values exists:
    SELECT t1.id
    t1.def_id,
    t1.ovr_id
    FROM values t2,
    parameter t1,
    values t0
    WHERE nvl(t2.value, t0.value) = 15 AND
    t1.ovr_id = t2.id(+) AND t2.discriminator = 'OVR' AND
    t1.def_id = t0.id AND t0.discriminator = 'DEF'
    Situation Wanted:
    SELECT t1.id
    t1.def_id,
    t1.ovr_id
    FROM parameter t1
    LEFT JOIN values t2 ON (t1.ovr_id = t2.id AND t2.discriminator = 'OVR')
    JOIN values t0 ON (t1.def_id = t0.id AND t0.discriminator = 'DEF')
    WHERE nvl(t2.value, t0.value) = 15
    Anyone know if there is some statement I am missing to allow an actual outer join on descriptors containing class indicators/discriminators? A possible rewrite?
    Thanks in advance,
    Rudy

    This is a bug in TopLink's outer join support for Oracle. Currently the outer join is put in the where clause, instead of the from clause, as we do on other platforms. You might be able to fix it by changing your OraclePlatform to return false for shouldPrintOuterJoinInWhereClause().
    Please log this bug on EclipseLink, or through Oracle technial support.
    There is a workaround using,
    descriptor.getInhertiancePolicy().setAlwaysUseOuterJoinForClassType(true);
    James : http://www.eclipselink.org

  • Strange problem with out.flush

    Code:
    package com.test.servlets;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.IOException;
    import java.io.PrintWriter;
    public class MultiThreadTest extends HttpServlet {
      public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException {
        doPost(req,resp);
      public synchronized void  doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException {
        PrintWriter out = resp.getWriter();
        out.println("<p align=center><b>Multi Thread Test</b></p>");
        out.flush();
        try {
          Thread.currentThread().sleep(10000);
        catch(InterruptedException ie) {
          ie.printStackTrace(out);
        out.println("<a href=MultiThreadTest>Multi Thread Test</a><br/>");
    }When i shield the out.fulsh() with "//"
    The ie println all the text at one time after the sleep time,
    So i use out.flush() to fulsh the text which before the sleep().
    Then,ie show the "<p align=center><b>Multi Thread Test</b></p>" and then after 10 seconds ,show the ""Multi Thread Test
    But the strange thing is ,this time, the ie shows:
    <p align=center><b>Multi Thread Test</b></p>
    <a href=MultiThreadTest>Multi Thread Test</a><br/>
    It displays the HTML source code,why?

    G'day mate,
    To the best of my knowledge doGet() and doPost() are both already multi-thread enabled, unless your application explicitly implements the "SingleThreaded" interface, which your code doesn't appear to do. As it is the servlet containers 'job' to handle threading issues I wouldn't expect to be able to override the doPost() method without getting strange output.
    I reckon your best bet would be to create a javabean from within doPost(), pass it the request and response objects and let it handle the timing...... also set doPost() back to it's default, otherwise only one request will be serviced at a time. If that is what you want to happen then implement the affore mentioned interface.
    Hope this helps.
    Regards
    Davo

  • Problem with Out Reference in jsp

    Hi All
    Please Help Me
    My problem is
    <%
    ResultVo rvo=null;
    for(int i=0;i<alist.size();i++){
    rvo=(ResultVo)alist.get(i);
    %>
    <%=rvo.getData() %><%=rvo.getDel_tim() %>
    <%
    System.out.println("data"+rvo.getData()+""+i);
    System.out.println("dest"+rvo.getDest());
    } %>
    problem:
    1)here i am getting the first expression tag value
    in server it prints perfect (i mean all the values)
    but coming to jsp only the object first value printed on the jsp
    ex:
    alist.size() --10 objects
    and each object contains some values
    i repeated and try to print on the web using expression tag
    it prints only first object first value
    but i am in confusion what is the problem might be
    please help me
    thanking you

    u have to increment ur i
    add this to ur for:
    i++;

  • My MacBook pro stop working and it shows folder with question mark after this update,  it's not my fault,  Apple should solve the problem with out ask me to make payment

    After updating my MacBook pro it shows only a folder with question mark on it
    It is not my fault, Apple updates problem
    They should solve it fir me without make any payment
    Thanks

    Try starting your computer holding down the option key as soon as you hear the startup sound, and continue holding it. Hopefully, you will see the icon for your startup disk come up on your screen within a minute. Click on that icon and press return. If your machine starts up normally from there, go to System Preferences > Startup Disk and reselect your startup volume

  • Problem with Outer and Inner Classes....or better way?

    Right now I'm trying to create an Inner class.
    My .java file compiles ok, and I create my jar file too.
    But when I try to instantiate the Inner class, it fails:
    java.lang.NoClassDefFoundError: com/myco/vlXML/vlXML$vlDocument.
    Here's the class code:
    public class vlXML{
        private ArrayList myDocList=new ArrayList(); //holds documents
        public vlXML(){
        private class vlDocument{
            public vlDocument(){
            //stuff goes here
        public vlDocument vlDOC(){
            return new vlDocument();
        public void addDocument(){
            vlXML xxx=new vlXML();
            vlDocument myDoc=xxx.vlDOC();
            myDocList.add(myDoc);
        public int getNumDocs(){
            return myDocList.size();
    }Then, from a jsp page, I call:
    vlXML junk1=new vlXML();
    junk1.addDocument();...and get the error...
    Can someone help me figure out why it's failing?
    Thanks....

    You nailed it - thanks....(duh!)
    While I have your attention, if you don't mind, I have another question.
    I'm creating a Class (outer) that allows my users to write a specific XML file (according to my own schema).
    Within the XML file, they can have multiple instances of certain tags, like "Document". "Document"s can have multiple fields.
    Since I don't know how many "Documents" they may want, I was planning on using an Inner Class of "Document", and then simply letting them "add" as many as necessary (thus the original code posted here).
    Does that seem like an efficient (logical/reasonable) methodology,
    or is there there something better?
    Thanks Again...

  • Problem with outer join

    Tables
    Normal EMP TABLE and dept TABLE
    query
    SELECT e.deptno,d.dname
    FROM emp e , dept d
    WHERE E.DEPTNO(+)=D.DEPTNO
    AND (e.deptno=20 or e.job='CLERK')
    question
    When i use the above query i cannot get the extra records from dept table( 40 , OPERATIONS) due to a condition
    as long as it is "OR" we cannot use outer joins.
    Regardless of that condition i need to get that record(40,OPERATION)
    Please reply me it is very urgent for my work now..
    regards
    Boopathi

    select e.deptno,d.dname
    FROM emp e , dept d
    WHERE E.DEPTNO(+)=D.DEPTNO
    AND (e.deptno=20 or e.job='CLERK')
    This will only fetch the record for 20, IF you want for deptno 40 then you should remove your AND clause (AND (e.deptno=20 or e.job='CLERK'))
    select * from dept
    ===========
    DNAME     DEPTNO
    OPERATION     20
    FINANCE     40
    TRADE     22
    select * from emp
    ===========
    ENAME     DEPTNO     JOB
    a     20     CLERK
    b     22     XXX
    select e.deptno,d.dname
    FROM emp e , dept d
    WHERE e.DEPTNO(+)=d.DEPTNO
    =======================
    DEPTNO     DNAME
    20     OPERATION
    22     TRADE
         FINANCE--- This is the one which does not ahve a record in emp but is there in dept hence it has been returned

  • Problem with OUT parameter

    Hi,
    I have a stored procedure which has an OUT param which returns the following user defined
    type.
    --Create a type
    CREATE OR REPLACE TYPE USER_TYPE
    AS object
         CODE VARCHAR2(2),
         NAME VARCHAR2(5),
    DEFINE CLOB
    Iam calling the stored proc in java and i used the
    pstmt = con.prepareCall("{ call USER_TYPE_PKG.CHECKTYPE(name=>?,type=>?)}");
    pstmt.setString(1,userId);
    pstmt.registerOutParameter(2,Types.*STRUCT*); ---> What type should i use here. Iam getting error for this.
    and also how do i get the values of CODE,NAME and DEFINE inside the type in java.
    Thanks.

    If you are using TopLink, you can map the Struct to a Java class using an ObjectRelationalDataTypeDescriptor. Then you can use a StoredProcedureCall obejct to pass the Java object to/from the database and TopLink will handle the JDBC and Struct conversion for you.
    For direct JDBC, when you register a Struct OUT paramater you must pass the Types.Struct as well as the OBJECT TYPE name.
    pstmt.registerOutParameter(2,Types.STRUCT, "USER_TYPE");
    James : http://www.eclipselink.org

Maybe you are looking for

  • Time capsule, external hard drive, iTunes media library

    Hi, i want to setup my time capsule, at the same time I want to export my iTunes library to an external harddrive. following questions: - I setup my time capsule currently only as wifi, not yet as a backup medium - how do I set this whole thing up an

  • Error message when trying to delete a conditional tag.

    When attempting to delete a conditional tag, the following error occurred and then the program closed down: 0x00ca1940/ 0x00000000 Anyone come across this error. In addition, I have had similar errors occurred when resizing graphic frames. Once the e

  • -ve values to 0 for query

    Hi, We have a formula calculated field in the query. it is resulting -ve values in some cases. we want to set, If value of the formula is less than 0 then set to 0 else the value of the field. Is there a way to set in the query itself. I tried using

  • Record Level Authentication in ADF Security 11g

    Is it possible to code my application to support record level authentication by using ADF 11g Security? For example the CEO Role can read all orders from a view, but other roles can only read the orders by them self. Do I have to control this mannual

  • 12c : privileges required to create a pdb

    I am trying to craete a PDB as a non-sys user CDB1>sho con_name CON_NAME CDB$ROOT CDB1>select con_id, name, open_mode from v$pdbs;     CON_ID NAME                                               OPEN_MODE          2 PDB$SEED