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

# gpudb::AlterTableColumnsRequest

> gpudb::AlterTableColumnsRequest — Kinetica C++ API

<div className="kinetica-doxygen">
  <div className="contents">
    <p>A set of parameters for <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a8ec207082dc6a0254352082c611ec00f">GPUdb::alterTableColumns</a>. <a href="#details">More...</a></p>
    <p><code>#include \<<a className="el" href="/content/api/cpp/alter__table__columns_8h_source">gpudb/protocol/alter\_table\_columns.h</a>></code></p>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Public Member Functions</h2>
        </td>
      </tr>

      <tr className="memitem:a2aa502b06a9905d8ffb584188e80585f" id="r_a2aa502b06a9905d8ffb584188e80585f">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a2aa502b06a9905d8ffb584188e80585f">AlterTableColumnsRequest</a> ()</td>
      </tr>

      <tr className="memdesc:a2aa502b06a9905d8ffb584188e80585f">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AlterTableColumnsRequest" title="A set of parameters for GPUdb::alterTableColumns.">AlterTableColumnsRequest</a> object with default parameters. <br /></td>
      </tr>

      <tr className="separator:a2aa502b06a9905d8ffb584188e80585f">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a9971591a329075cc9e12ebe4402fb2ea" id="r_a9971591a329075cc9e12ebe4402fb2ea">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a9971591a329075cc9e12ebe4402fb2ea">AlterTableColumnsRequest</a> (const std::string \&tableName\_, const std::vector\< std::map\< std::string, std::string > > \&columnAlterations\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

      <tr className="memdesc:a9971591a329075cc9e12ebe4402fb2ea">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AlterTableColumnsRequest" title="A set of parameters for GPUdb::alterTableColumns.">AlterTableColumnsRequest</a> object with the specified parameters. <br /></td>
      </tr>

      <tr className="separator:a9971591a329075cc9e12ebe4402fb2ea">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Public Attributes</h2>
        </td>
      </tr>

      <tr className="memitem:ab0d6e68bc8f5cc43b6fe31e31bce9017" id="r_ab0d6e68bc8f5cc43b6fe31e31bce9017">
        <td className="memItemLeft" align="right" valign="top">std::string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ab0d6e68bc8f5cc43b6fe31e31bce9017">tableName</a></td>
      </tr>

      <tr className="memdesc:ab0d6e68bc8f5cc43b6fe31e31bce9017">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Table on which the operation will be performed. <br /></td>
      </tr>

      <tr className="separator:ab0d6e68bc8f5cc43b6fe31e31bce9017">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:aff05081eec1f7f68515a6722f7669a9b" id="r_aff05081eec1f7f68515a6722f7669a9b">
        <td className="memItemLeft" align="right" valign="top">std::vector\< std::map\< std::string, std::string > > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#aff05081eec1f7f68515a6722f7669a9b">columnAlterations</a></td>
      </tr>

      <tr className="memdesc:aff05081eec1f7f68515a6722f7669a9b">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">List of alter table add/delete/change column requests - all for the same table. <br /></td>
      </tr>

      <tr className="separator:aff05081eec1f7f68515a6722f7669a9b">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:ac013ec22a91d01037787d3b709dc89bc" id="r_ac013ec22a91d01037787d3b709dc89bc">
        <td className="memItemLeft" align="right" valign="top">std::map\< std::string, std::string > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ac013ec22a91d01037787d3b709dc89bc">options</a></td>
      </tr>

      <tr className="memdesc:ac013ec22a91d01037787d3b709dc89bc">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Optional parameters. <br /></td>
      </tr>

      <tr className="separator:ac013ec22a91d01037787d3b709dc89bc">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <h2 className="groupheader">Detailed Description</h2>

    <div className="textblock">
      <p>A set of parameters for <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a8ec207082dc6a0254352082c611ec00f">GPUdb::alterTableColumns</a>. </p>
      <p>Apply various modifications to columns in a table, view. The available modifications include the following:</p>
      <p>Create or delete an <a href="/content/concepts/indexes/#column-index" target="_top">index</a> on a particular column. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.</p>
      <p>Manage a table's columns–a column can be added, removed, or have its <a href="/content/concepts/types/" target="_top">type and properties</a> modified, including whether it is <a href="/content/concepts/dictionary_encoding/" target="_top">dictionary encoded</a> or not. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/alter__table__columns_8h_source#l00030">30</a> of file <a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a>.</p>
    </div>

    <h2 className="groupheader">Constructor & Destructor Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a2aa502b06a9905d8ffb584188e80585f">◆ </a></span>AlterTableColumnsRequest() <span className="overload">\[1/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::AlterTableColumnsRequest::AlterTableColumnsRequest </td>
                  <td>(</td>

                  <td className="paramname">
                    <span className="paramname">
                      <span className="em" />
                    </span>
                  </td>

                  <td>)</td>

                  <td />
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AlterTableColumnsRequest" title="A set of parameters for GPUdb::alterTableColumns.">AlterTableColumnsRequest</a> object with default parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/alter__table__columns_8h_source#l00036">36</a> of file <a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a9971591a329075cc9e12ebe4402fb2ea">◆ </a></span>AlterTableColumnsRequest() <span className="overload">\[2/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::AlterTableColumnsRequest::AlterTableColumnsRequest </td>
                  <td>(</td>
                  <td className="paramtype">const std::string &</td>
                  <td className="paramname"><span className="paramname"><span className="em">tableName\_</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype">const std::vector\< std::map\< std::string, std::string > > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">columnAlterations\_</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype">const std::map\< std::string, std::string > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">options\_</span></span> )</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AlterTableColumnsRequest" title="A set of parameters for GPUdb::alterTableColumns.">AlterTableColumnsRequest</a> object with the specified parameters. </p>

        <div className="dl params">
          <div className="dt">Parameters</div>

          <div className="dd">
            <table className="params">
              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">tableName\_</td>
                <td>Table on which the operation will be performed. Must be an existing table or view, in \[schema\_name.]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">columnAlterations\_</td>
                <td>List of alter table add/delete/change column requests - all for the same table. Each request is a map that includes 'column\_name', 'action' and the options specific for the action. Note that the same options as in alter table requests but in the same map as the column name and the action. For example: \[{"{"}'column\_name':'col\_1','action':'change\_column','rename\_column':'col\_2'{"}"},{"{"}'column\_name':'col\_1','action':'add\_column', 'type':'int','default\_value':'1'{"}"}]. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">options\_</td>
                <td>Optional parameters. </td>
              </tr>
            </table>
          </div>
        </div>

        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/alter__table__columns_8h_source#l00066">66</a> of file <a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a>.</p>
      </div>
    </div>

    <h2 className="groupheader">Member Data Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#aff05081eec1f7f68515a6722f7669a9b">◆ </a></span>columnAlterations</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::vector\<std::map\<std::string, std::string> > gpudb::AlterTableColumnsRequest::columnAlterations</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>List of alter table add/delete/change column requests - all for the same table. </p>
        <p>Each request is a map that includes 'column\_name', 'action' and the options specific for the action. Note that the same options as in alter table requests but in the same map as the column name and the action. For example: \[{"{"}'column\_name':'col\_1','action':'change\_column','rename\_column':'col\_2'{"}"},{"{"}'column\_name':'col\_1','action':'add\_column', 'type':'int','default\_value':'1'{"}"}]. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/alter__table__columns_8h_source#l00090">90</a> of file <a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ac013ec22a91d01037787d3b709dc89bc">◆ </a></span>options</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::map\<std::string, std::string> gpudb::AlterTableColumnsRequest::options</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Optional parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/alter__table__columns_8h_source#l00095">95</a> of file <a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ab0d6e68bc8f5cc43b6fe31e31bce9017">◆ </a></span>tableName</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::string gpudb::AlterTableColumnsRequest::tableName</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Table on which the operation will be performed. </p>
        <p>Must be an existing table or view, in \[ schema\_name. ]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/alter__table__columns_8h_source#l00079">79</a> of file <a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a>.</p>
      </div>
    </div>

    <hr />

    The documentation for this struct was generated from the following file:

    <ul>
      <li>gpudb/protocol/<a className="el" href="/content/api/cpp/alter__table__columns_8h_source">alter\_table\_columns.h</a></li>
    </ul>
  </div>
</div>
