kudu::client::KuduTableAlterer Class Reference
Alters an existing table based on the provided steps.
More...
#include <client.h>
List of all members.
Detailed Description
Alters an existing table based on the provided steps.
Create a new instance of a table alterer using KuduClient::NewTableAlterer(). An example of usage:
std::unique_ptr<KuduTableAlterer> alterer(
client->NewTableAlterer("table-name"));
alterer->AddColumn("foo")->Type(KuduColumnSchema::INT32)->NotNull();
alterer->AlterColumn("bar")->Compression(KuduColumnStorageAttributes::LZ4);
Status s = alterer->Alter();
Member Function Documentation
KuduColumnSpec* kudu::client::KuduTableAlterer::AddColumn |
( |
const std::string & |
name |
) |
|
Add a new column to the table.
When adding a column, you must specify the default value of the new column using KuduColumnSpec::DefaultValue(...).
- Parameters:
-
| name | Name of the column do add. |
- Returns:
- Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object.
Add a range partition to the table with the specified lower bound and upper bound.
- Note:
- The table alterer takes ownership of the rows.
-
Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.
-
This client may immediately write and scan the new tablets when Alter() returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to one hour.
- Parameters:
-
[in] | lower_bound | The lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. |
[in] | upper_bound | The upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. |
[in] | lower_bound_type | The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. |
[in] | upper_bound_type | The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. |
- Returns:
- Raw pointer to this alterer object.
Status kudu::client::KuduTableAlterer::Alter |
( |
|
) |
|
- Returns:
- Status of the ALTER TABLE operation. The return value may indicate an error in the alter operation, or a misuse of the builder (e.g. add_column() with default_value=NULL). In the latter case, only the last error is returned.
KuduColumnSpec* kudu::client::KuduTableAlterer::AlterColumn |
( |
const std::string & |
name |
) |
|
Alter an existing column.
- Note:
- The column may not be in the primary key.
- Parameters:
-
[in] | name | Name of the column to alter. |
- Returns:
- Pointer to the result ColumnSpec object. The alterer keeps owhership of the newly created object.
KuduTableAlterer* kudu::client::KuduTableAlterer::DropColumn |
( |
const std::string & |
name |
) |
|
Drops an existing column from the table.
- Note:
- The column may not be in the primary key.
- Parameters:
-
[in] | name | Name of the column to alter. |
- Returns:
- Raw pointer to this alterer object.
Drop the range partition from the table with the specified lower bound and upper bound. The bounds must match an existing range partition exactly, and may not span multiple range partitions.
- Note:
- The table alterer takes ownership of the rows.
-
Multiple range partitions may be dropped as part of a single alter table transaction by calling this method multiple times on the table alterer.
- Parameters:
-
[in] | lower_bound | The inclusive lower bound of the range partition to drop. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. |
[in] | upper_bound | The exclusive upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. |
[in] | lower_bound_type | The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. |
[in] | upper_bound_type | The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. |
- Returns:
- Raw pointer to this alterer object.
KuduTableAlterer* kudu::client::KuduTableAlterer::RenameTo |
( |
const std::string & |
new_name |
) |
|
Rename the table.
- Parameters:
-
[in] | new_name | The new name for the table. |
- Returns:
- Raw pointer to this alterer object.
Set a timeout for the alteration operation.
This includes any waiting after the alter has been submitted (i.e. if the alter is slow to be performed on a large table, it may time out and then later be successful).
- Parameters:
-
[in] | timeout | Timeout to set. |
- Returns:
- Raw pointer to this alterer object.
Whether to wait for completion of alteration operations.
If set to true
, an alteration operation returns control only after the operation is complete. Otherwise, every operation returns immediately. By default (i.e. when an alteration object is created) it is set to true
.
- Parameters:
-
[in] | wait | Whether to wait for alteration operation to complete before returning control. |
- Returns:
- Raw pointer to this alterer object.
The documentation for this class was generated from the following file: