Oracle support in test

The test version of the Anchor Modeler has been updated with preliminary Oracle support. The Oracle generation was kindly donated to us by the Swedish bank SBAB. Many thanks to Mikael Backlund (SBAB) and Jonas Åhgren (Xanthe IT) for the work they put into the Oracle generation! It is not a full implementation of uni-temporal yet, so if someone wants to step in and continue the work, please let us know. It is also largely untested by us, so report back if you find something that is broken.

We have also refactored the Layout Engine, in order to make it self-contained and easier to break out and use in other projects. A new feature called equivalence is also being added to uni-temporal (with concurrent-reliance-temporal to follow). Please note that this is still experimental and not yet complete, and the exact implementation may change. Equivalence can be used to create for example multilingual or multitenancy databases. Simply put, it covers use-cases where you may have simultaneous and equivalent values in attributes and knots. We introduced the concept in the presentation: Time, back in 2011, but haven’t had any implementation of it until now.

Published by

Lars Rönnbäck

Co-developer of the Anchor Modeling technique. Programmer of the online modeling tool. Site maintainer. Presenter and trainer.

11 thoughts on “Oracle support in test”

  1. I was curious how the Oracle code looks like and if the table elimination works as good as in SQL server but unfortunatly, the generate->SQL code doesnt work in Chrome 33.0.1750.154 (latest version). It won’t generate code for SQL server either..

    1. I’m also having issues with opening on the latest version of Firefox – it’s saying that it isn’t supported, but version 8 is.

      1. Thanks Nathan, I will download and try Firefox. The page you got redirected to is a bit outdated and I haven’t tested Firefox in a long time, so it may be the case that it has problems with some of the new functionality, but I’ll se what I can do.

      2. Firefox and Opera failed one of the feature tests for the low level SVG API. I cannot say why, but they nevertheless both work well, so I removed that particular test altogether and pushed a new release to test. Let me know if you still have problems with Firefox! I tried version 28.

  2. I created a simple model with one anchor and 6 attributes. The table creation went well but the latest perspective view contains the ID’s from all attributes and they’re all named AN_ID (ATA.AN_ID, ATB.AN_ID etc.). These columns should be aliased (ATA_AN_ID, ATB_AN_ID for example).

    I still doubt if table elimination is going to work with Oracle. I don’t see anything new in the code 🙁

    And one minor thing. I entered DWH_DV_TST in the capsule field and the field turned red. The underscores are allowed in Oracle and the SQL code that uses this field is valid.

    1. I noticed in the code that it said you must use ‘Improved’ naming convention, but that is the default setting in the tool, so I suppose that is what you tried?

      I also doubt that table elimination works for historized attributes, but I haven’t been able to test it. The join condition looks slightly different from what I tested, but perhaps you tested that particular syntax when you were helping me? Nevertheless, I am pessimistic about table elimination in Oracle up to and including version 11, but perhaps they have improved it in version 12?

      I should change the regexp to allow underscores in the capsule 🙂

      Thanks!

  3. The table elimination seems to work. If i select one attribute, it won’t join the other tables. I’m not sure if the current code is efficient because it uses nested outer loops in the joins but that might be because i have a small testset. Further testing is needed. Hope i find some time here..

    I’ll mail you the SQL with the aliases and mark the things I’ve changed.

  4. It even works for historized attributes. Needed some extra fixes to make the generated SQL work though. Will send you the modified code.

    This is the Oracle version here:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
    PL/SQL Release 11.2.0.3.0 – Production
    CORE 11.2.0.3.0 Production
    TNS for Linux: Version 11.2.0.3.0 – Production
    NLSRTL Version 11.2.0.3.0 – Production

Leave a Reply to Lars Rönnbäck Cancel reply

Your email address will not be published. Required fields are marked *