What's New in MaxL DDL?

New In 7.1
New In 7.0
New In 6.5.4
New In 6.5.1
New In 6.5
MaxL DDL Statements


What's New In Release 7.1?


What's New In Release 7.0?



Query Database statement

Top

The query database statement returns a variety of information about the current state of the database.

See query database.





Alter Filter statement

Top

You can add filter definition rows to an existing filter.

See alter filter.



Alter Partition statement

Top

You can correct dangling or invalid partition errors using MaxL.

See alter partition.



Unicode support

Top

You can use the following statements to perform the following Unicode-related tasks:



Object management statements

Top

The following MaxL statements aid in database object management:
alter object
display object
drop object



Metadata filtering

Top

Metadata filtering provides an additional layer of security in addition to data filtering. With metadata filtering, an administrator can remove outline members from a user's view, providing access only to those members that are of interest to the user.

See Metadata Filtering.



MaxL Shell supports MDX queries

Top

The MaxL Shell recognizes any statement beginning with WITH or SELECT as an MDX statement, and returns the query results in the form of a grid.

See MDX.



Triggers to track state changes

Top

Triggers help you define administrative alerts or other events related to the current state of data in a database.

See:

create or replace trigger
alter trigger
display trigger
drop trigger



Import single data records

Top

You can use MaxL to load single data records into a database. For example,
import database sample.basic data from data_string 'Jan Sales '100-10' Florida Actual 220' on error abort;

See import data.



Improved handling of STDOUT, STDERR

Top

Errors in MaxL are flagged as STDERR, allowing command-line redirection of errors using operating-system redirection handles. You can also redirect STDERR and STDOUT independently to different MaxL output logs.

See Spool On/Off (Description section).



Improvements to Alter Database statement

Top

The Alter Database statement contains the following new grammar:

set default calculation CALC-STRING;
set ha_trace... (for Hybrid Analysis tracking)
set active alias_table...
set performance statistics...
recover freespace;
force restructure;
load | unload alias_table...
delete lro...
unlock all objects;


Full ESSCMD functionality in MaxL

Top

The following list of ESSCMD commands now have an equivalent MaxL statement, and conversions from these commands to MaxL are supported by the cmd2mxl utility. Only the commands which map to new MaxL grammar for Release 7.0 are listed. For the full mapping, see ESSCMD to MaxL Conversion.

GetDefaultCalc
SetDefaultCalc
ListAliases
DisplayAliases
SetAlias
LoadAlias
UnloadAlias
ListObjects
CopyObject
RenameObject
UnlockObject
ListLinkedObjects
PurgeLinkedObjects
ListLocks
RemoveLocks
GetDbStats
GetAttributeSpecs
GetAppInfo
GetDbInfo
EstimateFullDbSize
GetCrRate
Validate
ListFiles
ResetPerfstats
GetPerfstats
GetMbrCalc
GetMbrInfo
GetAttrInfo
Update

What's New In Release 6.5.4?



Undo Forced Password Change

Top

With the following grammar, an administrator can undo a previous decision to force a user to change his or her password at the next login:

alter user USER-NAME set password_reset_days exact;

See alter user.



Display user has a new column

Top

When the display user MaxL statement is issued, MaxL displays a table of information about users on the system. A new column called change_password indicates whether a password change will be required at the next login.

See display user.



MaxL Statements for Security Platform User Management

Top

You can set up Analytic Services to use your corporate external-authentication scheme; this functionality is supplied by the Hyperion security platform.

For information about the security platform, see Introduction to the Security Platform. For the associated MaxL user-management statements, see MaxL Statements for External User Management.



MaxL Shell Output Column Widths

Top

In previous releases, the column size for MaxL Shell output was limited to 128 bytes. Now, you can set the column width to any value of 8 or higher.

See Set Display Column Width.



Documentation Update for no_access

Top

Granting any privilege, including calculation and filter privilege, on a database also grants the implicit ability to load the application containing that database. To remove this ability, you must grant no_access to the application, not just to the database.



Limitation on Whitespace in Names

Top

User names, server names, and passwords cannot include spaces at the beginning or at the end.

See definitions for USER-NAME, HOST-NAME, and PASSWORD.

What's New In Release 6.5.1?



Improved Security File Backup

Top

In the event that security file corruption occurs, Analytic Services provides an improved way of restoring security information. The security backup file can be synchronized to the security file regularly, rather than each time the Analytic Server starts. This ensures that the security backup file is as up-to-date as possible.

Analytic Services compares the security backup file essbase.bak to the security file essbase.sec at specified intervals and on demand, instead of only when the Analytic Server starts. When Analytic Services compares the files, it updates the backup file to match the security file if there are any differences.

