> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TableCreationOptions

> TableCreationOptions — Kinetica Rust API

[gpudb\_api](https://docs.kinetica.com/content/api/rust/index.md)::<wbr />[filesystem](https://docs.kinetica.com/content/api/rust/filesystem/index.md)
[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L539-L553)&#x20;

<pre>`pub struct TableCreationOptions { /* private fields */ }`</pre>

Options for the table an ingest creates: the create table options of `/insert/records/fromfiles`.Each setter sets its option as well as its value; an option without a setter can be given with [`set_option`](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions#method.set_option).

## Implementations

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L555-L705)
impl [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L557-L559)
pub fn [new](#method.new)() -> Self

Options with nothing set.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L561-L563)
pub fn [type\_id](#method.type_id)(\&self) -> [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<&[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html)>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L565-L569)
pub fn [set\_type\_id](#method.set_type_id)(\&mut self, type\_id: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html)) -> \&mut Self

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L571-L573)
pub fn [is\_no\_error\_if\_exists](#method.is_no_error_if_exists)(\&self) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L575-L579)
pub fn [set\_no\_error\_if\_exists](#method.set_no_error_if_exists)(\&mut self, no\_error\_if\_exists: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)) -> \&mut Self

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L581-L583)
pub fn [is\_replicated](#method.is_replicated)(\&self) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L586-L590)
pub fn [set\_replicated](#method.set_replicated)(\&mut self, replicated: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)) -> \&mut Self

Sets whether the table is replicated.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L592-L594)
pub fn [foreign\_keys](#method.foreign_keys)(\&self) -> [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<&\[[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)]>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L598-L606)
pub fn [set\_foreign\_keys](#method.set_foreign_keys)(\&mut self, foreign\_keys: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>) -> \&mut Self

Sets the foreign keys, sent joined by commas; an empty list is ignored, with a warning.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L608-L610)
pub fn [foreign\_shard\_key](#method.foreign_shard_key)(\&self) -> [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<&[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html)>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L613-L621)
pub fn [set\_foreign\_shard\_key](#method.set_foreign_shard_key)(\&mut self, foreign\_shard\_key: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html)) -> \&mut Self

Sets the foreign shard key; an empty one is ignored, with a warning.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L623-L625)
pub fn [partition\_type](#method.partition_type)(\&self) -> [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[PartitionType](https://docs.kinetica.com/content/api/rust/filesystem/enum.PartitionType.md)>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L627-L631)
pub fn [set\_partition\_type](#method.set_partition_type)(\&mut self, partition\_type: [PartitionType](https://docs.kinetica.com/content/api/rust/filesystem/enum.PartitionType.md)) -> \&mut Self

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L633-L635)
pub fn [partition\_keys](#method.partition_keys)(\&self) -> [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<&\[[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)]>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L639-L647)
pub fn [set\_partition\_keys](#method.set_partition_keys)(\&mut self, partition\_keys: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>) -> \&mut Self

Sets the partition keys, sent joined by commas; an empty list is ignored, with a warning.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L649-L651)
pub fn [partition\_definitions](#method.partition_definitions)(\&self) -> [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<&\[[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)]>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L655-L663)
pub fn [set\_partition\_definitions](#method.set_partition_definitions)( \&mut self, partition\_definitions: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> \&mut Self

Sets the partition definitions, sent joined by commas; an empty list is ignored, with a warning.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L665-L667)
pub fn [is\_automatic\_partition](#method.is_automatic_partition)(\&self) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L669-L673)
pub fn [set\_automatic\_partition](#method.set_automatic_partition)( \&mut self, automatic\_partition: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html), ) -> \&mut Self

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L675-L677)
pub fn [ttl](#method.ttl)(\&self) -> [i32](https://doc.rust-lang.org/1.98.1/std/primitive.i32.html)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L679-L683)
pub fn [set\_ttl](#method.set_ttl)(\&mut self, ttl: [i32](https://doc.rust-lang.org/1.98.1/std/primitive.i32.html)) -> \&mut Self

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L685-L687)
pub fn [is\_result\_table](#method.is_result_table)(\&self) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L689-L693)
pub fn [set\_result\_table](#method.set_result_table)(\&mut self, result\_table: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)) -> \&mut Self

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L696-L699)
pub fn [set\_option](#method.set_option)(\&mut self, key: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), value: impl [ToString](https://doc.rust-lang.org/1.98.1/alloc/string/trait.ToString.html)) -> \&mut Self

Sets any option, by name, over what the setters set.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L702-L704)
pub fn [options](#method.options)(\&self) -> [HashMap](https://doc.rust-lang.org/1.98.1/std/collections/hash/map/struct.HashMap.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>

The options to send.

## Trait Implementations

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
impl [Clone](https://doc.rust-lang.org/1.98.1/core/clone/trait.Clone.html) for [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
fn [clone](https://doc.rust-lang.org/1.98.1/core/clone/trait.Clone.html#tymethod.clone)(\&self) -> [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

Returns a duplicate of the value. [Read more](https://doc.rust-lang.org/1.98.1/core/clone/trait.Clone.html#tymethod.clone)

1.0.0 (const: [unstable](https://github.com/rust-lang/rust/issues/142757)) · [Source](https://doc.rust-lang.org/1.98.1/src/core/clone.rs.html#245-247)
fn [clone\_from](https://doc.rust-lang.org/1.98.1/core/clone/trait.Clone.html#method.clone_from)(\&mut self, source: \&Self)

Performs copy-assignment from `source`. [Read more](https://doc.rust-lang.org/1.98.1/core/clone/trait.Clone.html#method.clone_from)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
impl [Debug](https://doc.rust-lang.org/1.98.1/core/fmt/trait.Debug.html) for [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
fn [fmt](https://doc.rust-lang.org/1.98.1/core/fmt/trait.Debug.html#tymethod.fmt)(\&self, f: \&mut [Formatter](https://doc.rust-lang.org/1.98.1/core/fmt/struct.Formatter.html)\<'\_>) -> [Result](https://doc.rust-lang.org/1.98.1/core/fmt/type.Result.html)

Formats the value using the given formatter. [Read more](https://doc.rust-lang.org/1.98.1/core/fmt/trait.Debug.html#tymethod.fmt)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
impl [Default](https://doc.rust-lang.org/1.98.1/core/default/trait.Default.html) for [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
fn [default](https://doc.rust-lang.org/1.98.1/core/default/trait.Default.html#tymethod.default)() -> [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

Returns the “default value” for a type. [Read more](https://doc.rust-lang.org/1.98.1/core/default/trait.Default.html#tymethod.default)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
impl [Eq](https://doc.rust-lang.org/1.98.1/core/cmp/trait.Eq.html) for [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
impl [PartialEq](https://doc.rust-lang.org/1.98.1/core/cmp/trait.PartialEq.html) for [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
fn [eq](https://doc.rust-lang.org/1.98.1/core/cmp/trait.PartialEq.html#tymethod.eq)(\&self, other: &[TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

Tests for `self` and `other` values to be equal, and is used by `==`.

1.0.0 (const: [unstable](https://github.com/rust-lang/rust/issues/143800)) · [Source](https://doc.rust-lang.org/1.98.1/src/core/cmp.rs.html#263)
fn [ne](https://doc.rust-lang.org/1.98.1/core/cmp/trait.PartialEq.html#method.ne)(\&self, other: [\&Rhs](https://doc.rust-lang.org/1.98.1/std/primitive.reference.html)) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

Tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/ingest.rs#L538)
impl [StructuralPartialEq](https://doc.rust-lang.org/1.98.1/core/marker/trait.StructuralPartialEq.html) for [TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.