From b456d3899dd539206ca978124fb9e5272098dec5 Mon Sep 17 00:00:00 2001
From: Julian Hyde We now describe the olap4j API in more detail, by breaking it down into a set
of functional areas.Contents
Contents
+
2.1. Driver management
@@ -537,7 +538,9 @@ 2.2.2. Connection pooling
work with the connection pool.
The problem does not just affect connections: some connection pools also wrap
Statement
, PreparedStatement
, ResultSet
-and DatabaseMetaData
objects, so there are convert()
+and
+
+DatabaseMetaData objects, so there are convert()
methods for these too.
Hopefully this problem will only be temporary. As olap4j gains popularity, we expect connection pools to add support for the extended interfaces, and it will @@ -606,7 +609,7 @@
A ResultAxis is -a
+a ...[tbd]
[access positions by index (i.e. a list) and by scrolling (i.e. an iterator)]
Catalog ...
+Database +is the root element in a hierarchy of metadata elements.
+Methods:
+Catalog +...
Schema ...
Cube ...
Dimension -...
+(extends +MetadataElement)Hierarchy +(extends +MetadataElement) ...
Level ...
+Level +(extends +MetadataElement) ...
Member ...
+Member +(extends +MetadataElement) ...
Measure ...
+Measure +(extends +MetadataElement) ...
Property +
Property +(extends +MetadataElement) ...
NamedSet +(extends +MetadataElement) +...
+Schema result sets are specified as in [XML for Analysis -specification]. Here is a table of the XML/A methods and the corresponding -olap4j method.
+specification]. Here is a table of the XML/A methods and the corresponding +olap4j method and element type.XML for Analysis schema rowset | -OlapDatabaseMetaData method | +Schema result set method | +Metadata element | +
---|---|---|---|
not supported | ++ not supported | ++ Database | +|
not supported | ++ + DatabaseMetaData.getCatalogs | ++ Catalog | +|
not supported | ++ + DatabaseMetaData.getSchemas | ++ Schema | |
DISCOVER_DATASOURCES | - getDatasources | + OlapDatabaseMetaData.getDatasources ++ not supported | |
DISCOVER_ENUMERATORS | not supported | +not supported | |
DISCOVER_KEYWORDS | - getMdxKeywords | + OlapDatabaseMetaData.getMdxKeywords ++ not supported | |
DISCOVER_LITERALS | - getLiterals | + OlapDatabaseMetaData.getLiterals ++ not supported | |
DISCOVER_PROPERTIES | - getDatabaseProperties | + OlapDatabaseMetaData.getDatabaseProperties ++ not supported | |
DISCOVER_SCHEMA_ROWSETS | not supported | +not supported | |
MDSCHEMA_ACTIONS | - getActions | + OlapDatabaseMetaData.getActions ++ not supported | |
MDSCHEMA_CUBES | - getCubes | + OlapDatabaseMetaData.getCubes ++ Cube | |
MDSCHEMA_DIMENSIONS | - getDimensions | + OlapDatabaseMetaData.getDimensions ++ Dimension | |
MDSCHEMA_FUNCTIONS | - getFunctions | + OlapDatabaseMetaData.getFunctions ++ not supported | |
MDSCHEMA_HIERARCHIES | - getHierarchies | + OlapDatabaseMetaData.getHierarchies ++ Hierarchy | |
MDSCHEMA_INPUT_DATASOURCES | not supported | +not supported | |
MDSCHEMA_KPIS | not supported | +not supported | |
MDSCHEMA_LEVELS | - getLevels | + OlapDatabaseMetaData.getLevels ++ Level | |
MDSCHEMA_MEASURES | - getMeasures | + OlapDatabaseMetaData.getMeasures ++ Measure | |
MDSCHEMA_MEMBERS | - getMembers | + OlapDatabaseMetaData.getMembers ++ Member | |
MDSCHEMA_PROPERTIES | - getProperties | + OlapDatabaseMetaData.getProperties ++ Property | |
MDSCHEMA_SETS | - getSets | + OlapDatabaseMetaData.getSets ++ NamedSet |
[Need to clean up data types in the following tables. Types should all be JDBC types.]
@@ -1154,6 +1221,10 @@[Mapping from OLE DB- and XML/A-style column sets to JDBC-style. Types: +DBTYPE_WSTR to String, DBTYPE_GUID to String, DBTYPE_DBTIMESTAMP to Timestamp, +DBTYPE_BOOL to boolean; DBTYPE_I4, DBTYPE_UI4, DBTYPE_I2 and DBTYPE_UI2 all map +to int. Column names: mapped CamelCase to UPPER_CASE.]
Specified by the DISCOVER_DATASOURCES
XML for Analysis method.
Column name | -Type | +Column name | +Type | Description | -Nullable |
---|---|---|---|---|---|
DataSourceName | -string | +DATA_SOURCE_NAME | +String not null | The name of the data source, such as FoodMart 2000. | -No |
DataSourceDescription | +DATA_SOURCE_DESCRIPTION | -string | +String | A description of the data source, as entered by the publisher. | -Yes |
URL | +URL | -string | +String | The unique path that shows where to invoke the XML for Analysis methods for that data source. | -Yes |
DataSourceInfo | -string | +DATA_SOURCE_INFO | +String |
A string containing any additional information required to connect to the data source. This can include the Initial Catalog property or other information for the provider. Example: |
- Yes |
ProviderName | -string | +PROVIDER_NAME | +String |
The name of the provider behind the data source. Example: |
- Yes |
ProviderType | +PROVIDER_TYPE | -array | +array [todo] not null |
The types of data supported by the @@ -1233,13 +1298,12 @@ 2.6.3.1. getDatasourcesimplements the OLE DB for Data Mining specification. |
- No |
AuthenticationMode | +AUTHENTICATION_MODE | -EnumString | +EnumString [todo] not null |
Specification of what type of
@@ -1255,7 +1319,6 @@ 2.6.3.1. getDatasources |
- No |
Column name | -Type | +Column name | +Type | Description | -Nullable |
---|---|---|---|---|---|
PROPERTY_NAME | -string | +String not null | The name of the property. | -No | |
PROPERTY_DESCRIPTION | -string | +String | A localizable text description of the property. | -Yes | |
PROPERTY_TYPE | -string | +String | The XML data type of the property. | -Yes | |
PROPERTY_ACCESS_TYPE | -EnumString | +EnumString [todo] not null | Access for the property. The value can be Read, Write, or ReadWrite. | -No | |
True if a property is required, false if it is not required. | -Yes | ||||
VALUE | -string | +String | The current value of the property. | -Yes |
[Is VALUE a JDBC reserved word? If so, change it.]
-Retrieves a list of information on supported literals, including data types and values.
@@ -1344,23 +1399,19 @@Column name | -Type | +Column name | +Type | Description | -Restriction | -Nullable |
---|---|---|---|---|---|---|
LiteralName | -string | +LITERAL_NAME | +String not null | The name of the literal described in the row. Example: DBLITERAL_LIKE_PERCENT |
- Yes, as an array | -No |
LiteralValue | -string | +LITERAL_VALUE | +String |
Contains the actual literal value. Example, if LiteralName is @@ -1369,50 +1420,39 @@ 2.6.3.3 getLiterals"%". |
- No | - -Yes |
LiteralInvalidChars | +LITERAL_INVALID_CHARS | -string | +String | The characters, in the literal, that are not valid. For example, if table names can contain anything other than a numeric character, this string would be "0123456789". |
- No | - -Yes |
LiteralInvalidStartingChars | +LITERAL_INVALID_ + STARTING_CHARS |
- string | +String | The characters that are not valid as the first character of the literal. If the literal can start with any valid character, this is null. | -No | - -Yes |
LiteralMaxLength | +LITERAL_MAX_LENGTH | -integer | +int | The maximum number of characters in the literal. If there is no maximum or the maximum is unknown, the value is –1. | -No | - -Yes |
Column name | -Type indicator | +Column name | +Type | Description |
---|---|---|---|---|
CATALOG_NAME | -DBTYPE_WSTR | +String | The name of the database. | |
SCHEMA_NAME | -DBTYPE_WSTR | +String | Not supported. | |
CUBE_NAME | -DBTYPE_WSTR | +String | The name of the cube or dimension. Dimension names are prefaced by a dollar sign ($) symbol. | |
CUBE_TYPE | -DBTYPE_WSTR | +String | The type of the cube. Valid values are:
2.6.3.4. getCubes | |
CUBE_GUID | -DBTYPE_GUID | +String | Not supported. | |
CREATED_ON | -DBTYPE_DBTIMESTAMP | +Timestamp | Not supported. | |
LAST_SCHEMA_UPDATE | -DBTYPE_DBTIMESTAMP | +Timestamp | The time that the cube was last processed. | |
SCHEMA_UPDATED_BY | -DBTYPE_WSTR | +String | Not supported. | |
LAST_DATA_UPDATE | -DBTYPE_DBTIMESTAMP | +Timestamp | The time that the cube was last processed. | |
DATA_UPDATED_BY | -DBTYPE_WSTR | +String | Not supported. | |
DESCRIPTION | -DBTYPE_WSTR | +String | A user-friendly description of the cube. | |
IS_DRILLTHROUGH_ENABLED | -DBTYPE_BOOL | +boolean | A Boolean that always returns true. | |
IS_LINKABLE | -DBTYPE_BOOL | +boolean | A Boolean that indicates whether a cube can be used in a linked cube. | |
IS_WRITE_ENABLED | -DBTYPE_BOOL | +boolean | A Boolean that indicates whether a cube is write-enabled. | |
IS_SQL_ENABLED | -DBTYPE_BOOL | +boolean | A Boolean that indicates whether SQL can be used on the cube. | |
CUBE_CAPTION | -DBTYPE_WSTR | +String | The caption of the cube. | |
BASE_CUBE_NAME | -DBTYPE_WSTR | +String | The name of the source cube if this cube is a perspective cube. | |
ANNOTATIONS | -DBTYPE_WSTR | +String | (Optional) A set of notes, in XML format. |
Column name | -Type indicator | +Column name | +Type | Description |
---|---|---|---|---|
CATALOG_NAME | -DBTYPE_WSTR | +String | The name of the database. | |
SCHEMA_NAME | -DBTYPE_WSTR | +String | Not supported. | |
CUBE_NAME | -DBTYPE_WSTR | +String | The name of the cube. | |
DIMENSION_NAME | -DBTYPE_WSTR | +String | The name of the dimension. If a dimension is
part of more than one cube or measure group, then
there is one row for each unique combination of
@@ -1569,29 +1609,29 @@ 2.6.3.5. getDimensions | |
DIMENSION_UNIQUE_NAME | -DBTYPE_WSTR | +String | The unique name of the dimension. | |
DIMENSION_GUID | -DBTYPE_GUID | +String | Not supported. | |
DIMENSION_CAPTION | -DBTYPE_WSTR | +String | The caption of the dimension. This should be used when displaying the name of the dimension to the user, such as in the user interface or reports. | |
DIMENSION_ORDINAL | -DBTYPE_UI4 | +int | The position of the dimension within the cube. | |
DIMENSION_TYPE | -DBTYPE_I2 | +int | The type of the dimension. Valid values include:
2.6.3.5. getDimensions | |
DIMENSION_CARDINALITY | -DBTYPE_UI4 | +int | The number of members in the key attribute. | |
DEFAULT_HIERARCHY | -DBTYPE_WSTR | +String | A hierarchy from the dimension. Preserved for backwards compatibility. | |
DESCRIPTION | -DBTYPE_WSTR | +String | A user-friendly description of the dimension. | |
IS_VIRTUAL | -DBTYPE_BOOL | +boolean | Always FALSE. | |
IS_READWRITE | -DBTYPE_BOOL | +boolean | A Boolean that indicates whether the dimension
is write-enabled.
@@ -1645,7 +1685,7 @@ 2.6.3.5. getDimensions | |
DIMENSION_UNIQUE_SETTINGS | -DBTYPE_I4 | +int | A bitmap that specifies which columns contain
unique values if the dimension contains only members
with unique names. The following bit value constants
@@ -1656,13 +1696,14 @@ 2.6.3.5. getDimensions |
|
DIMENSION_MASTER_UNIQUE_NAME | -DBTYPE_WSTR | +DIMENSION_MASTER_ + UNIQUE_NAME |
+ String | Always NULL. |
DIMENSION_IS_VISIBLE | -DBTYPE_BOOL | +boolean | Always TRUE. |
Column name | -Type indicator | +Column name | +Type | Description |
---|---|---|---|---|
FUNCTION_NAME | -DBTYPE_WSTR | +String | The name of the function. | |
DESCRIPTION | -DBTYPE_WSTR | +String | A description of the function. | |
PARAMETER_LIST | -DBTYPE_WSTR | +String | A comma delimited list of parameters formatted as in Microsoft Visual Basic. For example, a parameter might be Name as String. | |
RETURN_TYPE | -DBTYPE_I4 | +int | The VARTYPE of the return data type of the function. | |
ORIGIN | -DBTYPE_I4 | +int | The origin of the function:
2.6.3.6. getFunctions | |
INTERFACE_NAME | -DBTYPE_WSTR | +String | The name of the interface for user-defined
functions The group name for Multidimensional Expressions (MDX) functions. |
|
LIBRARY_NAME | -DBTYPE_WSTR | +String | The name of the type library for user-defined functions. NULL for MDX functions. | |
DLL_NAME | -DBTYPE_WSTR | +String | (Optional) The name of the assembly that
implements the user-defined function. Returns VT_NULL for MDX functions. |
|
HELP_FILE | -DBTYPE_WSTR | +String | (Optional) The name of the file that contains
the help documentation for the user-defined
function. Returns VT_NULL for MDX @@ -1745,13 +1786,13 @@ 2.6.3.6. getFunctions | |
HELP_CONTEXT | -DBTYPE_I4 | +int | (Optional) Returns the Help context ID for this function. | |
OBJECT | -DBTYPE_WSTR | +String | (Optional) The generic name of the object class
to which a property applies. For example, the rowset
corresponding to the <level_name>.Members function
@@ -1761,7 +1802,7 @@ 2.6.3.6. getFunctions | |
CAPTION | -DBTYPE_WSTR | +String | The display caption for the function. |