To synchronize the security backup file on-demand to the current state of Analytic Services security, use
alter system sync security_backup;

To set a frequency for automatic comparisons and synchronizations of the security backup file to the security file, use the session_idle_poll setting in alter system. The time interval you specify in the session idle poll tells Analytic Services both of the following:

  • How often to check whether user sessions have passed the allowed inactivity interval indicated by session_idle_limit in the alter system statement.
  • How often to refresh the security backup file. If session_idle_poll is set to zero, the security backup file is still refreshed every five minutes.

See alter system.



ZLIB as Database Compression Algorithm

Top

In addition to the database compression options previously being provided (RLE, bitmap compression, or no compression), Analytic Server now supports ZLIB compression. This method is used in packages like PNG, Zip, and gzip.

To set ZLIB as the compression type for a database, use
alter database DBS-NAME set compression zlib;

See alter database.



Reset Database Functionality

Top

Previous database reset functionality cleared all data from the database. Now you can optionally clear the database of data and metadata (index files, page files, and outline) and preserve any partition definitions, calculation scripts, load rules, and other associated database objects that you want to keep.

To clear only data (including linked reporting objects), use
alter database dbs-name reset data;

To clear data (including linked reporting objects) and the outline, use
alter database dbs-name reset all;

See alter database



Invalid Block Header Correction

Top

Now you can assess the severity of "invalid block header" errors, and use MaxL to repair the corruption indicated by the presence of invalid block headers.

To search for the cause of invalid block header errors, use
alter database DBS-NAME validate data to local logfile 'FILE-NAME';

Analytic Services creates a local log file with all index combinations for which blocks contain invalid block headers.

To repair invalid block header corruption, use
alter database DBS-NAME repair invalid_block_headers;

Analytic Services deletes all blocks that have invalid headers.

See alter database.



Outline Synchronization for Partitioned Databases

Top

Outline synchronization for partitioned databases is now available through MaxL, using the refresh outline grammar.



Advanced Display Partition Shows More Details

Top

When the advanced keyword is used, the display output generated by display partition contains two new fields of information. The new fields are time_source_updated and time_target_updated. The times can be compared, enabling you to determine if the outline needs to be synchronized. If the ouline needs to be synchronized, use refresh outline.



Export-LRO Directory Cleanup

Top

The following grammar deletes directories created for linked-reporting objects exported from a database to a directory created in $ARBORPATH\app:
alter system delete export_directory EXPORT-DIR;

Use the export-directory cleanup statement after the exported LROs have already been migrated into a database (using import lro) and the directories containing the exported LRO information are no longer needed.

To view a list of names of exported linked-reporting-objects directories in $ARBORPATH\app, use display system export_directory.

See alter system and display system.

What's New In Release 6.5?

New Functionality

  1. Setting an I/O Access Mode on a Database
  2. Using Special Characters in User and Group Names
  3. Performing Read-Only Operations Allowed During Database Export
  4. Creating Externally Authenticated Users
  5. Setting a Message Level on Startup of MaxL Shell
  6. Invoking MaxL Shell to Prompt for User Name and Password
  7. Using MaxL Shell Variables in New and More Flexible Ways

Changes and Enhancements

  1. Validating Existing Partitions Independently of Creation
  2. Displaying Advanced Partition Information
  3. Displaying Custom-Defined Functions and Macros in Four Different Ways

