WL#6387: Define and Implement API for Tablespaces

Affects: Server-8.0   —   Status: Complete   —   Priority: Medium

This worklog specifies interfaces of the following object types:
  - Tablespace
  - Tablespace_file

For the framework class definitions see WL#7284.
NF: No user visible changes.
NOTE: lookup() operations return a valid object pointer if object was
found, or NULL otherwise.

NOTE: handling of attributes of properties and collection types
is described in WL#6380, section "Common API attribute guidelines".

NOTE: Dictionary_object, Entity_object, Weak_object are specified in
WL#7284.

NOTE: Properties is specified in WL#7284.

Tablespace
==========

The Tablespace interface represents one tablespace.

Base interfaces:
  - Dictionary_object
  - Entity_object
  - Weak_object

Members:

  * Common attributes:

    - Comment

    - Options (properties)

    - Engine name

  * SE private attributes:

    - SE private data (properties)

  * Collections:

    - Ordered collection of tablespace files (Tablespace_file).

Tablespace_file
===============

The Tablespace_file interface represents one tablespace file.

Base interfaces:
  - Weak_object

Members:

  * Common attributes:

    - File name

  * SE private attributes:

    - SE private data (properties)

  * Member of the tablespace file collection in Tablespace:

    - C++ reference to the tablespace containing this file

    - The ordinal position of the file in the tablespace