> ## 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.

# CreateTypeRequest

> CreateTypeRequest — Kinetica Java API

<div className="kinetica-javadoc">
  <div className="header">
    <div className="sub-title"><span className="package-label-in-type">Package</span> <a href="/content/api/java/com/gpudb/protocol/package-summary">com.gpudb.protocol</a></div>
    <h1 title="Class CreateTypeRequest" className="title">Class CreateTypeRequest</h1>
  </div>

  <div className="inheritance" title="Inheritance Tree">
    <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">java.lang.Object</a>
    <div className="inheritance">com.gpudb.protocol.CreateTypeRequest</div>
  </div>

  <div className="section class-description" id="class-description">
    <div className="dl notes">
      <div className="dt">All Implemented Interfaces:</div>
      <div className="dd"><code>org.apache.avro.generic.GenericContainer</code>, <code>org.apache.avro.generic.IndexedRecord</code></div>
    </div>

    <hr />

    <div className="type-signature"><span className="modifiers">public class </span><span className="element-name type-name-label">CreateTypeRequest</span> <span className="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> implements org.apache.avro.generic.IndexedRecord</span></div>

    <div className="block">
      A set of parameters for <a href="/content/api/java/com/gpudb/GPUdb#createType(com.gpudb.protocol.CreateTypeRequest)"><code>GPUdb.createType</code></a>.
      <p> Creates a new type describing the columns of a table. The type definition is specified as a list of columns, each specified as a list of the column name, data type, and any column attributes. </p>
      <p> Example of a type definition with some parameters: </p>
      <pre>     \[<br />         \["id", "int8", "primary\_key"],<br />         \["dept\_id", "int8", "primary\_key", "shard\_key"],<br />         \["manager\_id", "int8", "nullable"],<br />         \["first\_name", "char32"],<br />         \["last\_name", "char64"],<br />         \["salary", "decimal"],<br />         \["hire\_date", "date"]<br />     ]<br /> </pre>
      Each column definition consists of the column name (which should meet the standard <a href="/content/concepts/tables/#table-naming-criteria" target="_top">column naming criteria</a>), the column's <a href="/content/concepts/types/#types-chart" target="_top">specific type</a> (int, long, float, double, string, bytes, or any of the possible values for <a href="#getProperties()"><code>properties</code></a>), and any <a href="/content/concepts/types/#types-data-handling" target="_top">data handling</a>, <a href="/content/concepts/types/#types-data-keys" target="_top">data key</a>, or <a href="/content/concepts/types/#types-data-replace" target="_top">data replacement</a> properties.
      <p> Note that some properties are mutually exclusive--i.e. they cannot be specified for any given column simultaneously. One example of mutually exclusive properties are <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#PRIMARY_KEY"><code>PRIMARY\_KEY</code></a> and <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#NULLABLE"><code>NULLABLE</code></a>. </p>
      <p> A single <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a> and/or single <a href="/content/concepts/tables/#shard-keys" target="_top">shard key</a> can be set across one or more columns. If a primary key is specified, then a uniqueness constraint is enforced, in that only a single object can exist with a given primary key column value (or set of values for the key columns, if using a composite primary key). When <a href="/content/api/java/com/gpudb/GPUdb#insertRecords(com.gpudb.protocol.InsertRecordsRequest)"><code>inserting</code></a> data into a table with a primary key, depending on the parameters in the request, incoming objects with primary key values that match existing objects will either overwrite (i.e. update) the existing object or will be skipped and not added into the set.</p>
    </div>
  </div>

  <div className="section summary">
    <ul className="summary-list">
      <li>
        <div className="section nested-class-summary" id="nested-class-summary">
          <h2>Nested Class Summary</h2>
          <div className="caption"><span>Nested Classes</span></div>

          <div className="summary-table three-column-summary">
            <div className="table-header col-first">Modifier and Type</div>
            <div className="table-header col-second">Class</div>
            <div className="table-header col-last">Description</div>
            <div className="col-first even-row-color"><code>static final class </code></div>
            <div className="col-second even-row-color"><code><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Options" className="type-name-link" title="class in com.gpudb.protocol">CreateTypeRequest.Options</a></code></div>

            <div className="col-last even-row-color">
              <div className="block">A set of string constants for the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol"><code>CreateTypeRequest</code></a> parameter <a href="#getOptions()"><code>options</code></a>.</div>
            </div>

            <div className="col-first odd-row-color"><code>static final class </code></div>
            <div className="col-second odd-row-color"><code><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties" className="type-name-link" title="class in com.gpudb.protocol">CreateTypeRequest.Properties</a></code></div>

            <div className="col-last odd-row-color">
              <div className="block">A set of string constants for the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol"><code>CreateTypeRequest</code></a> parameter <a href="#getProperties()"><code>properties</code></a>.</div>
            </div>
          </div>
        </div>
      </li>

      <li>
        <div className="section constructor-summary" id="constructor-summary">
          <h2>Constructor Summary</h2>
          <div className="caption"><span>Constructors</span></div>

          <div className="summary-table two-column-summary">
            <div className="table-header col-first">Constructor</div>
            <div className="table-header col-last">Description</div>
            <div className="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" className="member-name-link">CreateTypeRequest</a>()</code></div>

            <div className="col-last even-row-color">
              <div className="block">Constructs a CreateTypeRequest object with default parameters.</div>
            </div>

            <div className="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.util.Map,java.util.Map)" className="member-name-link">CreateTypeRequest</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeDefinition, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>> properties, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> options)</code></div>

            <div className="col-last odd-row-color">
              <div className="block">Constructs a CreateTypeRequest object with the specified parameters.</div>
            </div>
          </div>
        </div>
      </li>

      <li>
        <div className="section method-summary" id="method-summary">
          <h2>Method Summary</h2>

          <div id="method-summary-table">
            <div className="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabIndex="0" className="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabIndex="-1" className="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabIndex="-1" className="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabIndex="-1" className="table-tab">Concrete Methods</button></div>

            <div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
              <div className="summary-table three-column-summary">
                <div className="table-header col-first">Modifier and Type</div>
                <div className="table-header col-second">Method</div>
                <div className="table-header col-last">Description</div>
                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" className="member-name-link">equals</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> obj)</code></div>
                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get(int)" className="member-name-link">get</a><wbr />(int index)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.apache.avro.Schema</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getClassSchema()" className="member-name-link">getClassSchema</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
                  <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLabel()" className="member-name-link">getLabel</a>()</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a><wbr />\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOptions()" className="member-name-link">getOptions</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Optional parameters.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a><wbr />\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getProperties()" className="member-name-link">getProperties</a>()</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">\[DEPRECATED--please use these property values in the <a href="#getTypeDefinition()"><code>typeDefinition</code></a> directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.avro.Schema</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSchema()" className="member-name-link">getSchema</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTypeDefinition()" className="member-name-link">getTypeDefinition</a>()</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">JSON string defining the columns of the type to be registered, as described above.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" className="member-name-link">hashCode</a>()</code></div>
                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#put(int,java.lang.Object)" className="member-name-link">put</a><wbr />(int index, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> value)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLabel(java.lang.String)" className="member-name-link">setLabel</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOptions(java.util.Map)" className="member-name-link">setOptions</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> options)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Optional parameters.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setProperties(java.util.Map)" className="member-name-link">setProperties</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>> properties)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">\[DEPRECATED--please use these property values in the <a href="#getTypeDefinition()"><code>typeDefinition</code></a> directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTypeDefinition(java.lang.String)" className="member-name-link">setTypeDefinition</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeDefinition)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">JSON string defining the columns of the type to be registered, as described above.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" className="member-name-link">toString</a>()</code></div>
                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
              </div>
            </div>
          </div>

          <div className="inherited-list">
            <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></h3>
            <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" className="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" className="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" className="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" className="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" className="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" className="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" className="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" className="external-link">wait</a></code>
          </div>
        </div>
      </li>
    </ul>
  </div>

  <div className="section details">
    <ul className="details-list">
      <li>
        <div className="section constructor-details" id="constructor-detail">
          <h2>Constructor Details</h2>

          <ul className="member-list">
            <li>
              <div className="section detail" id="<init>()">
                <h3>CreateTypeRequest</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">CreateTypeRequest</span>()</div>
                <div className="block">Constructs a CreateTypeRequest object with default parameters.</div>
              </div>
            </li>

            <li>
              <div className="section detail" id="<init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map)">
                <h3>CreateTypeRequest</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">CreateTypeRequest</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeDefinition, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>> properties, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> options)</span></div>
                <div className="block">Constructs a CreateTypeRequest object with the specified parameters.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>typeDefinition</code> - JSON string defining the columns of the type to be registered, as described above.</div>
                  <div className="dd"><code>label</code> - A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.</div>

                  <div className="dd">
                    <code>properties</code> - \[DEPRECATED--please use these property values in the <code>typeDefinition</code> directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name. All keys used must be relevant column names for the given table. Specifying any property overrides the default properties for that column (which is based on the column's data type). Valid values are:

                    <ul>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATA"><code>DATA</code></a>: Default property for all numeric and string type columns; makes the column available for GPU queries. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a>: Valid only for select 'string' columns. Enables full text search--see <a href="/content/concepts/full_text_search/" target="_top">Full Text Search</a> for details and applicable string column types. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TIMESTAMP"><code>TIMESTAMP</code></a>: Valid only for 'long' columns. Indicates that this field represents a timestamp and will be provided in milliseconds since the Unix epoch: 00:00:00 Jan 1 1970. Dates represented by a timestamp must fall between the year 1000 and the year 2900. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#ULONG"><code>ULONG</code></a>: Valid only for 'string' columns. It represents an unsigned long integer data type. The string can only be interpreted as an unsigned long data type with minimum value of zero, and maximum value of 18446744073709551615. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UUID"><code>UUID</code></a>: Valid only for 'string' columns. It represents an uuid data type. Internally, it is stored as a 128-bit integer. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DECIMAL"><code>DECIMAL</code></a>: Valid only for 'string' columns. It represents a SQL type NUMERIC(19, 4) data type. There can be up to 15 digits before the decimal point and up to four digits in the fractional part. The value can be positive or negative (indicated by a minus sign at the beginning). This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATE"><code>DATE</code></a>: Valid only for 'string' columns. Indicates that this field represents a date and will be provided in the format 'YYYY-MM-DD'. The allowable range is 1000-01-01 through 2900-01-01. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TIME"><code>TIME</code></a>: Valid only for 'string' columns. Indicates that this field represents a time-of-day and will be provided in the format 'HH:MM:SS.mmm'. The allowable range is 00:00:00.000 through 23:59:59.999. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATETIME"><code>DATETIME</code></a>: Valid only for 'string' columns. Indicates that this field represents a datetime and will be provided in the format 'YYYY-MM-DD HH:MM:SS.mmm'. The allowable range is 1000-01-01 00:00:00.000 through 2900-01-01 23:59:59.999. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR1"><code>CHAR1</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 1 character. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR2"><code>CHAR2</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 2 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR4"><code>CHAR4</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 4 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR8"><code>CHAR8</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 8 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR16"><code>CHAR16</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 16 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR32"><code>CHAR32</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 32 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR64"><code>CHAR64</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 64 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR128"><code>CHAR128</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 128 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR256"><code>CHAR256</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 256 characters. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#BOOLEAN"><code>BOOLEAN</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between 0 and 1(inclusive) </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INT8"><code>INT8</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between -128 and +127 (inclusive) </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INT16"><code>INT16</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between -32768 and +32767 (inclusive) </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#IPV4"><code>IPV4</code></a>: This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1). Strings with this property must be of the form: A.B.C.D where A, B, C and D are in the range of 0-255. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#ARRAY"><code>ARRAY</code></a>: Valid only for 'string' columns. Indicates that this field contains an array. The value type and (optionally) the item count should be specified in parenthesis; e.g., 'array(int, 10)' for a 10-integer array. Both 'array(int)' and 'array(int, -1)' will designate an unlimited-length integer array, though no bounds checking is performed on arrays of any length. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#JSON"><code>JSON</code></a>: Valid only for 'string' columns. Indicates that this field contains values in JSON format. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#VECTOR"><code>VECTOR</code></a>: Valid only for 'bytes' columns. Indicates that this field contains a vector of floats. The length should be specified in parenthesis, e.g., 'vector(1000)'. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#WKT"><code>WKT</code></a>: Valid only for 'string' and 'bytes' columns. Indicates that this field contains geospatial geometry objects in Well-Known Text (WKT) or Well-Known Binary (WKB) format. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#PRIMARY_KEY"><code>PRIMARY\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#SOFT_PRIMARY_KEY"><code>SOFT\_PRIMARY\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#soft-primary-keys" target="_top">soft primary key</a>. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#SHARD_KEY"><code>SHARD\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#shard-keys" target="_top">shard key</a>. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#NULLABLE"><code>NULLABLE</code></a>: This property indicates that this column is nullable. However, setting this property is insufficient for making the column nullable. The user must declare the type of the column as a union between its regular type and 'null' in the Avro schema for the record type in <code>typeDefinition</code>. For example, if a column is of type integer and is nullable, then the entry for the column in the Avro schema must be: \['int', 'null']. The C++, C#, Java, and Python APIs have built-in convenience for bypassing setting the Avro schema by hand. For those languages, one can use this property as usual and not have to worry about the Avro schema for the record. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#COMPRESS"><code>COMPRESS</code></a>: This property indicates that this column should be <a href="/content/concepts/column_compression/" target="_top">compressed</a> with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression. This property is primarily used in order to save disk space. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DICT"><code>DICT</code></a>: This property indicates that this column should be <a href="/content/concepts/dictionary_encoding/" target="_top">dictionary encoded</a>. It can only be used in conjunction with restricted string (charN), int, long or date columns. Dictionary encoding is best for columns where the cardinality (the number of unique values) is expected to be low. This property can save a large amount of memory. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INIT_WITH_NOW"><code>INIT\_WITH\_NOW</code></a>: For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INIT_WITH_UUID"><code>INIT\_WITH\_UUID</code></a>: For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UPDATE_WITH_NOW"><code>UPDATE\_WITH\_NOW</code></a>: For 'date', 'time', 'datetime', or 'timestamp' column types, update the field with 'NOW()' upon any update. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UPDATE_WITH_USER"><code>UPDATE\_WITH\_USER</code></a>: For 'charN' or 'string' column types, update the field with the current user's name upon any update. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DEFAULT"><code>DEFAULT</code></a>: Sets a default value expression for this column, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. When the column is omitted from an insert via request\_schema\_str, the expression is evaluated and the result is used as the column value. </li>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DEFAULT_SQL"><code>DEFAULT\_SQL</code></a>: Sets a default value expression for this column with SQL syntax, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. Only used for showing the expression when generating SQL DDL. </li>
                    </ul>

                    The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
                  </div>

                  <div className="dd">
                    <code>options</code> - Optional parameters.

                    <ul>
                      <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Options#COMPRESSION_CODEC"><code>COMPRESSION\_CODEC</code></a>: The default <a href="/content/concepts/column_compression/" target="_top">compression codec</a> for this type's columns. </li>
                    </ul>

                    The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
                  </div>
                </div>
              </div>
            </li>
          </ul>
        </div>
      </li>

      <li>
        <div className="section method-details" id="method-detail">
          <h2>Method Details</h2>

          <ul className="member-list">
            <li>
              <div className="section detail" id="getClassSchema()">
                <h3>getClassSchema</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="return-type">org.apache.avro.Schema</span> <span className="element-name">getClassSchema</span>()</div>
                <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">The schema for the class.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getTypeDefinition()">
                <h3>getTypeDefinition</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">getTypeDefinition</span>()</div>
                <div className="block">JSON string defining the columns of the type to be registered, as described above.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">The current value of <code>typeDefinition</code>.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="setTypeDefinition(java.lang.String)">
                <h3>setTypeDefinition</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></span> <span className="element-name">setTypeDefinition</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeDefinition)</span></div>
                <div className="block">JSON string defining the columns of the type to be registered, as described above.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>typeDefinition</code> - The new value for <code>typeDefinition</code>.</div>
                  <div className="dt">Returns:</div>
                  <div className="dd"><code>this</code> to mimic the builder pattern.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getLabel()">
                <h3>getLabel</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">getLabel</span>()</div>
                <div className="block">A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">The current value of <code>label</code>.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="setLabel(java.lang.String)">
                <h3>setLabel</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></span> <span className="element-name">setLabel</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label)</span></div>
                <div className="block">A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>label</code> - The new value for <code>label</code>.</div>
                  <div className="dt">Returns:</div>
                  <div className="dd"><code>this</code> to mimic the builder pattern.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getProperties()">
                <h3>getProperties</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>></span> <span className="element-name">getProperties</span>()</div>

                <div className="block">
                  \[DEPRECATED--please use these property values in the <a href="#getTypeDefinition()"><code>typeDefinition</code></a> directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name. All keys used must be relevant column names for the given table. Specifying any property overrides the default properties for that column (which is based on the column's data type). Valid values are:

                  <ul>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATA"><code>DATA</code></a>: Default property for all numeric and string type columns; makes the column available for GPU queries. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a>: Valid only for select 'string' columns. Enables full text search--see <a href="/content/concepts/full_text_search/" target="_top">Full Text Search</a> for details and applicable string column types. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TIMESTAMP"><code>TIMESTAMP</code></a>: Valid only for 'long' columns. Indicates that this field represents a timestamp and will be provided in milliseconds since the Unix epoch: 00:00:00 Jan 1 1970. Dates represented by a timestamp must fall between the year 1000 and the year 2900. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#ULONG"><code>ULONG</code></a>: Valid only for 'string' columns. It represents an unsigned long integer data type. The string can only be interpreted as an unsigned long data type with minimum value of zero, and maximum value of 18446744073709551615. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UUID"><code>UUID</code></a>: Valid only for 'string' columns. It represents an uuid data type. Internally, it is stored as a 128-bit integer. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DECIMAL"><code>DECIMAL</code></a>: Valid only for 'string' columns. It represents a SQL type NUMERIC(19, 4) data type. There can be up to 15 digits before the decimal point and up to four digits in the fractional part. The value can be positive or negative (indicated by a minus sign at the beginning). This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATE"><code>DATE</code></a>: Valid only for 'string' columns. Indicates that this field represents a date and will be provided in the format 'YYYY-MM-DD'. The allowable range is 1000-01-01 through 2900-01-01. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TIME"><code>TIME</code></a>: Valid only for 'string' columns. Indicates that this field represents a time-of-day and will be provided in the format 'HH:MM:SS.mmm'. The allowable range is 00:00:00.000 through 23:59:59.999. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATETIME"><code>DATETIME</code></a>: Valid only for 'string' columns. Indicates that this field represents a datetime and will be provided in the format 'YYYY-MM-DD HH:MM:SS.mmm'. The allowable range is 1000-01-01 00:00:00.000 through 2900-01-01 23:59:59.999. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR1"><code>CHAR1</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 1 character. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR2"><code>CHAR2</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 2 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR4"><code>CHAR4</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 4 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR8"><code>CHAR8</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 8 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR16"><code>CHAR16</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 16 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR32"><code>CHAR32</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 32 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR64"><code>CHAR64</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 64 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR128"><code>CHAR128</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 128 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR256"><code>CHAR256</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 256 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#BOOLEAN"><code>BOOLEAN</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between 0 and 1(inclusive) </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INT8"><code>INT8</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between -128 and +127 (inclusive) </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INT16"><code>INT16</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between -32768 and +32767 (inclusive) </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#IPV4"><code>IPV4</code></a>: This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1). Strings with this property must be of the form: A.B.C.D where A, B, C and D are in the range of 0-255. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#ARRAY"><code>ARRAY</code></a>: Valid only for 'string' columns. Indicates that this field contains an array. The value type and (optionally) the item count should be specified in parenthesis; e.g., 'array(int, 10)' for a 10-integer array. Both 'array(int)' and 'array(int, -1)' will designate an unlimited-length integer array, though no bounds checking is performed on arrays of any length. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#JSON"><code>JSON</code></a>: Valid only for 'string' columns. Indicates that this field contains values in JSON format. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#VECTOR"><code>VECTOR</code></a>: Valid only for 'bytes' columns. Indicates that this field contains a vector of floats. The length should be specified in parenthesis, e.g., 'vector(1000)'. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#WKT"><code>WKT</code></a>: Valid only for 'string' and 'bytes' columns. Indicates that this field contains geospatial geometry objects in Well-Known Text (WKT) or Well-Known Binary (WKB) format. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#PRIMARY_KEY"><code>PRIMARY\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#SOFT_PRIMARY_KEY"><code>SOFT\_PRIMARY\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#soft-primary-keys" target="_top">soft primary key</a>. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#SHARD_KEY"><code>SHARD\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#shard-keys" target="_top">shard key</a>. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#NULLABLE"><code>NULLABLE</code></a>: This property indicates that this column is nullable. However, setting this property is insufficient for making the column nullable. The user must declare the type of the column as a union between its regular type and 'null' in the Avro schema for the record type in <a href="#getTypeDefinition()"><code>typeDefinition</code></a>. For example, if a column is of type integer and is nullable, then the entry for the column in the Avro schema must be: \['int', 'null']. The C++, C#, Java, and Python APIs have built-in convenience for bypassing setting the Avro schema by hand. For those languages, one can use this property as usual and not have to worry about the Avro schema for the record. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#COMPRESS"><code>COMPRESS</code></a>: This property indicates that this column should be <a href="/content/concepts/column_compression/" target="_top">compressed</a> with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression. This property is primarily used in order to save disk space. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DICT"><code>DICT</code></a>: This property indicates that this column should be <a href="/content/concepts/dictionary_encoding/" target="_top">dictionary encoded</a>. It can only be used in conjunction with restricted string (charN), int, long or date columns. Dictionary encoding is best for columns where the cardinality (the number of unique values) is expected to be low. This property can save a large amount of memory. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INIT_WITH_NOW"><code>INIT\_WITH\_NOW</code></a>: For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INIT_WITH_UUID"><code>INIT\_WITH\_UUID</code></a>: For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UPDATE_WITH_NOW"><code>UPDATE\_WITH\_NOW</code></a>: For 'date', 'time', 'datetime', or 'timestamp' column types, update the field with 'NOW()' upon any update. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UPDATE_WITH_USER"><code>UPDATE\_WITH\_USER</code></a>: For 'charN' or 'string' column types, update the field with the current user's name upon any update. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DEFAULT"><code>DEFAULT</code></a>: Sets a default value expression for this column, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. When the column is omitted from an insert via request\_schema\_str, the expression is evaluated and the result is used as the column value. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DEFAULT_SQL"><code>DEFAULT\_SQL</code></a>: Sets a default value expression for this column with SQL syntax, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. Only used for showing the expression when generating SQL DDL. </li>
                  </ul>

                  The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
                </div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">The current value of <code>properties</code>.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="setProperties(java.util.Map)">
                <h3>setProperties</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></span> <span className="element-name">setProperties</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>> properties)</span></div>

                <div className="block">
                  \[DEPRECATED--please use these property values in the <a href="#getTypeDefinition()"><code>typeDefinition</code></a> directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name. All keys used must be relevant column names for the given table. Specifying any property overrides the default properties for that column (which is based on the column's data type). Valid values are:

                  <ul>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATA"><code>DATA</code></a>: Default property for all numeric and string type columns; makes the column available for GPU queries. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a>: Valid only for select 'string' columns. Enables full text search--see <a href="/content/concepts/full_text_search/" target="_top">Full Text Search</a> for details and applicable string column types. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TIMESTAMP"><code>TIMESTAMP</code></a>: Valid only for 'long' columns. Indicates that this field represents a timestamp and will be provided in milliseconds since the Unix epoch: 00:00:00 Jan 1 1970. Dates represented by a timestamp must fall between the year 1000 and the year 2900. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#ULONG"><code>ULONG</code></a>: Valid only for 'string' columns. It represents an unsigned long integer data type. The string can only be interpreted as an unsigned long data type with minimum value of zero, and maximum value of 18446744073709551615. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UUID"><code>UUID</code></a>: Valid only for 'string' columns. It represents an uuid data type. Internally, it is stored as a 128-bit integer. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DECIMAL"><code>DECIMAL</code></a>: Valid only for 'string' columns. It represents a SQL type NUMERIC(19, 4) data type. There can be up to 15 digits before the decimal point and up to four digits in the fractional part. The value can be positive or negative (indicated by a minus sign at the beginning). This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATE"><code>DATE</code></a>: Valid only for 'string' columns. Indicates that this field represents a date and will be provided in the format 'YYYY-MM-DD'. The allowable range is 1000-01-01 through 2900-01-01. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TIME"><code>TIME</code></a>: Valid only for 'string' columns. Indicates that this field represents a time-of-day and will be provided in the format 'HH:MM:SS.mmm'. The allowable range is 00:00:00.000 through 23:59:59.999. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DATETIME"><code>DATETIME</code></a>: Valid only for 'string' columns. Indicates that this field represents a datetime and will be provided in the format 'YYYY-MM-DD HH:MM:SS.mmm'. The allowable range is 1000-01-01 00:00:00.000 through 2900-01-01 23:59:59.999. This property is mutually exclusive with the <a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#TEXT_SEARCH"><code>TEXT\_SEARCH</code></a> property. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR1"><code>CHAR1</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 1 character. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR2"><code>CHAR2</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 2 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR4"><code>CHAR4</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 4 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR8"><code>CHAR8</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 8 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR16"><code>CHAR16</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 16 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR32"><code>CHAR32</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 32 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR64"><code>CHAR64</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 64 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR128"><code>CHAR128</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 128 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#CHAR256"><code>CHAR256</code></a>: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 256 characters. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#BOOLEAN"><code>BOOLEAN</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between 0 and 1(inclusive) </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INT8"><code>INT8</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between -128 and +127 (inclusive) </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INT16"><code>INT16</code></a>: This property provides optimized memory and query performance for int columns. Ints with this property must be between -32768 and +32767 (inclusive) </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#IPV4"><code>IPV4</code></a>: This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1). Strings with this property must be of the form: A.B.C.D where A, B, C and D are in the range of 0-255. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#ARRAY"><code>ARRAY</code></a>: Valid only for 'string' columns. Indicates that this field contains an array. The value type and (optionally) the item count should be specified in parenthesis; e.g., 'array(int, 10)' for a 10-integer array. Both 'array(int)' and 'array(int, -1)' will designate an unlimited-length integer array, though no bounds checking is performed on arrays of any length. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#JSON"><code>JSON</code></a>: Valid only for 'string' columns. Indicates that this field contains values in JSON format. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#VECTOR"><code>VECTOR</code></a>: Valid only for 'bytes' columns. Indicates that this field contains a vector of floats. The length should be specified in parenthesis, e.g., 'vector(1000)'. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#WKT"><code>WKT</code></a>: Valid only for 'string' and 'bytes' columns. Indicates that this field contains geospatial geometry objects in Well-Known Text (WKT) or Well-Known Binary (WKB) format. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#PRIMARY_KEY"><code>PRIMARY\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#SOFT_PRIMARY_KEY"><code>SOFT\_PRIMARY\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#soft-primary-keys" target="_top">soft primary key</a>. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#SHARD_KEY"><code>SHARD\_KEY</code></a>: This property indicates that this column will be part of (or the entire) <a href="/content/concepts/tables/#shard-keys" target="_top">shard key</a>. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#NULLABLE"><code>NULLABLE</code></a>: This property indicates that this column is nullable. However, setting this property is insufficient for making the column nullable. The user must declare the type of the column as a union between its regular type and 'null' in the Avro schema for the record type in <a href="#getTypeDefinition()"><code>typeDefinition</code></a>. For example, if a column is of type integer and is nullable, then the entry for the column in the Avro schema must be: \['int', 'null']. The C++, C#, Java, and Python APIs have built-in convenience for bypassing setting the Avro schema by hand. For those languages, one can use this property as usual and not have to worry about the Avro schema for the record. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#COMPRESS"><code>COMPRESS</code></a>: This property indicates that this column should be <a href="/content/concepts/column_compression/" target="_top">compressed</a> with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression. This property is primarily used in order to save disk space. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DICT"><code>DICT</code></a>: This property indicates that this column should be <a href="/content/concepts/dictionary_encoding/" target="_top">dictionary encoded</a>. It can only be used in conjunction with restricted string (charN), int, long or date columns. Dictionary encoding is best for columns where the cardinality (the number of unique values) is expected to be low. This property can save a large amount of memory. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INIT_WITH_NOW"><code>INIT\_WITH\_NOW</code></a>: For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#INIT_WITH_UUID"><code>INIT\_WITH\_UUID</code></a>: For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UPDATE_WITH_NOW"><code>UPDATE\_WITH\_NOW</code></a>: For 'date', 'time', 'datetime', or 'timestamp' column types, update the field with 'NOW()' upon any update. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#UPDATE_WITH_USER"><code>UPDATE\_WITH\_USER</code></a>: For 'charN' or 'string' column types, update the field with the current user's name upon any update. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DEFAULT"><code>DEFAULT</code></a>: Sets a default value expression for this column, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. When the column is omitted from an insert via request\_schema\_str, the expression is evaluated and the result is used as the column value. </li>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Properties#DEFAULT_SQL"><code>DEFAULT\_SQL</code></a>: Sets a default value expression for this column with SQL syntax, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. Only used for showing the expression when generating SQL DDL. </li>
                  </ul>

                  The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
                </div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>properties</code> - The new value for <code>properties</code>.</div>
                  <div className="dt">Returns:</div>
                  <div className="dd"><code>this</code> to mimic the builder pattern.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getOptions()">
                <h3>getOptions</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>></span> <span className="element-name">getOptions</span>()</div>

                <div className="block">
                  Optional parameters.

                  <ul>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Options#COMPRESSION_CODEC"><code>COMPRESSION\_CODEC</code></a>: The default <a href="/content/concepts/column_compression/" target="_top">compression codec</a> for this type's columns. </li>
                  </ul>

                  The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
                </div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">The current value of <code>options</code>.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="setOptions(java.util.Map)">
                <h3>setOptions</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest" title="class in com.gpudb.protocol">CreateTypeRequest</a></span> <span className="element-name">setOptions</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> options)</span></div>

                <div className="block">
                  Optional parameters.

                  <ul>
                    <li><a href="/content/api/java/com/gpudb/protocol/CreateTypeRequest.Options#COMPRESSION_CODEC"><code>COMPRESSION\_CODEC</code></a>: The default <a href="/content/concepts/column_compression/" target="_top">compression codec</a> for this type's columns. </li>
                  </ul>

                  The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
                </div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>options</code> - The new value for <code>options</code>.</div>
                  <div className="dt">Returns:</div>
                  <div className="dd"><code>this</code> to mimic the builder pattern.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getSchema()">
                <h3>getSchema</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">org.apache.avro.Schema</span> <span className="element-name">getSchema</span>()</div>
                <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>

                <div className="dl notes">
                  <div className="dt">Specified by:</div>
                  <div className="dd"><code>getSchema</code> in interface <code>org.apache.avro.generic.GenericContainer</code></div>
                  <div className="dt">Returns:</div>
                  <div className="dd">The schema object describing this class.</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="get(int)">
                <h3>get</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></span> <span className="element-name">get</span><wbr /><span className="parameters">(int index)</span></div>
                <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>

                <div className="dl notes">
                  <div className="dt">Specified by:</div>
                  <div className="dd"><code>get</code> in interface <code>org.apache.avro.generic.IndexedRecord</code></div>
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>index</code> - the position of the field to get</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">value of the field with the given index.</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang" className="external-link">IndexOutOfBoundsException</a></code></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="put(int,java.lang.Object)">
                <h3>put</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">void</span> <span className="element-name">put</span><wbr /><span className="parameters">(int index, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> value)</span></div>
                <div className="block">This method supports the Avro framework and is not intended to be called directly by the user.</div>

                <div className="dl notes">
                  <div className="dt">Specified by:</div>
                  <div className="dd"><code>put</code> in interface <code>org.apache.avro.generic.IndexedRecord</code></div>
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>index</code> - the position of the field to set</div>
                  <div className="dd"><code>value</code> - the value to set</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang" className="external-link">IndexOutOfBoundsException</a></code></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="equals(java.lang.Object)">
                <h3>equals</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">boolean</span> <span className="element-name">equals</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> obj)</span></div>

                <div className="dl notes">
                  <div className="dt">Overrides:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" className="external-link">equals</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="toString()">
                <h3>toString</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">toString</span>()</div>

                <div className="dl notes">
                  <div className="dt">Overrides:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" className="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="hashCode()">
                <h3>hashCode</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">int</span> <span className="element-name">hashCode</span>()</div>

                <div className="dl notes">
                  <div className="dt">Overrides:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" className="external-link">hashCode</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                </div>
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
</div>
