# CassTableMeta

### struct CassTableMeta

Table metadata 

### Public Functions

### void cass_table_meta_name(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*\*name, size_t \*name_length)

Gets the name of the table.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **name** – **[out]** 
  * **name_length** – **[out]** 

### [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/master/api/group.BasicTypes.md#_CPPv411cass_bool_t) cass_table_meta_is_virtual(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Determine if the table is a virtual table.

**Warning:** This function is not yet implemented.

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  cass_true is the table is virtual, otherwise cass_false 

### const [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassColumnMeta.md#_CPPv414CassColumnMeta) \*cass_table_meta_column_by_name(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*column)

Gets the column metadata for the provided column name.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **column** – 
* **Returns:**
  The metadata for a column. NULL if column does not exist. 

### const [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassColumnMeta.md#_CPPv414CassColumnMeta) \*cass_table_meta_column_by_name_n(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*column, size_t column_length)

Same as [cass_table_meta_column_by_name()](#struct_cass_table_meta_1a02d820b4ade3e2092d5ef2d485cee01f), but with lengths for string parameters.

#### SEE ALSO
[cass_table_meta_column_by_name()](#struct_cass_table_meta_1a02d820b4ade3e2092d5ef2d485cee01f)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **column** – **[in]** 
  * **column_length** – **[in]** 
* **Returns:**
  same as [cass_table_meta_column_by_name()](#struct_cass_table_meta_1a02d820b4ade3e2092d5ef2d485cee01f)

### size_t cass_table_meta_column_count(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Gets the total number of columns for the table.

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  The total column count. 

### const [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassColumnMeta.md#_CPPv414CassColumnMeta) \*cass_table_meta_column(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, size_t index)

Gets the column metadata for the provided index.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  The metadata for a column. NULL returned if the index is out of range. 

### const [CassIndexMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIndexMeta.md#_CPPv413CassIndexMeta) \*cass_table_meta_index_by_name(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*index)

Gets the index metadata for the provided index name.

**Warning:** This function is not yet implemented.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – 
* **Returns:**
  The metadata for a index. NULL if index does not exist. 

### const [CassIndexMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIndexMeta.md#_CPPv413CassIndexMeta) \*cass_table_meta_index_by_name_n(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*index, size_t index_length)

Same as [cass_table_meta_index_by_name()](#struct_cass_table_meta_1a669c5091b645e85ff17db8948e72cc42), but with lengths for string parameters.

**Warning:** This function is not yet implemented.

#### SEE ALSO
[cass_table_meta_index_by_name()](#struct_cass_table_meta_1a669c5091b645e85ff17db8948e72cc42)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
  * **index_length** – **[in]** 
* **Returns:**
  same as [cass_table_meta_index_by_name()](#struct_cass_table_meta_1a669c5091b645e85ff17db8948e72cc42)

### size_t cass_table_meta_index_count(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Gets the total number of indexes for the table.

**Warning:** This function is not yet implemented.

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  The total index count. 

### const [CassIndexMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIndexMeta.md#_CPPv413CassIndexMeta) \*cass_table_meta_index(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, size_t index)

Gets the index metadata for the provided index.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  The metadata for a index. NULL returned if the index is out of range. 

### const [CassMaterializedViewMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassMaterializedViewMeta.md#_CPPv424CassMaterializedViewMeta) \*cass_table_meta_materialized_view_by_name(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*view)

Gets the materialized view metadata for the provided view name.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **view** – 
* **Returns:**
  The metadata for a view. NULL if view does not exist. 

### const [CassMaterializedViewMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassMaterializedViewMeta.md#_CPPv424CassMaterializedViewMeta) \*cass_table_meta_materialized_view_by_name_n(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*view, size_t view_length)

Same as [cass_table_meta_materialized_view_by_name()](#struct_cass_table_meta_1ad5b562062ed21db3273d2a5e1657daeb), but with lengths for string parameters.

#### SEE ALSO
[cass_table_meta_materialized_view_by_name()](#struct_cass_table_meta_1ad5b562062ed21db3273d2a5e1657daeb)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **view** – **[in]** 
  * **view_length** – **[in]** 
* **Returns:**
  same as [cass_table_meta_materialized_view_by_name()](#struct_cass_table_meta_1ad5b562062ed21db3273d2a5e1657daeb)

### size_t cass_table_meta_materialized_view_count(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Gets the total number of views for the table.

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  The total view count. 

### const [CassMaterializedViewMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassMaterializedViewMeta.md#_CPPv424CassMaterializedViewMeta) \*cass_table_meta_materialized_view(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, size_t index)

Gets the materialized view metadata for the provided index.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  The metadata for a view. NULL returned if the index is out of range. 

### size_t cass_table_meta_partition_key_count(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Gets the number of columns for the table’s partition key.

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  The count for the number of columns in the partition key. 

### const [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassColumnMeta.md#_CPPv414CassColumnMeta) \*cass_table_meta_partition_key(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, size_t index)

Gets the partition key column metadata for the provided index.

#### SEE ALSO
[cass_table_meta_partition_key_count()](#struct_cass_table_meta_1abb65433a430b4bfff6c40be8c2155a1e)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  The metadata for a column. NULL returned if the index is out of range.

### size_t cass_table_meta_clustering_key_count(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Gets the number of columns for the table’s clustering key.

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  The count for the number of columns in the clustering key. 

### const [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassColumnMeta.md#_CPPv414CassColumnMeta) \*cass_table_meta_clustering_key(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, size_t index)

Gets the clustering key column metadata for the provided index.

#### SEE ALSO
[cass_table_meta_clustering_key_count()](#struct_cass_table_meta_1a4b25446a2ca099ef43058924e2f4a7f8)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  The metadata for a column. NULL returned if the index is out of range.

### [CassClusteringOrder](https://cpp-rs-driver.docs.scylladb.com/master/api/group.Miscellaneous.md#_CPPv419CassClusteringOrder) cass_table_meta_clustering_key_order(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, size_t index)

Gets the clustering order column metadata for the provided index.

**Warning:** This function is not yet implemented.

#### SEE ALSO
[cass_table_meta_clustering_key_count()](#struct_cass_table_meta_1a4b25446a2ca099ef43058924e2f4a7f8)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  The clustering order for a column. CASS_CLUSTERING_ORDER_NONE returned if the index is out of range.

### [CassIterator](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIterator.md#_CPPv412CassIterator) \*cass_iterator_columns_from_table_meta(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Creates a new iterator for the specified table metadata. This can be used to iterate over columns.

#### SEE ALSO
cass_iterator_get_column_meta() 

#### SEE ALSO
cass_iterator_free() 

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  A new iterator that must be freed.

### [CassIterator](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIterator.md#_CPPv412CassIterator) \*cass_iterator_indexes_from_table_meta(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Creates a new iterator for the specified table metadata. This can be used to iterate over indexes.

**Warning:** This function is not yet implemented.

#### SEE ALSO
cass_iterator_get_index_meta() 

#### SEE ALSO
cass_iterator_free() 

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  A new iterator that must be freed.

### [CassIterator](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIterator.md#_CPPv412CassIterator) \*cass_iterator_materialized_views_from_table_meta(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Creates a new iterator for the specified materialized view metadata. This can be used to iterate over columns.

#### SEE ALSO
cass_iterator_get_materialized_view_meta() 

#### SEE ALSO
cass_iterator_free() 

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  A new iterator that must be freed.

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassValue.md#_CPPv49CassValue) \*cass_table_meta_field_by_name(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*name)

Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “tables” metadata table.

**Warning:** This function is not yet implemented.

* **Parameters:**
  * **table_meta** – **[in]** 
  * **name** – **[in]** 
* **Returns:**
  A metadata field value. NULL if the field does not exist. 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassValue.md#_CPPv49CassValue) \*cass_table_meta_field_by_name_n(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta, const char \*name, size_t name_length)

Same as [cass_table_meta_field_by_name()](#struct_cass_table_meta_1ad0c01583c8496294cd16fbbc8ddcf8b2), but with lengths for string parameters.

**Warning:** This function is not yet implemented.

#### SEE ALSO
[cass_table_meta_field_by_name()](#struct_cass_table_meta_1ad0c01583c8496294cd16fbbc8ddcf8b2)

* **Parameters:**
  * **table_meta** – **[in]** 
  * **name** – **[in]** 
  * **name_length** – **[in]** 
* **Returns:**
  same as [cass_table_meta_field_by_name()](#struct_cass_table_meta_1ad0c01583c8496294cd16fbbc8ddcf8b2)

### [CassIterator](https://cpp-rs-driver.docs.scylladb.com/master/api/struct.CassIterator.md#_CPPv412CassIterator) \*cass_iterator_fields_from_table_meta(const [CassTableMeta](#_CPPv413CassTableMeta) \*table_meta)

Creates a new fields iterator for the specified table metadata. Metadata fields allow direct access to the column data found in the underlying “tables” metadata table. This can be used to iterate those metadata field entries.

**Warning:** This function is not yet implemented.

#### SEE ALSO
cass_iterator_get_meta_field_name() 

#### SEE ALSO
cass_iterator_get_meta_field_value() 

#### SEE ALSO
cass_iterator_free() 

* **Parameters:**
  **table_meta** – **[in]** 
* **Returns:**
  A new iterator that must be freed.