New Functionality

  1. Selection of the input/output (I/O) access mode Analytic Services will use is now controlled per database, instead of as a system-wide selection. Analytic Services runs by default under buffered I/O, but direct I/O is an option. Direct I/O is needed if you wish to use Analytic Services' cache memory locking feature. Direct I/O is also required if you wish to use your operating system's no-wait (or asynchronous) I/O. For important information about how direct I/O affects database cache-sizes, please see the Installation Guide.

    With Release 6.2, you could switch to direct I/O for all databases by using a essbase.cfg setting, DIRECTIO TRUE. With Release 6.5, the DIRECTIO config-file setting becomes obsolete. With Release 6.5, if a DIRECTIO setting exists in the .cfg file, all newly created Release 6.5 databases and all databases migrated to Release 6.5 will read the I/O access mode specification from essbase.cfg one time, and copy that information to the security file (essbase.sec). Thereafter, if you wish to change the I/O access mode used by any database, you must change it at the database level using the database settings.

    The database setting for I/O access mode in MaxL is part of the alter database statement.
    Example: alter database Sample.Basic set io_access_mode direct;
    Changes to the I/O access mode are effective the next time the database is started. If you set a database to use direct I/O, Analytic Services will attempt to use direct I/O the next time the database is started. If direct I/O is not available on your platform at the time the database is started, Analytic Services will use buffered I/O, which is the default. However, Analytic Services will store the I/O access mode setting that you specified in the security file, and will attempt to use that I/O access mode each time the database is started.

  2. The MaxL Shell allows single quotation marks to be used within user or group names. Although single quotation marks are used to separate units of MaxL statements that contain special characters, they can now be used also within user and group names, with backslash used as an escape sequence.

    Example:
    create user 'O\'Brian' identified by 'password';

    See complete quoting and escape-sequence rules for both MaxL and the MaxL Shell.

  3. Database exports allow users to log in and perform read-only operations while the database export proceeds. Instead of disallowing user connections during the entire database export process, the export process in Release 6.5 sets the database to read-only mode. The database is restored to the normal state when the export process completes. This eliminates the need to use begin-archive and end-archive utilities before and after performing a database export.


  4. Creating a user can be done in two ways: Users can be created to use the standard Analytic Services security model for logging in, or users can be created whose logins are externally authenticated using an outside authentication protocol such as LDAP.
    Release 6.2 introduced the ability to create externally authenticated users. With Release 6.5, the MaxL create user statement enables creating externally authenticated users with the MaxL language interface.


  5. The MaxL Shell has invocation flags that can be used to accomplish various tasks in advance before the shell is launched; for example, the -l flag allows you to specify a login host as an argument to the shell. With Release 6.5, setting the message level returned by the shell is also available as an invocation option, the -m flag. See Interactive Input for MaxL Shell invocation.


  6. The MaxL Shell can be invoked using -u and -p options in interactive mode, for passing the user name and password to the shell upon startup. To be prompted for both username and password, use the -s option with the host name of the Analytic Server. More information


  7. The MaxL Shell (essmsh in the Bin directory), which is used to run MaxL scripts or conduct interactive MaxL sessions, contains enhanced variable handling.

    In the MaxL Shell, you can use variables as placeholders for any data that is subject to change or to which you refer often. Prior to Release 6.5, the MaxL Shell allowed variables to be either positional parameters or environment variables. In Release 6.5, the flexibility of positional parameters is increased; also, a new type of variable can be used: locally defined shell variables.

    Positional Parameters:
    These variables are passed in to the shell at invocation time as arguments, and can be referred to generically by the subsequent script or interactive MaxL Shell session using $n, where n is the number representing the order in which the argument was passed on the command line.
    For example, if the shell is started with the variable values provided,
    essmsh -a arg1 arg2
    The MaxL statements in the subsequent session can use $1 to refer to arg1, $2 to refer to arg2.

    Additionally, with Release 6.5, you can change $1 to mean arg_new in the same MaxL Shell session, using the following syntax:
    set 1 = arg_new;
    In other words, you can reset the value associated with the positional parameters, without needing to exit the shell and start again, passing new arguments.
    Note: If you nest MaxL Shell scripts or interactive sessions, the nested shell does not recognize positional parameters of the parent shell. The nested shell should be passed separate arguments, if positional parameters are to be used.

    Locally Defined Shell Variables:

    With Release 6.5, you can create variables of any name in the MaxL Shell without the use of arguments or positional parameters. These variables persist for the duration of the shell session, including in any nested shell sessions.

    Example:
    MaxL>login user1 identified by password1;
    MaxL>set var1 = sample;
    MaxL>echo $var1; /* see what the value of $var1 is */
    sample
    MaxL>display application $var1; /* MaxL displays application "sample" */

    Note: Locally defined variables can be named using alphabetic characters, numbers, and the underscore (_). Variable values can be any characters, but take note of the usual quoting and syntax rules that apply for the MaxL Shell.

Changes and Enhancements

  1. You can use use MaxL to validate an existing database partition definition. To validate a partition definition, use the create partition statement with the validate only keywords at the end. The statement validates an existing partition definition; it does not re-create it. Partition definitions are always validated upon creation with the create partition statement, but validate only enables validation without re-creation.


  2. The display partition statement contains an optional advanced keyword. When the advanced keyword is used, MaxL displays full information, including areas and member mappings for local and remote pieces of partitions.


  3. MaxL displays of custom-defined functions and macros have enhanced selection criteria. With Release 6.5, you can display custom-defined functions or macros in four different ways, depending on which syntax you use in the display statement.
    • The all keyword used in the display function or display macro statement displays all custom definitions, including those registered on the application level (local) and on the system level (global).
    • The on system keywords used in the display function or display macro statement display all custom-definitions registered on the system (global), not including locally defined custom definitions. The on system selector for custom definitions is new with Release 6.5.
      Example: display function on system;
    • Specifying the function or macro name in the display function or display macro statement displays only the named custom definition.

©2004 Hyperion Solutions Corporation. All Rights Reserved.
http://www.hyperion.com