WL#7630: Define and Implement API for Table Partition Info

Affects: Server-8.0   —   Status: Complete

The goal of this WL is to define and implement API's
to store table partition information in following
new DD tables.

- table_partitions
- table_partition_values
- index_partitions

The structure of these DD tables are defined in WL#6379.

These API should use common DD API's implemented as part of
WL#7284, which provide basic read and write interface
to above three DD tables.

This worklog specifies interfaces of the following object types:
  - Partition
  - Partition_value
  - Partition_index

For the framework class definitions see WL#7284.
F1. The update_time must be persisted for individual Partitions. 
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.

Partition
=========

Members:

  * Common attributes:

    - Partition level

    - Partition number

    - Comment

    - Options (properties)

  * SE private attributes:

    - SE private data (properties)

    - SE private partition id

  * Collections:

    - Unordered collection of partition indexes (Partition_index)

    - Unordered collection of partition values (Partition_value)

  * Member of the partition collection in Table:

    - C++ reference to the table containing this partition

    - Operation to drop the partition

Partition_index
===============

Members:

  * Common attributes:

    - Options (properties)

  * References:

    - C++ reference to the corresponding table index

    - Weak reference to the corresponding tablespace

  * SE private attributes:

    - SE private data (properties)

    - SE private partition id

  * Member of the partition-index collection in Partition:

    - C++ reference to the parent partition

    - Operation to drop the partition index

Partition_value
===============

Members:

  * Common attributes:

    - List number

    - Column number

    - String value

    - Max value flag

  * Member of the partition-value collection in Partition:

    - C++ reference to the parent partition

    - Operation to drop the partition value