Edit D:\app\Administrator\product\11.2.0\dbhome_1\olap\api\doc\doc-files\whatsnew.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>What's New (Oracle OLAP Java API Reference)</title> <LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> <LINK REL ="stylesheet" TYPE="text/css" HREF="olapiref.css" TITLE="Style"> </head> <table summary="" border="0" width="100%" cellpadding="1" cellspacing="0"> <tr> <TD> <TABLE summary="" BORDER="0" CELLPADDING="0" CELLSPACING="3"> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A> </TD> </TR> </TABLE> <td align="right" valign="top" rowspan="3"><em><b>Oracle® OLAP Java API Reference<br>11<i>g</i> Release 2 (11.2)</b><br>E10794-01<br>Beta Draft</em></td> </tr> </table> <hr> <P ALIGN=CENTER><font face="arial,helvetica" size=+2><B>What's New in the OLAP Java API</B></font></P> <P> This page describes the new features that the OLAP Java API has introduced in the 11<i>g</i> releases of Oracle Database with the OLAP option. This page contains the following topics. <UL> <LI><a href="#newin112"><font face="arial,helvetica">What's New in 11.2</font></a> <LI><a href="#newin11107"><font face="arial,helvetica">What's New in 11.1.0.7</font></a> <LI><a href="#newin111"><font face="arial,helvetica">What's New in 11.1</font></a> </UL> <a name="newin112"></a> <h1>What's New in 11.2</h1> <!-- <UL> <LI><a href="#rename">Rename persistent metadata objects.</a> </UL> --> <a name="rename"></a> <H2>Renaming Metadata Objects</H2> Previously, you could use the <CODE>MdmObject.setName</CODE> method to specify a name for a persistent metadata object only once. You could not change the name after setting it. Now, you can use the <CODE>setName</CODE> method to rename a metadata object. The new name does not take effect until you commit the root <CODE>Transaction</CODE> of the session. Until you commit the <CODE>Transaction</CODE>, the <CODE>getName</CODE> of the object returns the old name and the <CODE>getNewName</CODE> method returns the new name. <P> In Oracle Database 11<i>g</i>, Release 2 (11.2), the Oracle OLAP Java API has added the following new classes and new methods to previously existing classes. <a name="newclasses"></a> <H2>New Classes and Methods in 11.2</H2> <H3>New Classes</H3> The following classes are new additions to the Oracle OLAP Java API. The classes are listed by package. <P> <b><CODE>oracle.olapi.metadata</CODE></b> <P> <CODE>InvalidMetadataObjectInfo</CODE><br> <CODE>XML11_2_ParserCallback</CODE> <P> <b><CODE>oracle.olapi.metadata.deployment</CODE></b> <P> <CODE>SecondaryPartitionLevel</CODE><br> <P> <b><CODE>oracle.olapi.metadata.mdm</CODE></b> <P> <CODE>Mdm11_2_ObjectVisitor</CODE><br> <P> <b><CODE>oracle.olapi.syntax</CODE></b> <P> <CODE>AssignmentCommand</CODE><br> <CODE>FromClause</CODE><br> <CODE>FromClauseElement</CODE><br> <CODE>SymmetricConditionElement</CODE><br> <CODE>UnresolvedDimensionArgument</CODE><br> <H3>New Methods</H3> The following classes have new methods. The classes are listed by package. <b><CODE>oracle.olapi.data.source</CODE></b> <P> <CODE>DataProvider.reserveBuildID(BuildResult buildResult)</CODE> <P> <b><CODE>oracle.olapi.metadata</CODE></b> <P> <CODE>BaseMetadataObject.getContainedByObject()</CODE><br> <CODE>InvalidMetadataException.getErrorInfoList(MetadataObject object)</CODE><br> <CODE>InvalidMetadataException.getErrorInfoList(String objectID)</CODE> <P> <b><CODE>oracle.olapi.metadata.deployment</CODE></b> <P> <CODE>AWCubeOrganization.addSecondaryPartitionLevel(SecondaryPartitionLevel level, int levelNumber)</CODE><br> <CODE>AWCubeOrganization.findOrCreateSecondaryPartitionLevel(java.lang.String name)</CODE><br> <CODE>AWCubeOrganization.getSecondaryPartitionLevels()</CODE><br> <CODE>AWCubeOrganization.removeSecondaryPartitionLevel(SecondaryPartitionLevel partitionLevel)</CODE><br> <P> <b><CODE>oracle.olapi.syntax</CODE></b> <P> <CODE>SymmetricCondition.SymmetricCondition(java.util.List<SymmetricConditionElement> elements) </CODE><br> <CODE>SymmetricCondition.SymmetricCondition(SymmetricConditionElement[] elements)</CODE> <a name="deprecatedclasses"></a> <H2>Deprecated 10<i>g</i> Classes and Methods Removed</H2> Some classes and methods from the 10<i>g</i> release of the Oracle OLAP Java API were deprecated in the 11.1 releases. For example, all of the classes in the <CODE>oracle.olapi.metadata.mtm</CODE> package were deprecated in the 11.1 release. The documentation for the 11.2 release does not contain those deprecated 10<i>g</i> classes and methods. <a name="newin11107"></a> <h1>What's New in 11.1.0.7</h1> This release of the Oracle OLAP Java API includes new features that provide the ability to do the following. <UL> <LI><a href="#mrmode">Have all forms of metadata in the same session.</a> <LI><a href="#namespace">Distinguish metadata forms with namespaces.</a> <LI><a href="#parallel">Specify serial or parallel processing in some build commands.</a> <LI><a href="#aggfunc">Aggregate over specified dimension members.</a> <LI><a href="#poplineage">Populate lower levels in an ET view for a dimension hierarchy with the attribute values mapped at a higher level.</a> <LI><a href="#includeinrewrite">Include populated lineage attributes in a rewrite MV.</a> <LI><a href="#groupattributes">Group attributes.</a> <LI><a href="#classification">Classify objects.</a> <LI><a href="#attrmap">Specify a language when mapping an attribute.</a> <LI><a href="#writercallback">Exclude attributes when exporting a metadata object to XML.</a> <LI><a href="#attrprefix">Specify a prefix for the ET attribute name of a materialized view.</a> <LI><a href="#buildresult">Track the progress of a build.</a> </UL> For lists of the packages, classes, fields, methods, and property settings that are new in the 11.1.0.7 release, see <a href="newin11107.html">New Features in 11.1.0.7</a>. <a name="mrmode"></a> <H2>Having All Metadata Forms in the Same Session</H2> Legacy Oracle OLAP metadata objects that were created in a 10<i>g</i> version of Oracle Database can now exist in the same session as 11<i>g</i> OLAP metadata objects. This is possible because some of the top-level legacy metadata objects now have a namespace. For more information on namespaces, see the <a href="#namespace">Namespaces</a> topic. <P> The <CODE>oracle.olapi.data.source.DataProvider</CODE> class has the new <CODE>ALL</CODE> metadata reader mode setting, which is now the default metadata reader mode. In the <CODE>ALL</CODE> mode, the Oracle OLAP metadata reader recognizes 11<i>g</i> metadata objects and the 10<i>g</i> metadata object formats in the same session. For more information on metadata reader mode settings, see <a href="../oracle/olapi/data/source/doc-files/dpprops.html">DataProvider Settings</a>. <a name="namespace"></a> <H2>Introducing Namespaces</H2> A namespace identifies the metadata format and the type of an OLAP metadata object that was created in a 10<i>g</i> version of Oracle Database. The metadata objects for a 10<i>g</i> cube, measure folder, and dimension are represented in 11<i>g</i> by the <CODE>oracle.olapi.metadata.mdm.MdmObject</CODE> objects <CODE>MdmCube</CODE>, <CODE>MdmOrganizationalSchema</CODE>, and <CODE>MdmPrimaryDimension</CODE>. The <CODE>getNamespace</CODE> method of those objects returns the namespace. For an 11<i>g</i> object, the namespace is null. <P> The namespace of a legacy 10<i>g</i> metadata object appears as a prefix in the unique object identifier. The unique object ID is returned by the <CODE>getID</CODE> method. The namespace also appears in the <CODE>Namespace</CODE> attribute in the XML representation of the 10<i>g</i> object and in other references to the object in the XML. The version of the XML is now 1.2. <P> The <CODE>MdmDatabaseSchema</CODE> class has findOrCreate methods that take a namespace. Using such a method, an application can find a 10<i>g</i> metadata object but cannot create one. If an object of the specified name does not exist, Oracle OLAP creates an 11<i>g</i> object. <P> For more information on namespaces, see <a href="../oracle/olapi/metadata/mdm/MdmMetadataProvider.html#namespaces">Using Namespaces</a> in the class description of <CODE>MdmMetadataProvider</CODE>. <a name="parallel"></a> <H2>Specifying Serial or Parallel Processing</H2> You can now create an <CODE>oracle.olapi.syntax.LoadCommand</CODE> that specifies the use of serial or parallel processing when loading data in an analytic workspace. The <CODE>LoadCommand</CODE> also has a <CODE>PRUNE</CODE> option, which specifies that the build spawns jobs only for the partitions for which measure data exists. <P> The <CODE>LoadCommand</CODE> class now has constructor methods as well as static constant fields that produce <CODE>LoadCommand</CODE> objects. One of the constructors takes the name of a <CODE>CubeMap</CODE>. With that constructor, you can specify loading data from a source other than the default data source. <P> The <CODE>ClearCommand</CODE> and <CODE>SolveCommand</CODE> classes also have serial and parallel processing options. <a name="aggfunc"></a> <H2>Aggregating Over Specified Dimension Members</H2> With the <CODE>oracle.olapi.syntax.AggregationFunctionExpression</CODE> class, you can aggregate measure values over specified dimension members. You specify the dimension members with an <CODE>AggregateOverMembersClause</CODE>. You can use an <CODE>AggregationFunctionExpression</CODE> as the <CODE>Expression</CODE> for an <CODE>MdmCustomMember</CODE> of an <CODE>MdmModel</CODE>. <a name="poplineage"></a> <H2>Populating Hierarchy Lineage in an ET View</H2> In an attribute column in an embedded totals (ET) view, you can now automatically populate the rows for lower levels in a dimension hierarchy with the attribute values that are mapped at a higher level. To do so, you specify <CODE>true</CODE> with the <CODE>MdmBaseAttribute.setPopulateLineage</CODE> method. <P> If you specify <CODE>setPopulateLineage(false)</CODE>, then the attribute values appear only in the rows for the dimension members at the level to which the attribute is mapped. For dimension members at other levels, the attribute value is null. If you specify <CODE>setPopulateLineage(true)</CODE>, then the attribute values appear in the rows for the members of the mapped level and for the dimension members of all levels that are descendants of the mapped level. <P> Populating the hierarchy lineage in an ET view makes the contents of the view more like the contents of a relational table in a star schema. For example, you could create a separate long description attribute on the dimension for each <CODE>MdmDimensionLevel</CODE> of the dimension. You would specify populating the lineage of those attributes by calling the <CODE>setPopulateLineage(true)</CODE> of each attribute. You would then make the attribute visible for a dimension level by adding the attribute to the <CODE>MdmDimensionLevel</CODE> with the <CODE>addAttribute</CODE> method. <P> The ET view for a hierarchy of the dimension would then have a column for each of the long description attributes. Those columns would contain the long description attribute values for the members of the mapped dimension level and for the dimension members of all levels that are descendants of the mapped level. <a name="includeinrewrite"></a> <H2>Including Populated Lineage Attributes in a Rewrite MV</H2> If the <CODE>AWCubeOrganization</CODE> for a cube has a materialized view option of <CODE>REWRITE_MV_OPTION</CODE>, then Oracle OLAP creates a materialized view for the cube that can be used by the database query rewrite system. The new <CODE>REWRITE_WITH_ATTRIBUTES_MV_OPTION</CODE> of <CODE>AWCubeOrganization</CODE> enables you to include in the rewrite MV the attributes for which the <CODE>isPopulateLineage</CODE> method returns <CODE>true</CODE>. <a name="groupattributes"></a> <H2>Grouping Attributes</H2> With the <CODE>setAttributeGroupName</CODE> method of an <CODE>MdmBaseAttribute</CODE>, you can specify a name for an attribute group. You can specify the same group name for other attributes. For example, you could create a long description attribute for each dimension level and give each attribute the group name of "LONG_DESCRIPTION". You could use the group name to identify similar kinds of attributes. <a name="classification"></a> <H2>Classifying Objects</H2> With the <CODE>addObjectClassification</CODE> method of an <CODE>MdmObject</CODE>, an application can add metadata to that object. The application can use the classification metadata for such purposes as identifying, grouping, or otherwise associating objects by classification. <a name="attrmap"></a> <H2>Specifying a Language for an Attribute</H2> You can now specify a language when mapping an attribute by using the <CODE>findOrCreateAttributeMap(MdmBaseAttribute attribute, java.lang.String language)</CODE> method of the <CODE>oracle.olapi.metadata.mapping.DimensionMap</CODE> class. <a name="writercallback"></a> <H2>Excluding Attributes Through an XML Writer Callback</H2> An implementation of the <CODE>XMLWriterCallback</CODE> interface provides Oracle OLAP the means to call back to an application while the <CODE>MdmMetadataProvider</CODE> is exporting the XML definition of an object. With an <CODE>XMLWriterCallback</CODE>, the application can specify whether or not to exclude an attribute or an owner name from the exported XML. The Oracle OLAP Java API introduced <CODE>XMLWriterCallback</CODE> in the 11.1.0.6 release. <a name="attrprefix"></a> <H2>Specifying Column Name Prefix in a Materialized View</H2> When Oracle OLAP creates a materialized view for a cube, it creates columns for the attributes of the dimensions of the cubes. For the name of a column, it uses the name of the attribute column from the ET view of the dimension. To insure that the column name is unique, Oracle OLAP adds a default prefix to the name. You can specify the prefix by using the <CODE>setETAttrPrefix</CODE> method of the <CODE>MdmDimensionality</CODE> object for a dimension of the cube. <a name="buildresult"></a> <H2>Tracking Build Results</H2> In the 11.1.0.6 release, the Oracle OLAP Java API added the <CODE>oracle.olapi.data.source.BuildResult</CODE> class and <CODE>DataProvider.executeBuild</CODE> methods that take a <CODE>BuildResult</CODE>. With a <CODE>BuildResult</CODE>, an application can get the identification number for a build process. An analytic workspace automatically generates the identification number during a build. You can use the build number to track the progress of a build. <P> <hr> <a name="newin111"></a> <h1>What's New in 11.1</h1> <P> The 11<i>g</i> release contains many changes in the Oracle OLAP Java API since the 10<i>g</i> release. The major changes are to the metadata model and the addition of the <CODE>syntax</CODE> package. <P> The 11<i>g</i> metadata model includes classes that an application developer can use to define metadata objects, to map the objects to database tables and views, and to deploy the objects in an analytic workspace or as relational tables and views. With other classes the developer can load data into an analytic workspace, including data that results from a series of specified calculations. <P> In implementing the 11<i>g</i> metadata model, the <CODE>oracle.olapi.metadata.mdm</CODE> package has many new classes and many other classes in the package have new methods. Additionally, the API includes the following new packages: <UL> <LI><CODE>oracle.olapi.metadata.conversion</CODE> <LI><CODE>oracle.olapi.metadata.deployment</CODE> <LI><CODE>oracle.olapi.metadata.mapping</CODE> <LI><CODE>oracle.olapi.session</CODE> <LI><CODE>oracle.olapi.syntax</CODE> </UL> Some aspects of the Oracle OLAP Java API are much the same as in the 10<i>g</i> releases, such as the ability to create queries with classes in the <CODE>oracle.olapi.data.source</CODE> package and to retrieve the data with classes in the <CODE>oracle.olapi.data.cursor</CODE> package. However, in Oracle OLAP 11<i>g</i> Release 1 (11.1) the API has many new features. The major new features include the abilities to do the following: <UL> <LI><a href="#persistobj">Create and maintain persistent metadata objects</a>. <LI><a href="#restrictobj">Restrict access to the metadata objects</a>. <LI><a href="#defaw">Define and build analytic workspaces</a>. <LI><a href="#syntax">Use SQL expression syntax</a> in mapping OLAP metadata objects to relational data sources or to specify operations. <LI><a href="#msess">Have multiple user sessions that share the same connection to the Oracle Database</a>. </UL> <a name="persistobj"></a> <H2>Persistent Metadata Objects</H2> <P> The Oracle OLAP Java API now has the ability to create and maintain persistent metadata objects. The Oracle Database stores the metadata objects in the Oracle data dictionary. <P> An application maps the metadata objects to relational structures in an Oracle Database instance or to expressions that provide a data source. The application can deploy the metadata as relational OLAP (ROLAP) objects or it can deploy the metadata in an analytic workspace. For information on the advantages of the deployment types, see <I>Oracle OLAP User's Guide</I>. <P> To provide this new functionality, the Oracle OLAP Java API substantially revises the metadata model. The new model includes several new packages and has significant changes to some existing packages. For example, the <CODE> oracle.olapi.metadata.mdm</CODE> package has many new classes. It also has many new methods added to existing classes. <P> An application creates most metadata objects with findOrCreate methods of the owning object. For example, the following code finds the <CODE>MdmStandardDimension</CODE> named <CODE>PRODUCTS_AWJ</CODE> or creates a standard dimension with that name if it does not already exist. The <CODE>mdmDBSchema</CODE> object is the <CODE>MdmDatabaseSchema</CODE> that owns the dimension. <pre> MdmStandardDimension prodDim = mdmDBSchema.findOrCreateStandardDimension("PRODUCTS_AWJ");</pre> <P> Some classes and methods are deprecated in the new model. For example, all of the classes in the <CODE>oracle.olapi.metadata.mtm</CODE> package are deprecated, and methods of other classes that use the <CODE>mtm</CODE> classes are also deprecated. Some <CODE>mtm</CODE> classes mapped transient <CODE>mdm</CODE> objects to relational database structures, such as columns in tables and views. Other <CODE>mtm</CODE> specified how Oracle OLAP performed operations such as aggregation or allocation of the values of custom measures. That functionality is replaced by classes in the <CODE>oracle.olapi.metadata</CODE> subpackages <CODE>deployment</CODE>, <CODE>mapping</CODE>, and <CODE>mdm</CODE>, and the <CODE>oracle.olapi.syntax</CODE> package. With the new classes, an application can create permanent metadata objects, map them to data sources, and specify the operations that provide values for measures. <a name="restrictobj"></a> <H2>Restrict Access To Metatdata Objects </H2> <P> Because the metadata objects exist in the Oracle data dictionary, an Oracle Database DBA can restrict access to certain types of the metadata objects. A client application can set such restrictions by sending SQL commands, using the JDBC API, through the JDBC connection for the user session. <a name="defaw"></a> <H2>Define and Build Analytic Workspaces</H2> <P> An application can now define, build, and maintain analytic workspaces. This new functionality is provided by classes in the <CODE>oracle.olapi.metadata</CODE> subpackages <CODE>deployment</CODE>, <CODE>mapping</CODE>, and <CODE>mdm</CODE>, and the <CODE>oracle.olapi.syntax</CODE> package. This functionality replaces the Oracle OLAP Analytic Workspace Java API, which is entirely deprecated in this release. <a name="syntax"></a> <H2>SQL Expression Syntax</H2> <P> With the classes in the <CODE>oracle.olap.syntax</CODE> package, an application can create Java objects that are based on SQL expressions, functions, operators, and conditions. The <CODE>SyntaxObject</CODE> class has static methods that an application can use to convert SQL expressions into Java objects or to get the SQL syntax from a Java object. <P> An application can create the Java objects by using the <CODE>SyntaxObject.fromSyntax</CODE> method or by using a constructor. For example, the following example creates a <CODE>StringExpression</CODE> using a <CODE>fromSyntax</CODE> method and another <CODE>StringExpression</CODE> using a constructor method. The <CODE>mp</CODE> object is the <CODE>MdmMetadataProvider</CODE> for the session. <P> Note that the string in the <CODE>fromSyntax</CODE> method is enclosed in single quotation marks inside the double quotation marks because the string is a SQL string literal. The single quotation marks are not required when using the constructor for a <CODE>StringExpression</CODE>. <P> The example then calls the <CODE>getValue</CODE> method on both <CODE>StringExpression</CODE> objects and displays the values returned. It also calls the <CODE>toSyntax</CODE> method on one <CODE>StringExpression</CODE> and displays the result. <pre> StringExpression exp = (StringExpression) SyntaxObject.fromSyntax("'Hello world from syntax.'", mp); StringExpression strExp = new StringExpression("Hello world using constructor."); println(exp.getValue() + " Output of exp.getValue()."); println(strExp.getValue() + " Ouput of strExp.getValue()."); println(strExp.toSyntax()+ " Ouput of strExp.toSyntax().");</pre> <P> The output of the code is the following: <pre> Hello world from syntax. Output of exp.getValue(). Hello world using constructor. Output of strExp.getValue(). 'Hello world using constructor.' Output of strExp.toSyntax().</pre> <a name="msess"></a> <H2>Multiple Sessions Sharing a Connection</H2> <P> Another new feature is the ability to have multiple user sessions that share the same JDBC connection to the Oracle Database instance and that share the same cache of metadata objects. This ability is provided by the <CODE>UserSession</CODE> class in the <CODE>oracle.olapi.session</CODE> package. <!-- <P> For descriptions of features that were new in previous releases, see <a href="prevrel.html">New Features in Previous Releases</a>. --> <hr> <center>Copyright © 2002, 2009, Oracle. All rights reserved.</center> </body> </html>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de