Ydb.Table.CreateTableRequest
*/
class CreateTableRequest extends \Google\Protobuf\Internal\Message
{
/**
* Session identifier
*
* Generated from protobuf field string session_id = 1;
*/
protected $session_id = '';
/**
* Full path
*
* Generated from protobuf field string path = 2;
*/
protected $path = '';
/**
* Columns (name, type)
*
* Generated from protobuf field repeated .Ydb.Table.ColumnMeta columns = 3;
*/
private $columns;
/**
* List of columns used as primary key
*
* Generated from protobuf field repeated string primary_key = 4;
*/
private $primary_key;
/**
* Table profile
*
* Generated from protobuf field .Ydb.Table.TableProfile profile = 5;
*/
protected $profile = null;
/**
* Generated from protobuf field .Ydb.Operations.OperationParams operation_params = 6;
*/
protected $operation_params = null;
/**
* List of secondary indexes
*
* Generated from protobuf field repeated .Ydb.Table.TableIndex indexes = 7;
*/
private $indexes;
/**
* Table rows time to live settings
*
* Generated from protobuf field .Ydb.Table.TtlSettings ttl_settings = 8;
*/
protected $ttl_settings = null;
/**
* Storage settings for table
*
* Generated from protobuf field .Ydb.Table.StorageSettings storage_settings = 9;
*/
protected $storage_settings = null;
/**
* Column families
*
* Generated from protobuf field repeated .Ydb.Table.ColumnFamily column_families = 10;
*/
private $column_families;
/**
* Attributes. Total size is limited to 10 KB.
*
* Generated from protobuf field map attributes = 11 [(.Ydb.length) = {
*/
private $attributes;
/**
* Predefined named set of settings for table compaction ["default", "small_table", "log_table"].
*
* Generated from protobuf field string compaction_policy = 12;
*/
protected $compaction_policy = '';
/**
* Partitioning settings for table
*
* Generated from protobuf field .Ydb.Table.PartitioningSettings partitioning_settings = 15;
*/
protected $partitioning_settings = null;
/**
* Bloom filter by key
*
* Generated from protobuf field .Ydb.FeatureFlag.Status key_bloom_filter = 16;
*/
protected $key_bloom_filter = 0;
/**
* Read replicas settings for table
*
* Generated from protobuf field .Ydb.Table.ReadReplicasSettings read_replicas_settings = 17;
*/
protected $read_replicas_settings = null;
protected $partitions;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $session_id
* Session identifier
* @type string $path
* Full path
* @type array<\Ydb\Table\ColumnMeta>|\Google\Protobuf\Internal\RepeatedField $columns
* Columns (name, type)
* @type array|\Google\Protobuf\Internal\RepeatedField $primary_key
* List of columns used as primary key
* @type \Ydb\Table\TableProfile $profile
* Table profile
* @type \Ydb\Operations\OperationParams $operation_params
* @type array<\Ydb\Table\TableIndex>|\Google\Protobuf\Internal\RepeatedField $indexes
* List of secondary indexes
* @type \Ydb\Table\TtlSettings $ttl_settings
* Table rows time to live settings
* @type \Ydb\Table\StorageSettings $storage_settings
* Storage settings for table
* @type array<\Ydb\Table\ColumnFamily>|\Google\Protobuf\Internal\RepeatedField $column_families
* Column families
* @type array|\Google\Protobuf\Internal\MapField $attributes
* Attributes. Total size is limited to 10 KB.
* @type string $compaction_policy
* Predefined named set of settings for table compaction ["default", "small_table", "log_table"].
* @type int|string $uniform_partitions
* Enable uniform partitioning using given partitions count.
* The first components of primary key must have Uint32/Uint64 type.
* @type \Ydb\Table\ExplicitPartitions $partition_at_keys
* Explicitly specify key values which are used as borders for created partitions.
* @type \Ydb\Table\PartitioningSettings $partitioning_settings
* Partitioning settings for table
* @type int $key_bloom_filter
* Bloom filter by key
* @type \Ydb\Table\ReadReplicasSettings $read_replicas_settings
* Read replicas settings for table
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Protos\YdbTable::initOnce();
parent::__construct($data);
}
/**
* Session identifier
*
* Generated from protobuf field string session_id = 1;
* @return string
*/
public function getSessionId()
{
return $this->session_id;
}
/**
* Session identifier
*
* Generated from protobuf field string session_id = 1;
* @param string $var
* @return $this
*/
public function setSessionId($var)
{
GPBUtil::checkString($var, True);
$this->session_id = $var;
return $this;
}
/**
* Full path
*
* Generated from protobuf field string path = 2;
* @return string
*/
public function getPath()
{
return $this->path;
}
/**
* Full path
*
* Generated from protobuf field string path = 2;
* @param string $var
* @return $this
*/
public function setPath($var)
{
GPBUtil::checkString($var, True);
$this->path = $var;
return $this;
}
/**
* Columns (name, type)
*
* Generated from protobuf field repeated .Ydb.Table.ColumnMeta columns = 3;
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getColumns()
{
return $this->columns;
}
/**
* Columns (name, type)
*
* Generated from protobuf field repeated .Ydb.Table.ColumnMeta columns = 3;
* @param array<\Ydb\Table\ColumnMeta>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setColumns($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Ydb\Table\ColumnMeta::class);
$this->columns = $arr;
return $this;
}
/**
* List of columns used as primary key
*
* Generated from protobuf field repeated string primary_key = 4;
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getPrimaryKey()
{
return $this->primary_key;
}
/**
* List of columns used as primary key
*
* Generated from protobuf field repeated string primary_key = 4;
* @param array|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setPrimaryKey($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
$this->primary_key = $arr;
return $this;
}
/**
* Table profile
*
* Generated from protobuf field .Ydb.Table.TableProfile profile = 5;
* @return \Ydb\Table\TableProfile|null
*/
public function getProfile()
{
return $this->profile;
}
public function hasProfile()
{
return isset($this->profile);
}
public function clearProfile()
{
unset($this->profile);
}
/**
* Table profile
*
* Generated from protobuf field .Ydb.Table.TableProfile profile = 5;
* @param \Ydb\Table\TableProfile $var
* @return $this
*/
public function setProfile($var)
{
GPBUtil::checkMessage($var, \Ydb\Table\TableProfile::class);
$this->profile = $var;
return $this;
}
/**
* Generated from protobuf field .Ydb.Operations.OperationParams operation_params = 6;
* @return \Ydb\Operations\OperationParams|null
*/
public function getOperationParams()
{
return $this->operation_params;
}
public function hasOperationParams()
{
return isset($this->operation_params);
}
public function clearOperationParams()
{
unset($this->operation_params);
}
/**
* Generated from protobuf field .Ydb.Operations.OperationParams operation_params = 6;
* @param \Ydb\Operations\OperationParams $var
* @return $this
*/
public function setOperationParams($var)
{
GPBUtil::checkMessage($var, \Ydb\Operations\OperationParams::class);
$this->operation_params = $var;
return $this;
}
/**
* List of secondary indexes
*
* Generated from protobuf field repeated .Ydb.Table.TableIndex indexes = 7;
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getIndexes()
{
return $this->indexes;
}
/**
* List of secondary indexes
*
* Generated from protobuf field repeated .Ydb.Table.TableIndex indexes = 7;
* @param array<\Ydb\Table\TableIndex>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setIndexes($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Ydb\Table\TableIndex::class);
$this->indexes = $arr;
return $this;
}
/**
* Table rows time to live settings
*
* Generated from protobuf field .Ydb.Table.TtlSettings ttl_settings = 8;
* @return \Ydb\Table\TtlSettings|null
*/
public function getTtlSettings()
{
return $this->ttl_settings;
}
public function hasTtlSettings()
{
return isset($this->ttl_settings);
}
public function clearTtlSettings()
{
unset($this->ttl_settings);
}
/**
* Table rows time to live settings
*
* Generated from protobuf field .Ydb.Table.TtlSettings ttl_settings = 8;
* @param \Ydb\Table\TtlSettings $var
* @return $this
*/
public function setTtlSettings($var)
{
GPBUtil::checkMessage($var, \Ydb\Table\TtlSettings::class);
$this->ttl_settings = $var;
return $this;
}
/**
* Storage settings for table
*
* Generated from protobuf field .Ydb.Table.StorageSettings storage_settings = 9;
* @return \Ydb\Table\StorageSettings|null
*/
public function getStorageSettings()
{
return $this->storage_settings;
}
public function hasStorageSettings()
{
return isset($this->storage_settings);
}
public function clearStorageSettings()
{
unset($this->storage_settings);
}
/**
* Storage settings for table
*
* Generated from protobuf field .Ydb.Table.StorageSettings storage_settings = 9;
* @param \Ydb\Table\StorageSettings $var
* @return $this
*/
public function setStorageSettings($var)
{
GPBUtil::checkMessage($var, \Ydb\Table\StorageSettings::class);
$this->storage_settings = $var;
return $this;
}
/**
* Column families
*
* Generated from protobuf field repeated .Ydb.Table.ColumnFamily column_families = 10;
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getColumnFamilies()
{
return $this->column_families;
}
/**
* Column families
*
* Generated from protobuf field repeated .Ydb.Table.ColumnFamily column_families = 10;
* @param array<\Ydb\Table\ColumnFamily>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setColumnFamilies($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Ydb\Table\ColumnFamily::class);
$this->column_families = $arr;
return $this;
}
/**
* Attributes. Total size is limited to 10 KB.
*
* Generated from protobuf field map attributes = 11 [(.Ydb.length) = {
* @return \Google\Protobuf\Internal\MapField
*/
public function getAttributes()
{
return $this->attributes;
}
/**
* Attributes. Total size is limited to 10 KB.
*
* Generated from protobuf field map attributes = 11 [(.Ydb.length) = {
* @param array|\Google\Protobuf\Internal\MapField $var
* @return $this
*/
public function setAttributes($var)
{
$arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING);
$this->attributes = $arr;
return $this;
}
/**
* Predefined named set of settings for table compaction ["default", "small_table", "log_table"].
*
* Generated from protobuf field string compaction_policy = 12;
* @return string
*/
public function getCompactionPolicy()
{
return $this->compaction_policy;
}
/**
* Predefined named set of settings for table compaction ["default", "small_table", "log_table"].
*
* Generated from protobuf field string compaction_policy = 12;
* @param string $var
* @return $this
*/
public function setCompactionPolicy($var)
{
GPBUtil::checkString($var, True);
$this->compaction_policy = $var;
return $this;
}
/**
* Enable uniform partitioning using given partitions count.
* The first components of primary key must have Uint32/Uint64 type.
*
* Generated from protobuf field uint64 uniform_partitions = 13;
* @return int|string
*/
public function getUniformPartitions()
{
return $this->readOneof(13);
}
public function hasUniformPartitions()
{
return $this->hasOneof(13);
}
/**
* Enable uniform partitioning using given partitions count.
* The first components of primary key must have Uint32/Uint64 type.
*
* Generated from protobuf field uint64 uniform_partitions = 13;
* @param int|string $var
* @return $this
*/
public function setUniformPartitions($var)
{
GPBUtil::checkUint64($var);
$this->writeOneof(13, $var);
return $this;
}
/**
* Explicitly specify key values which are used as borders for created partitions.
*
* Generated from protobuf field .Ydb.Table.ExplicitPartitions partition_at_keys = 14;
* @return \Ydb\Table\ExplicitPartitions|null
*/
public function getPartitionAtKeys()
{
return $this->readOneof(14);
}
public function hasPartitionAtKeys()
{
return $this->hasOneof(14);
}
/**
* Explicitly specify key values which are used as borders for created partitions.
*
* Generated from protobuf field .Ydb.Table.ExplicitPartitions partition_at_keys = 14;
* @param \Ydb\Table\ExplicitPartitions $var
* @return $this
*/
public function setPartitionAtKeys($var)
{
GPBUtil::checkMessage($var, \Ydb\Table\ExplicitPartitions::class);
$this->writeOneof(14, $var);
return $this;
}
/**
* Partitioning settings for table
*
* Generated from protobuf field .Ydb.Table.PartitioningSettings partitioning_settings = 15;
* @return \Ydb\Table\PartitioningSettings|null
*/
public function getPartitioningSettings()
{
return $this->partitioning_settings;
}
public function hasPartitioningSettings()
{
return isset($this->partitioning_settings);
}
public function clearPartitioningSettings()
{
unset($this->partitioning_settings);
}
/**
* Partitioning settings for table
*
* Generated from protobuf field .Ydb.Table.PartitioningSettings partitioning_settings = 15;
* @param \Ydb\Table\PartitioningSettings $var
* @return $this
*/
public function setPartitioningSettings($var)
{
GPBUtil::checkMessage($var, \Ydb\Table\PartitioningSettings::class);
$this->partitioning_settings = $var;
return $this;
}
/**
* Bloom filter by key
*
* Generated from protobuf field .Ydb.FeatureFlag.Status key_bloom_filter = 16;
* @return int
*/
public function getKeyBloomFilter()
{
return $this->key_bloom_filter;
}
/**
* Bloom filter by key
*
* Generated from protobuf field .Ydb.FeatureFlag.Status key_bloom_filter = 16;
* @param int $var
* @return $this
*/
public function setKeyBloomFilter($var)
{
GPBUtil::checkEnum($var, \Ydb\FeatureFlag\Status::class);
$this->key_bloom_filter = $var;
return $this;
}
/**
* Read replicas settings for table
*
* Generated from protobuf field .Ydb.Table.ReadReplicasSettings read_replicas_settings = 17;
* @return \Ydb\Table\ReadReplicasSettings|null
*/
public function getReadReplicasSettings()
{
return $this->read_replicas_settings;
}
public function hasReadReplicasSettings()
{
return isset($this->read_replicas_settings);
}
public function clearReadReplicasSettings()
{
unset($this->read_replicas_settings);
}
/**
* Read replicas settings for table
*
* Generated from protobuf field .Ydb.Table.ReadReplicasSettings read_replicas_settings = 17;
* @param \Ydb\Table\ReadReplicasSettings $var
* @return $this
*/
public function setReadReplicasSettings($var)
{
GPBUtil::checkMessage($var, \Ydb\Table\ReadReplicasSettings::class);
$this->read_replicas_settings = $var;
return $this;
}
/**
* @return string
*/
public function getPartitions()
{
return $this->whichOneof("partitions");
}
}