Optimizer bug in RDBMS versions 9.2.0.7.0 and 9.2.0.8.0

This listing below demonstrates a bug in the Oracle optimizer that causes incorrect results to be returned after a table is analyzed. Rule based optimizer gives correct results.
Under cost-based optimization the predicate includes a condition from a check constraint on a nullable field. When the value of this field is NULL the record is excluded from the results even though that record does not violate the check constraint.
I have verified that this bug exists on both RDBMS versions 9.2.0.7.0 and 9.2.0.8.0.
ORA92080>
ORA92080>DROP TABLE test1;
Table dropped.
ORA92080>DROP TABLE test2;
Table dropped.
ORA92080>
ORA92080>CREATE TABLE test1
2 ( id     NUMBER NOT NULL
3 , date1     DATE NOT NULL
4 , date2     DATE
5 );
Table created.
ORA92080>
ORA92080>ALTER TABLE test1
2 ADD ( CONSTRAINT test1_chk_date1
3      CHECK ( date1 > TO_DATE( '01-JAN-1960', 'DD-MON-YYYY' ) )
4      );
Table altered.
ORA92080>
ORA92080>ALTER TABLE test1
2 ADD ( CONSTRAINT test1_chk_date2
3      CHECK ( date2 >= date1 )
4      );
Table altered.
ORA92080>
ORA92080>/* date2 is NULL */
ORA92080>INSERT INTO test1 VALUES ( 1, TO_DATE('16-JUN-2005 11:30:01', 'DD-MON-YYYY HH24:MI:SS'), NULL );
1 row created.
ORA92080>
ORA92080>/* date2 is filled in */
ORA92080>INSERT INTO test1 VALUES ( 2
2                     , TO_DATE('16-JUN-2005 11:30:01', 'DD-MON-YYYY HH24:MI:SS')
3                     , TO_DATE('16-JUN-2005 11:40:01', 'DD-MON-YYYY HH24:MI:SS')
4                );
1 row created.
ORA92080>
ORA92080>CREATE TABLE test2 AS
2 SELECT * FROM test1
3 WHERE 1=2;
Table created.
ORA92080>
ORA92080>ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
Session altered.
ORA92080>
ORA92080>SELECT * FROM test1;
ID DATE1 DATE2
1 16-JUN-2005 11:30:01
2 16-JUN-2005 11:30:01 16-JUN-2005 11:40:01
2 rows selected.
ORA92080>SELECT * FROM test2;
no rows selected
ORA92080>
ORA92080>/*
DOC>| Since no statistics were gathered, rule-based optimizer will be used.
DOC>| The correct count of two is returned.
DOC>*/
ORA92080>SELECT COUNT(*) FROM test1 t
2 WHERE EXISTS
3      ( SELECT 'X'
4      FROM ( SELECT id, date1
5                FROM test1
6           MINUS
7           SELECT id, date1
8                FROM test2
9           ) i
10      WHERE i.id = t.id
11           AND i.date1 = t.date1
12      );
COUNT(*)
2
1 row selected.
ORA92080>
ORA92080>EXPLAIN PLAN FOR
2 SELECT COUNT(*) FROM test1 t
3 WHERE EXISTS
4      ( SELECT 'X'
5      FROM ( SELECT id, date1
6                FROM test1
7           MINUS
8           SELECT id, date1
9                FROM test2
10           ) i
11      WHERE i.id = t.id
12           AND i.date1 = t.date1
13      );
Explained.
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | | | |
| 1 | SORT AGGREGATE | | | | |
|* 2 | FILTER | | | | |
| 3 | TABLE ACCESS FULL | TEST1 | | | |
| 4 | VIEW | | | | |
| 5 | MINUS | | | | |
| 6 | SORT UNIQUE | | | | |
|* 7 | TABLE ACCESS FULL| TEST1 | | | |
| 8 | SORT UNIQUE | | | | |
|* 9 | TABLE ACCESS FULL| TEST2 | | | |
Predicate Information (identified by operation id):
2 - filter( EXISTS (SELECT 0 FROM ( (SELECT "TEST1"."ID"
"ID","TEST1"."DATE1" "DATE1" FROM "TEST1" "TEST1" WHERE
"TEST1"."DATE1"=:B1 AND "TEST1"."ID"=:B2)MINUS (SELECT "TEST2"."ID"
"ID","TEST2"."DATE1" "DATE1" FROM "TEST2" "TEST2" WHERE
"TEST2"."DATE1"=:B3 AND "TEST2"."ID"=:B4)) "I"))
7 - filter("TEST1"."DATE1"=:B1 AND "TEST1"."ID"=:B2)
9 - filter("TEST2"."DATE1"=:B1 AND "TEST2"."ID"=:B2)
Note: rule based optimization
28 rows selected.
ORA92080>
ORA92080>BEGIN
2 DBMS_STATS.GATHER_TABLE_STATS
3      ( ownname     => USER,
4      tabname     => 'TEST2',
5      estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
6      cascade     => TRUE
7      );
8 END;
9 /
PL/SQL procedure successfully completed.
ORA92080>
ORA92080>/*
DOC>| This is the identical query as above. With statistics gathered, the
DOC>| cost-based optimizer is used. An incorrect count of 1 is returned.
DOC>*/
ORA92080>SELECT COUNT(*) FROM test1 t
2 WHERE EXISTS
3      ( SELECT 'X'
4      FROM ( SELECT id, date1
5                FROM test1
6           MINUS
7           SELECT id, date1
8                FROM test2
9           ) i
10      WHERE i.id = t.id
11           AND i.date1 = t.date1
12      );
COUNT(*)
1
1 row selected.
ORA92080>
ORA92080>/* Using rule-based optimizer, the result is correct. */
ORA92080>SELECT /*+ RULE */ COUNT(*) FROM test1 t
2 WHERE EXISTS
3      ( SELECT 'X'
4      FROM ( SELECT id, date1
5                FROM test1
6           MINUS
7           SELECT id, date1
8                FROM test2
9           ) i
10      WHERE i.id = t.id
11           AND i.date1 = t.date1
12      );
COUNT(*)
2
1 row selected.
ORA92080>
ORA92080>EXPLAIN PLAN FOR
2 SELECT COUNT(*) FROM test1 t
3 WHERE EXISTS
4      ( SELECT 'X'
5      FROM ( SELECT id, date1
6                FROM test1
7           MINUS
8           SELECT id, date1
9                FROM test2
10           ) i
11      WHERE i.id = t.id
12           AND i.date1 = t.date1
13      );
Explained.
ORA92080>
ORA92080>SET ECHO OFF
Wrote file reset.sql
Session altered.
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 1 | 44 | 11 |
| 1 | SORT AGGREGATE | | 1 | 44 | |
|* 2 | HASH JOIN SEMI | | 1 | 44 | 11 |
| 3 | TABLE ACCESS FULL | TEST1 | 82 | 1804 | 2 |
| 4 | VIEW | | 1 | 22 | 8 |
| 5 | MINUS | | | | |
| 6 | SORT UNIQUE | | 1 | 31 | |
|* 7 | TABLE ACCESS FULL| TEST1 | 1 | 31 | 2 |
| 8 | SORT UNIQUE | | 1 | 22 | |
|* 9 | TABLE ACCESS FULL| TEST2 | 1 | 22 | 2 |
Predicate Information (identified by operation id):
2 - access("I"."ID"="T"."ID" AND "I"."DATE1"="T"."DATE1")
7 - filter("TEST1"."DATE1">TO_DATE(' 1960-01-01 00:00:00',
'syyyy-mm-dd hh24:mi:ss') AND "TEST1"."DATE2">TO_DATE(' 1960-01-01
00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
9 - filter("TEST2"."DATE1">TO_DATE(' 1960-01-01 00:00:00',
'syyyy-mm-dd hh24:mi:ss'))
Note: cpu costing is off
27 rows selected.
ORA92080>/*
DOC>| Workaround: change the check constraint on the test1 table that is causing the problem.
DOC>*/
ORA92080>ALTER TABLE test1
2 DROP CONSTRAINT test1_chk_date2;
Table altered.
ORA92080>
ORA92080>ALTER TABLE test1
2 ADD ( CONSTRAINT test1_chk_date2
3      CHECK ( date2 >= date1 OR date2 IS NULL )
4      EXCEPTIONS INTO exceptions
5      );
Table altered.
ORA92080>
ORA92080>SELECT COUNT(*) FROM test1 t
2 WHERE EXISTS
3      ( SELECT 'X'
4      FROM ( SELECT id, date1
5                FROM test1
6           MINUS
7           SELECT id, date1
8                FROM test2
9           ) i
10      WHERE i.id = t.id
11           AND i.date1 = t.date1
12      );
COUNT(*)
2
1 row selected.
ORA92080>
ORA92080>EXPLAIN PLAN FOR
2 SELECT COUNT(*) FROM test1 t
3 WHERE EXISTS
4      ( SELECT 'X'
5      FROM ( SELECT id, date1
6                FROM test1
7           MINUS
8           SELECT id, date1
9                FROM test2
10           ) i
11      WHERE i.id = t.id
12           AND i.date1 = t.date1
13      );
Explained.
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 1 | 44 | 11 |
| 1 | SORT AGGREGATE | | 1 | 44 | |
|* 2 | HASH JOIN SEMI | | 1 | 44 | 11 |
| 3 | TABLE ACCESS FULL | TEST1 | 409 | 8998 | 2 |
| 4 | VIEW | | 20 | 440 | 8 |
| 5 | MINUS | | | | |
| 6 | SORT UNIQUE | | 20 | 440 | |
|* 7 | TABLE ACCESS FULL| TEST1 | 20 | 440 | 2 |
| 8 | SORT UNIQUE | | 1 | 22 | |
|* 9 | TABLE ACCESS FULL| TEST2 | 1 | 22 | 2 |
Predicate Information (identified by operation id):
2 - access("I"."ID"="T"."ID" AND "I"."DATE1"="T"."DATE1")
7 - filter("TEST1"."DATE1">TO_DATE(' 1960-01-01 00:00:00',
'syyyy-mm-dd hh24:mi:ss'))
9 - filter("TEST2"."DATE1">TO_DATE(' 1960-01-01 00:00:00',
'syyyy-mm-dd hh24:mi:ss'))
Note: cpu costing is off
26 rows selected.
ORA92080>

Justin,
Thanks for the reply. I have sent this test case to my DBA who may submit it to Metalink.
Since I have found and implemented a workaround, I can wait for the next service release. I just thought that this might be of interest to other Oracle users.
My work-around (buried near the end of my original post) was to modify all check constraints that fit the pattern:
( not_nullable_column condition IS TRUE )
AND ( nullable_column condition IS TRUE )
To:
( not_null_column condition IS TRUE )
AND ( nullable_column condition IS TRUE OR nullable_column IS NULL )
Redefining a check constraint in this way prevents it from being used in the optimizer's predicate.
If someone at Oracle Support wanted to submit code that identifies such potential problem constraints in the data dictionary, that would be great too.
- Doug

Similar Messages

  • Optimization bug with C++ inlining

    Hi,
    While evaluating Sun Studio 11 I have identified an optimization bug with C++ inlining.
    The bug can easily be reproduced with the small program below. The program produces
    wrong results with -xO2, because an inline access function always returns the value 0.0
    instead of the value given on the commandline:
    djerba{ru}16 : CC -o polybug  polybug.cc
    djerba{ru}17 : ./polybug 1.0
    coeff(0): 1.000000
    djerba{ru}18 : CC -o polybug -xO2 polybug.cc
    djerba{ru}19 : ./polybug 1.0
    coeff(0): 0.000000            <<<<<<<<<< wrong, should be 1.000000This occurs only with optimization level O2; levels below or above O2 don't
    exhibit the bug.
    Compiler version is
    Sun C++ 5.8 Patch 121017-01 2005/12/11
    on Solaris 8 / Sparc.
    I include a preliminary analysis at the end.
    Best Regards
    Dieter R.
    -------------------- polybug.cc -------------------------
    // note: this may look strange, but this is a heavily stripped down
    // version of actual working application code...
    #include <stdio.h>
    #include <stdlib.h>
    class Poly {
      public:
        // constructor initializes number of valid coefficients to zero:
        Poly() { numvalid = 0; };
        ~Poly() {};
        // returns coefficient with index j, if valid. Otherwise returns 0.0:
        double coeff(int j) {
         if (j < numvalid) {
             return coefficients[j];
         } else {
             return 0.0;
       // copies contents of this Object to other Poly:
        void getPoly(Poly& q) { q = *this; };
        // data members:
        // valid coefficients: 0 ... (numvalid - 1)
        double coefficients[6];
        int numvalid;
    void troublefunc(Poly* pC) {
        // copies Poly-Object to local Poly, extracts coefficient
        // with index 0 and prints it. Should be the value given
        // on commandline.
        // Poly constructor, getPoly and coeff are all inline!
        if (pC) {
         Poly pol;                      
         pC->getPoly(pol);
         printf("coeff(0): %f\n",pol.coeff(0));
    int main(int argc,char* argv[]) {
        double d = atof(argv[1]);
        // creates Poly object and fills coefficient with index
        // 0 with the value given on commandline
        Poly* pC = new Poly;
        pC->coefficients[0] = d;
        pC->numvalid = 1;
        troublefunc(pC);   
        return 0;
    The disassembly fragment below shows that the access function coeff(0), instead
    of retrieving coefficient[0] simply returns the fixed value 0.0 (presumably because the
    optimizer "thinks" numvalid holds still the value 0 from the constructor and that therefore
    the comparison "if (i < numvalid)" can be omitted).
    Note: disassembly created from code compiled with -features=no%except for simplicity!
    00010e68 <___const_seg_900000102>:
            ...     holds the value 0.0
    00010e80 <__1cLtroublefunc6FpnEPoly__v_>:
       10e80:       90 90 00 08     orcc  %g0, %o0, %o0      if (pC) {   
       10e84:       02 40 00 14     be,pn   %icc, 10ed4
       10e88:       9c 03 bf 50     add  %sp, -176, %sp
                                                       local Poly object at %sp + 120
                                                             numvalid at %sp + 0xa8 (168)
       10e8c:       c0 23 a0 a8     clr  [ %sp + 0xa8 ]      Poly() { numvalid = 0; };
                                                             pC->getPoly(pol):
                                                             loop copies *pC to local Poly object
       10e90:       9a 03 a0 80     add  %sp, 0x80, %o5
       10e94:       96 10 20 30     mov  0x30, %o3
       10e98:       d8 5a 00 0b     ldx  [ %o0 + %o3 ], %o4
       10e9c:       96 a2 e0 08     subcc  %o3, 8, %o3
       10ea0:       16 4f ff fe     bge  %icc, 10e98
       10ea4:       d8 73 40 0b     stx  %o4, [ %o5 + %o3 ]
                                                             pol.coeff(0):
                                                             load double value 0.0 at
                                                             ___const_seg_900000102 in %f0
                                                             (and address of format string in %o0)
       10ea8:       1b 00 00 43     sethi  %hi(0x10c00), %o5
       10eac:       15 00 00 44     sethi  %hi(0x11000), %o2
       10eb0:       c1 1b 62 68     ldd  [ %o5 + 0x268 ], %f0
       10eb4:       90 02 a0 ac     add  %o2, 0xac, %o0
       10eb8:       82 10 00 0f     mov  %o7, %g1
                                                             store 0.0 in %f0 to stack and load it
                                                             from there to %o1/%o2
       10ebc:       c1 3b a0 60     std  %f0, [ %sp + 0x60 ]
       10ec0:       d2 03 a0 60     ld  [ %sp + 0x60 ], %o1
       10ec4:       d4 03 a0 64     ld  [ %sp + 0x64 ], %o2
       10ec8:       9c 03 a0 b0     add  %sp, 0xb0, %sp
                                                             call printf
       10ecc:       40 00 40 92     call  21114 <_PROCEDURE_LINKAGE_TABLE_+0x54>
       10ed0:       9e 10 00 01     mov  %g1, %o7
       10ed4:       81 c3 e0 08     retl
       10ed8:       9c 03 a0 b0     add  %sp, 0xb0, %sp
    Hmmm... This seems to stress this formatting tags thing to its limits...

    Thanks for confirming this.
    No, this happens neither in an Open Source package nor in an important product. This is an internal product, which is continuously developed with Sun Tools since 1992 (with incidents like this one being very rare).
    I am a bit concerned with this bug though, because it might indicate a weakness in the area of C++ inlining (after all, the compiler fails to correctly aggregate a sequence of three fairly simple inline functions, something which is quite common in our application). If, on the other hand, this is a singular failure caused by unique circumstances which we have hit by sheer (un)luck, it is always possible to work around this: explicitly defining a assignment operator instead of relying on the compiler-generated one is sufficient to make the bug go away.

  • Bug in Mailman version 2.1.9

    Bug in Mailman version 2.1.9
    We're sorry, we hit a bug!
    Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs.
    Anyone know how to solve the issue that when you click on the link to the message that you get when you join a mailing list you get the above text on the page?

    Hello Tom,
    Running "sudo /usr/share/mailman/bin/check_perms -f" from the command line should resolve this issue. It should be noted that anytime you run repair permissions it re-breaks the mailman permissions and the command has to be run again.
    Hope that helps!
    - Barrett

  • RDBMS Version 8.0.5.0.0  Start시 mount 상태로 있어요.

    alert 로그 파일을 보면 아래와 같이 마지막 부분에 alter database mount 상태로 있습니다..
    db를 mount 후 open 하고 싶습니다.
    방법이 없나요...
    Wed Aug 12 17:47:01 2009
    Shutting down instance (abort)
    License high water mark = 3
    Instance terminated by USER, pid = 9937
    Wed Aug 12 17:50:12 2009
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    LICENSE_MAX_USERS = 0
    Starting up ORACLE RDBMS Version: 8.0.5.0.0.
    System parameters with non-default values:
    tracefiles_public = TRUE
    processes = 150
    event = 10210 trace name context forever, level 2, 10211 trace name context forever, level 2, 10235 trace name context forever, level 1, 10246 trace name context forever, level 2, 7267 trace name errorstack level 4, 3106 trace name errorstack level 4, 10076 trace name context forever, level 1
    shared_pool_size = 128000000
    enqueue_resources = 5000
    nls_language = american
    nls_territory = america
    nls_sort = binary
    nls_date_format = DD-MON-RR
    nls_numeric_characters = .,
    control_files = /d01/oradata/PRD/cntrl01.ctl
    db_block_buffers = 500
    db_block_size = 8192
    log_buffer = 327680
    log_checkpoint_interval = 10000
    db_files = 200
    db_file_multiblock_read_count= 32
    dml_locks = 500
    row_locking = always
    rollback_segments = RBS01, RBS02, RBS03, RBS04, RBS05, RBS06, RBS07
    sequence_cache_entries = 100
    sequence_cache_hash_buckets= 89
    sort_area_size = 256000
    db_name = PRD
    open_cursors = 255
    optimizerundo_changes = TRUE
    optimizer_mode = rule
    utl_file_dir = /usr/tmp, /d01/app/applmgr/1103/common/TMP, /d01/app/applmgr/1103/ja/11.0.28/out
    background_dump_dest = /d01/app/oracle/admin/PRD/bdump
    user_dump_dest = /d01/app/oracle/admin/PRD/udump
    max_dump_file_size = 10240
    core_dump_dest = /d01/app/oracle/admin/PRD/cdump
    aq_tm_processes = 1
    PMON started with pid=2
    DBW0 started with pid=3
    LGWR started with pid=4
    CKPT started with pid=5
    SMON started with pid=6
    RECO started with pid=7
    QMN0 started with pid=8
    Wed Aug 12 17:50:13 2009
    alter database mount

    장애 상황으로 open이 안되는 건지 아니면 startup mount를 통한 startup인지 구분이 필요하겠지만
    만약 장애 상황이 아니라면
    alter database open;
    명령어로 mount 단계에서 open 단계로 넘어갈 수 있습니다.
    만약 장애 상황에 따른 open 불가 상황이라면 장애를 복구하는 방향으로 접근해야 합니다.

  • Is XML DB versions tied to RDBMS versions?

    Hi,
    Can new functionality of XML DB be deployed to older versions of a database? I currently have RDBMS version of 92060 (yes, old, and yes it's Oracle EBS)
    Is it possible to install 10g XML DB functionality into this database? without first upgrading to 10g?
    Regards,
    Alex

    9.2.0.6.0 can provide 9.2.0.6.0 XML DB functionality. If XML DB is not enabled it can be enabled by running catqm. However since XML DB functionality is native to the database and tightly integrated with the kernel you cannot install functionality that was introduced in a later release of the database.

  • Fixing bugs in earlier versions

    Hi
    Could someone clarify what Adobe's policy is regarding fixing bugs in earlier versions than the current, in particular
    Adobe have agreed there is a problem importing footage from Atomos Ninja regarding the audio channels, but they say it is fixed in CS5.5,
    no mention of CS5
    I have CS5, and wondered if Adobe stop fixing bugs in earlier versions once a new version is announced.
    Yes i know I can upgrade, but at this stage I dont want to do that, i just want a bug fixed in software I have purchased
    Regards
    Chris Anderson

    Chris,
    I understand the problem you have, but please try to understand Adobe's position as well. They have limited resources and they have to fix bugs in the current version, test extensively whether they did not break anything in the process of fixing the bug, while at the same time they are busy developing a next version with new features, that users have requested, testing that extensively. At the same time there is a further complication in that all the programs in say the Master Collection must be ready at the same time for market introduction.
    With all these complications and the limited resources, priorities have to be set. How critical is a bug, is there a workaround, how many are affected? Of course the currently sold version has a higher priority than a version no longer sold. It might even be an enticement for many to upgrade to the current version.

  • Bug - Default Java version

    When I'm changing the default java version in the Default Project Properties to 1.5.0_05-b05 and creating a new project; the new project still has java version 1.5.0_05 (Default).
    Bug?
    /Per-Arne

    I have just made the test of setting JDK 1.5.0_04 as the default version of Java and when I created a new project it worked perfectly. The change was made by downloading JDK 5 update 4 from Sun; making it accessible to JDeveloper by defining a new J2SE Definition in JDeveloper (from Default Project Properties) and selecting it as the default version of Java.
    Please note that even though 1.5.0_05-b05 was not selected by default, it was selectable for the new project, so it's not a big deal, but I still think that it must be a bug under the hood that should be corrected.
    The reason that I tried to change the default Java version was that Sun's version was 1.5.0_05-b05 and JDeveloper's was "only" 1.5.0_05-b03. ;-)

  • PDF pinch and zoom, panning bug with latest version?

    I have found stumbled upon something strange with PDF folios with Zoom enabled with the latest version. When you zoom in and pan around if you pan left<->right and then try to pan up<->down without releasing the pan, it is locked in a left<->right panning motion.  Similarly if you start the panning motion in a vertical direction, and continue to hold your panning you cant pan horizontally. However, if you start panning when swiping diagonally, then you are able to pan in all directions. Is this intended behaviour?  I checked with a PDF folio built with Sprint 18 it doesnt have this behaviour. Perhaps its only happening to me and im doing something to cause it? Wondering if anyone else in the community can test if it is happening with their Sprint 19 readers.

    Confirmed.
    Bob

  • Because the itunes version 7.10 starts alone? and the music is playing?

    because the itunes version 7.10 starts alone? and the music is playing?

    To stop it from happening, I had to disconnect everything that is "connected" to itunes (my iphone & my speakers to be precise) and to re-start my macbook. And now everything is fine. Seams to be some kind of bug at startup...

  • [svn:fx-trunk] 10931: Update ASDoc version tags to show IID. as and IAdvancedStyleClient.as as Flex 4

    Revision: 10931
    Author:   [email protected]
    Date:     2009-10-08 07:43:33 -0700 (Thu, 08 Oct 2009)
    Log Message:
    Update ASDoc version tags to show IID.as and IAdvancedStyleClient.as as Flex 4
    QE notes: -
    Doc notes: -
    Bugs: -
    Reviewer: -
    Tests run: - checkintests
    Is noteworthy for integration: No
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IID.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as

    I had downloaded it for test, and requested for evaluation license...
    But I haven't got license, and also I am not able to find Flash Builder Plugins from HFCD site....
    I think those plugins are removed from site....
    Please help me, if anyone have those plugins...

  • "SQlite Version Error The application has been updated, but your version of SQlite is too old and the application cannot run." What is this all about?? Shall I give up on Firefox?

    When I tried to use Firefox this morning I got this message with exclamation marks.
    "SQlite Version Error The application has been updated, but your version of SQlite is too old and the application cannot run."
    What is this all about?? Shall I give up on Firefox?

    Sorry to hear that. I understand your frustration and I hope they send back a better working N78-3.
    Myself, I count myself lucky. Everything works perfectly for me right now...email, bluetooth, maps, gps, 3rd party apps, battery life, 3G, wifi, etc. etc.
    The only issue I've been having is the dreaded reboots but I believe that may have to do with 3rd party apps. I recently uninstalled Google Search app from my N78 and since then it hasn't rebooted or shown any issues. This seems odd at first but makes sense if you think about the fact that the Google Search app loads itself into memory and runs in the background at all times.
    I did this this past Tuesday night and so far no reboots, crashes or any problems. I'm sure I just jinxed myself but I've been using it heavily over the last few days with no issues. Prior to this, it would usually reboot every 2 days. If it doesn't reboot for another few days I'll be happy.
    I would normally not stand for this but I just love the phone and if I got something else it'd probably be the iPhone 3G which has perhaps more software bugs and issues than the N78-3!!
    Best of luck. Here's hoping they release an update soon.

  • I need to uninstall my old version on itunes and install a new version, i cant uninstall from Programs and Features, a message keeps coming up saying 'The feature you are trying to use is on a network resource that is unavailable.' Can anyone help please

    I have tried to just install the new version of itunes from the apple website, it looks like it downloads but after 5 minutes at the end of the install it says 'old version of itunes cannot be uninstalled, please contact support.'?  
    Is there anyway I can remove the version of itunes from my computer? i dont mind if i lose the music/content I already have on my itunes. I need to do this as i have just received the iphone 4 and need to install the newest version of itunes.
    Many thanks

    I need to uninstall my old version on itunes and install a new version, i cant uninstall from Programs and Features, a message keeps coming up saying 'The feature you are trying to use is on a network resource that is unavailable.'
    Unfortunately, this sort of trouble has gotten more complicated to deal with ever since Microsoft pulled the Windows Installer CleanUp utility from their Download Center on June 25. First we have to find a copy of the utility.
    Let's try Googling. (Best not to use Bing, I think.) Look for a working download site for at least version 3.0 of the Windows Installer CleanUp utility. After downloading the utility installer file (msicuu2.exe), scan the file for malware, just in case. (I use the free version of Malwarebytes AntiMalware to do single-file scans for that.)
    If the file is clean, to install the utility, doubleclick the msicuu2.exe file you've downloaded.
    Now run the utility ("Start > All Programs > Windows Install Clean Up"). In the list of programs that appears in CleanUp, select any iTunes entries and click "Remove".
    Quit out of CleanUp, restart the PC and try installing iTunes again. Does the install go through properly now?
    (If you do find a clean download site for the correct version of CleanUp, please don't tell me where it is. Without wishing to sound paranoid (although I grant it does sound paranoid), there is a non-zero chance that posting links to download locations for the utility here at Discussions leads to that download location being shut down.)

  • I try to open iphoto and it comes up with You have made changes to your photo library using a newer version of iPhoto. Please quit and use the latest version of iPhoto. I have downloaded photo manager and it's telling me to update but it wont update...

    I try to open iphoto and it comes up with You have made changes to your photo library using a newer version of iPhoto. Please quit and use the latest version of iPhoto. I have downloaded photo manager and it's telling me to update but it wont update...

    iPhoto is Apple's included program to manage your photo's and pictures.
    It receives updates over time with Software updates and new machine or iLife purchases.
    When iPhoto gets updated or a newer version is used, it may alter iPhoto support files, but newer iPhoto versions usually always compatible with older files which it then updates.
    If you used a newer iPhoto on your iPhoto support files, then they got altered to the newer format, older iPhoto versions can't read the older format.
    Somewhere along the line you somehow got a older version of iPhoto on your computer, you need to fine the newer version of iPhoto (not this photo manager, sounds like another program)
    Or somewhere along the line you used a newer iPhoto version (like on another Mac) and it altered the iPhoto support files on your older version of iPhoto.
    So the key here is to find the newest version of iPhoto and use that to access your iPhoto support files.
    If you didn't access your iPhoto support files from another Mac, then you should have the newer iPhoto version on your computer.
    Once you find it, and get it in the Dock, you should remove the older iPhoto version from your computer to prevent this from happening again.
    Lastly, if the newer version of iPhoto is somehow gone off your computer, you should be able to get a copy off the latest OS X install disk or iLife using a free program called Pacifist.
    http://www.charlessoft.com/
    Then you need to check for updates for iPhoto in the program itself, the current version is 9.1.2

  • I keep receiving this message "You can't open your current photo library using this version of iPhoto" You have made changes to your photo library using a newer version of iPhoto. Please quit and use the latest version of iPhoto."

    I keep getting this message. What do I do? You have made changes to your photo library using a newer version of iPhoto. Please quit and use the latest version of iPhoto.

    https://itunes.apple.com/ca/app/iphoto/id408981381?l=en&mt=12

  • After I download Itunes, when trying to sync Ipod, message says "needs newer version of mobile support, uninstall Itunes, and reinstall Itunes, and the same process starts all over again. why is that?

    after I download Itunes, when trying to sync Ipod, message says "needs newer version of mobile support, uninstall Itunes, and reinstall Itunes, and the same process starts all over again. why is that?

    Try removing and then reinstalling the Apple software using these instructions.
    Removing and reinstalling iTunes, QuickTime, and other software components for Windows Vista or Windows 7
    The above containes a link for XP. Also. make sure you install the correct Apple software, It comes in 32 and 64 bit and you need the one that is the same as the computer OS

Maybe you are looking for