> ## 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::CreateUnionRequest

> gpudb::CreateUnionRequest — 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#af715d41bccfba570e4e335da030f8576">GPUdb::createUnion</a>. <a href="#details">More...</a></p>
    <p><code>#include \<<a className="el" href="/content/api/cpp/create__union_8h_source">gpudb/protocol/create\_union.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:a610aa2c1d83b15db90a38ee0fba9cd58" id="r_a610aa2c1d83b15db90a38ee0fba9cd58">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a610aa2c1d83b15db90a38ee0fba9cd58">CreateUnionRequest</a> ()</td>
      </tr>

      <tr className="memdesc:a610aa2c1d83b15db90a38ee0fba9cd58">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs a <a className="el" href="/content/api/cpp/structgpudb_1_1CreateUnionRequest" title="A set of parameters for GPUdb::createUnion.">CreateUnionRequest</a> object with default parameters. <br /></td>
      </tr>

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

      <tr className="memitem:a3114ade5bc457cfd6a709372bd64ef93" id="r_a3114ade5bc457cfd6a709372bd64ef93">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a3114ade5bc457cfd6a709372bd64ef93">CreateUnionRequest</a> (const std::string \&tableName\_, const std::vector\< std::string > \&tableNames\_, const std::vector\< std::vector\< std::string > > \&inputColumnNames\_, const std::vector\< std::string > \&outputColumnNames\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

      <tr className="memdesc:a3114ade5bc457cfd6a709372bd64ef93">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs a <a className="el" href="/content/api/cpp/structgpudb_1_1CreateUnionRequest" title="A set of parameters for GPUdb::createUnion.">CreateUnionRequest</a> object with the specified parameters. <br /></td>
      </tr>

      <tr className="separator:a3114ade5bc457cfd6a709372bd64ef93">
        <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:a51fef00803b59c77b2cbccaa0bd2b64f" id="r_a51fef00803b59c77b2cbccaa0bd2b64f">
        <td className="memItemLeft" align="right" valign="top">std::string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a51fef00803b59c77b2cbccaa0bd2b64f">tableName</a></td>
      </tr>

      <tr className="memdesc:a51fef00803b59c77b2cbccaa0bd2b64f">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Name of the table to be created, in \[ schema\_name. ]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a> and meeting <a href="/content/concepts/tables/#table-naming-criteria" target="_top">table naming criteria</a>. <br /></td>
      </tr>

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

      <tr className="memitem:ae7091488b3af0545b3275aee90d0eeb4" id="r_ae7091488b3af0545b3275aee90d0eeb4">
        <td className="memItemLeft" align="right" valign="top">std::vector\< std::string > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ae7091488b3af0545b3275aee90d0eeb4">tableNames</a></td>
      </tr>

      <tr className="memdesc:ae7091488b3af0545b3275aee90d0eeb4">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">The list of table names to merge, in \[ schema\_name. ]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. <br /></td>
      </tr>

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

      <tr className="memitem:a987bc9618a35237168ea0ef3119b0fa5" id="r_a987bc9618a35237168ea0ef3119b0fa5">
        <td className="memItemLeft" align="right" valign="top">std::vector\< std::vector\< std::string > > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a987bc9618a35237168ea0ef3119b0fa5">inputColumnNames</a></td>
      </tr>

      <tr className="memdesc:a987bc9618a35237168ea0ef3119b0fa5">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">The list of columns from each of the corresponding input tables. <br /></td>
      </tr>

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

      <tr className="memitem:ad6c098a1085f94577a6fdc50bf1d802c" id="r_ad6c098a1085f94577a6fdc50bf1d802c">
        <td className="memItemLeft" align="right" valign="top">std::vector\< std::string > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ad6c098a1085f94577a6fdc50bf1d802c">outputColumnNames</a></td>
      </tr>

      <tr className="memdesc:ad6c098a1085f94577a6fdc50bf1d802c">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">The list of names of the columns to be stored in the output table. <br /></td>
      </tr>

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

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

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

      <tr className="separator:a93d310648e2041fd3de15d02c537d922">
        <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#af715d41bccfba570e4e335da030f8576">GPUdb::createUnion</a>. </p>
      <p>Merges data from one or more tables with comparable data types into a new table.</p>
      <p>The following merges are supported:</p>
      <p>UNION (DISTINCT/ALL) - For data set union details and examples, see <a href="/content/concepts/unions/" target="_top">Union</a>. For limitations, see <a href="/content/concepts/unions/#limitations-and-cautions" target="_top">Union Limitations and Cautions</a>.</p>
      <p>INTERSECT (DISTINCT/ALL) - For data set intersection details and examples, see <a href="/content/concepts/intersect/" target="_top">Intersect</a>. For limitations, see <a href="/content/concepts/intersect/#limitations" target="_top">Intersect Limitations</a>.</p>
      <p>EXCEPT (DISTINCT/ALL) - For data set subtraction details and examples, see <a href="/content/concepts/except/" target="_top">Except</a>. For limitations, see <a href="/content/concepts/except/#limitations" target="_top">Except Limitations</a>. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00038">38</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
    </div>

    <h2 className="groupheader">Constructor & Destructor Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a610aa2c1d83b15db90a38ee0fba9cd58">◆ </a></span>CreateUnionRequest() <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::CreateUnionRequest::CreateUnionRequest </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 a <a className="el" href="/content/api/cpp/structgpudb_1_1CreateUnionRequest" title="A set of parameters for GPUdb::createUnion.">CreateUnionRequest</a> object with default parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00043">43</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a3114ade5bc457cfd6a709372bd64ef93">◆ </a></span>CreateUnionRequest() <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::CreateUnionRequest::CreateUnionRequest </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::string > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">tableNames\_</span></span>, </td>
                </tr>

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

                  <td />

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

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

                  <td />

                  <td className="paramtype">const std::vector\< std::string > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">outputColumnNames\_</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 a <a className="el" href="/content/api/cpp/structgpudb_1_1CreateUnionRequest" title="A set of parameters for GPUdb::createUnion.">CreateUnionRequest</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>Name of the table to be created, in \[schema\_name.]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a> and meeting <a href="/content/concepts/tables/#table-naming-criteria" target="_top">table naming criteria</a>. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">tableNames\_</td>
                <td>The list of table names to merge, in \[schema\_name.]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. Must contain the names of one or more existing tables. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">inputColumnNames\_</td>
                <td>The list of columns from each of the corresponding input tables. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">outputColumnNames\_</td>
                <td>The list of names of the columns to be stored in the output table. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">options\_</td>

                <td>
                  Optional parameters.

                  <ul>
                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#ae7a132ec4d309fafdc6282b5b988c630">create\_union\_create\_temp\_table</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, a unique temporary table name will be generated in the sys\_temp schema and used in place of <span className="em arg">tableName\_</span>. If <a className="el" href="/content/api/cpp/namespacegpudb#a9773f20de01667f4a54a013287125d6d">persist</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">false</a> (or unspecified), then this is always allowed even if the caller does not have permission to create tables. The generated name is returned in <a className="el" href="/content/api/cpp/namespacegpudb#a584f96f298fb8560e416d7aa5d12696f">qualified\_table\_name</a>. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a51ad8919e170db36635d44e753ffb3ca">create\_union\_collection\_name</a>: \[DEPRECATED–please specify the containing schema for the projection as part of <span className="em arg">tableName\_</span> and use <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a4aa5990ebebfab30b5961654f546cfd0">GPUdb::createSchema</a> to create the schema if non-existent] Name of the schema for the output table. If the schema provided is non-existent, it will be automatically created. The default value is ''. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#adeb5407c9e89bd6fbbb6aca40b39d544">create\_union\_mode</a>: The mode describes what rows of the tables being unioned will be retained. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4d30935577318d7b1b764224cabca31b">create\_union\_union\_all</a>: Retains all rows from the specified tables. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a15a6fc2ec7a782dc2d6192a08cb6a4a9">create\_union\_union</a>: Retains all unique rows from the specified tables (synonym for <a className="el" href="/content/api/cpp/namespacegpudb#a7a186e3a270e41a99cf4d3517e892257">union\_distinct</a>). </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a7a186e3a270e41a99cf4d3517e892257">create\_union\_union\_distinct</a>: Retains all unique rows from the specified tables. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2ef70a26679f465ecdb580dfc326910e">create\_union\_except</a>: Retains all unique rows from the first table that do not appear in the second table (only works on 2 tables). </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a06baad96a6f886c6843b9ab4f18ab297">create\_union\_except\_all</a>: Retains all rows(including duplicates) from the first table that do not appear in the second table (only works on 2 tables). </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9faa32e71c7c836805f660cd15c439f3">create\_union\_intersect</a>: Retains all unique rows that appear in both of the specified tables (only works on 2 tables). </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a98f20f503e4401f9d21db59fca19d05f">create\_union\_intersect\_all</a>: Retains all rows(including duplicates) that appear in both of the specified tables (only works on 2 tables). </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a4d30935577318d7b1b764224cabca31b">create\_union\_union\_all</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4e4b51e85582c38d91def6f4980f659d">create\_union\_chunk\_size</a>: Indicates the number of records per chunk to be used for this output table. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a6e878bfd26260961c6ca97993a840b90">create\_union\_chunk\_column\_max\_memory</a>: Indicates the target maximum data size for each column in a chunk to be used for this output table. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab0f79cbd7c82bf7b2066402d9678720d">create\_union\_chunk\_max\_memory</a>: Indicates the target maximum data size for all columns in a chunk to be used for this output table. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a62165dc74b434196fdc35f7687d53323">create\_union\_create\_indexes</a>: Comma-separated list of columns on which to create indexes on the output table. The columns specified must be present in <span className="em arg">outputColumnNames\_</span>. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a81ea337287743114191da31177f0ae8c">create\_union\_partition\_type</a>: <a href="/content/concepts/tables/#partitioning" target="_top">Partitioning</a> scheme to use for the output table. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2f9f59cda9f30cd52196fb1af2070d11">create\_union\_RANGE</a>: Use <a href="/content/concepts/tables/#partitioning-by-range" target="_top">range partitioning</a>. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac5b5c374e1e5921ca5dbd9d329bba044">create\_union\_INTERVAL</a>: Use <a href="/content/concepts/tables/#partitioning-by-interval" target="_top">interval partitioning</a>. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9a5c2ca46cef489d66e37ed151f6b082">create\_union\_LIST</a>: Use <a href="/content/concepts/tables/#partitioning-by-list" target="_top">list partitioning</a>. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ad27f73eb5bd1b39f9987ab3f3be24991">create\_union\_HASH</a>: Use <a href="/content/concepts/tables/#partitioning-by-hash" target="_top">hash partitioning</a>. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a71df92ff17c7d81957523718355bda22">create\_union\_SERIES</a>: Use <a href="/content/concepts/tables/#partitioning-by-series" target="_top">series partitioning</a>. </li>
                      </ul>
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a60fe727d9f5a7c2e143f45f352ad1552">create\_union\_partition\_keys</a>: Comma-separated list of partition keys, which are the columns or column expressions by which records will be assigned to partitions defined by <a className="el" href="/content/api/cpp/namespacegpudb#a145a5a32a5fea1df0e4ff29eddcdb299">partition\_definitions</a>. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a145a5a32a5fea1df0e4ff29eddcdb299">create\_union\_partition\_definitions</a>: Comma-separated list of partition definitions, whose format depends on the choice of <a className="el" href="/content/api/cpp/namespacegpudb#a81ea337287743114191da31177f0ae8c">partition\_type</a>. See <a href="/content/concepts/tables/#partitioning-by-range" target="_top">range partitioning</a>, <a href="/content/concepts/tables/#partitioning-by-interval" target="_top">interval partitioning</a>, <a href="/content/concepts/tables/#partitioning-by-list" target="_top">list partitioning</a>, <a href="/content/concepts/tables/#partitioning-by-hash" target="_top">hash partitioning</a>, or <a href="/content/concepts/tables/#partitioning-by-series" target="_top">series partitioning</a> for example formats. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a864937e3c3accf3db0196678e5d43d82">create\_union\_is\_automatic\_partition</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, a new partition will be created for values which don't fall into an existing partition. Currently only supported for <a href="/content/concepts/tables/#partitioning-by-list" target="_top">list partitions</a>. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae26c0d26d90ab3efc46df04a3b6f5d82">create\_union\_ttl</a>: Sets the <a href="/content/concepts/ttl/" target="_top">TTL</a> of the output table specified in <span className="em arg">tableName\_</span>. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a9773f20de01667f4a54a013287125d6d">create\_union\_persist</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, then the output table specified in <span className="em arg">tableName\_</span> will be persisted and will not expire unless a <a className="el" href="/content/api/cpp/namespacegpudb#ae26c0d26d90ab3efc46df04a3b6f5d82">ttl</a> is specified. If <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">false</a>, then the output table will be an in-memory table and will expire unless a <a className="el" href="/content/api/cpp/namespacegpudb#ae26c0d26d90ab3efc46df04a3b6f5d82">ttl</a> is specified otherwise. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a121d9344dd13b32115aae87091b60719">create\_union\_view\_id</a>: ID of view of which this output table is a member. The default value is ''. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a44773403e73d309d0a9ce8584d7f8ed0">create\_union\_force\_replicated</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, then the output table specified in <span className="em arg">tableName\_</span> will be replicated even if the source tables are not. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac00533b09c4716e5648374f898a6d14f">create\_union\_strategy\_definition</a>: The <a href="/content/rm/concepts/#tier-strategies" target="_top">tier strategy</a> for the table and its columns. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#aeeae3d1a145f68adb1aca9d363af98ae">create\_union\_compression\_codec</a>: The default <a href="/content/concepts/column_compression/" target="_top">compression codec</a> for this table's columns. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#add05709137466e254cb09aa39e9655bd">create\_union\_no\_count</a>: Return a count of 0 for the union table response to avoid the cost of counting; optimization needed for many chunk virtual unions. The default value is 'false'. </li>
                  </ul>

                  The default value is an empty map.
                </td>
              </tr>
            </table>
          </div>
        </div>

        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00349">349</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
      </div>
    </div>

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

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::vector\<std::vector\<std::string> > gpudb::CreateUnionRequest::inputColumnNames</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>The list of columns from each of the corresponding input tables. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00380">380</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
      </div>
    </div>

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

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

      <div className="memdoc">
        <p>Optional parameters. </p>

        <ul>
          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#ae7a132ec4d309fafdc6282b5b988c630">create\_union\_create\_temp\_table</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, a unique temporary table name will be generated in the sys\_temp schema and used in place of <a className="el" href="#a51fef00803b59c77b2cbccaa0bd2b64f">tableName</a>. If <a className="el" href="/content/api/cpp/namespacegpudb#a9773f20de01667f4a54a013287125d6d">persist</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">false</a> (or unspecified), then this is always allowed even if the caller does not have permission to create tables. The generated name is returned in <a className="el" href="/content/api/cpp/namespacegpudb#a584f96f298fb8560e416d7aa5d12696f">qualified\_table\_name</a>. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a51ad8919e170db36635d44e753ffb3ca">create\_union\_collection\_name</a>: \[DEPRECATED–please specify the containing schema for the projection as part of <a className="el" href="#a51fef00803b59c77b2cbccaa0bd2b64f">tableName</a> and use <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a4aa5990ebebfab30b5961654f546cfd0">GPUdb::createSchema</a> to create the schema if non-existent] Name of the schema for the output table. If the schema provided is non-existent, it will be automatically created. The default value is ''. </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#adeb5407c9e89bd6fbbb6aca40b39d544">create\_union\_mode</a>: The mode describes what rows of the tables being unioned will be retained. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4d30935577318d7b1b764224cabca31b">create\_union\_union\_all</a>: Retains all rows from the specified tables. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a15a6fc2ec7a782dc2d6192a08cb6a4a9">create\_union\_union</a>: Retains all unique rows from the specified tables (synonym for <a className="el" href="/content/api/cpp/namespacegpudb#a7a186e3a270e41a99cf4d3517e892257">union\_distinct</a>). </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a7a186e3a270e41a99cf4d3517e892257">create\_union\_union\_distinct</a>: Retains all unique rows from the specified tables. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2ef70a26679f465ecdb580dfc326910e">create\_union\_except</a>: Retains all unique rows from the first table that do not appear in the second table (only works on 2 tables). </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a06baad96a6f886c6843b9ab4f18ab297">create\_union\_except\_all</a>: Retains all rows(including duplicates) from the first table that do not appear in the second table (only works on 2 tables). </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9faa32e71c7c836805f660cd15c439f3">create\_union\_intersect</a>: Retains all unique rows that appear in both of the specified tables (only works on 2 tables). </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a98f20f503e4401f9d21db59fca19d05f">create\_union\_intersect\_all</a>: Retains all rows(including duplicates) that appear in both of the specified tables (only works on 2 tables). </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a4d30935577318d7b1b764224cabca31b">create\_union\_union\_all</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4e4b51e85582c38d91def6f4980f659d">create\_union\_chunk\_size</a>: Indicates the number of records per chunk to be used for this output table. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a6e878bfd26260961c6ca97993a840b90">create\_union\_chunk\_column\_max\_memory</a>: Indicates the target maximum data size for each column in a chunk to be used for this output table. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab0f79cbd7c82bf7b2066402d9678720d">create\_union\_chunk\_max\_memory</a>: Indicates the target maximum data size for all columns in a chunk to be used for this output table. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a62165dc74b434196fdc35f7687d53323">create\_union\_create\_indexes</a>: Comma-separated list of columns on which to create indexes on the output table. The columns specified must be present in <a className="el" href="#ad6c098a1085f94577a6fdc50bf1d802c">outputColumnNames</a>. </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a81ea337287743114191da31177f0ae8c">create\_union\_partition\_type</a>: <a href="/content/concepts/tables/#partitioning" target="_top">Partitioning</a> scheme to use for the output table. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2f9f59cda9f30cd52196fb1af2070d11">create\_union\_RANGE</a>: Use <a href="/content/concepts/tables/#partitioning-by-range" target="_top">range partitioning</a>. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac5b5c374e1e5921ca5dbd9d329bba044">create\_union\_INTERVAL</a>: Use <a href="/content/concepts/tables/#partitioning-by-interval" target="_top">interval partitioning</a>. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9a5c2ca46cef489d66e37ed151f6b082">create\_union\_LIST</a>: Use <a href="/content/concepts/tables/#partitioning-by-list" target="_top">list partitioning</a>. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ad27f73eb5bd1b39f9987ab3f3be24991">create\_union\_HASH</a>: Use <a href="/content/concepts/tables/#partitioning-by-hash" target="_top">hash partitioning</a>. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a71df92ff17c7d81957523718355bda22">create\_union\_SERIES</a>: Use <a href="/content/concepts/tables/#partitioning-by-series" target="_top">series partitioning</a>. </li>
            </ul>
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a60fe727d9f5a7c2e143f45f352ad1552">create\_union\_partition\_keys</a>: Comma-separated list of partition keys, which are the columns or column expressions by which records will be assigned to partitions defined by <a className="el" href="/content/api/cpp/namespacegpudb#a145a5a32a5fea1df0e4ff29eddcdb299">partition\_definitions</a>. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a145a5a32a5fea1df0e4ff29eddcdb299">create\_union\_partition\_definitions</a>: Comma-separated list of partition definitions, whose format depends on the choice of <a className="el" href="/content/api/cpp/namespacegpudb#a81ea337287743114191da31177f0ae8c">partition\_type</a>. See <a href="/content/concepts/tables/#partitioning-by-range" target="_top">range partitioning</a>, <a href="/content/concepts/tables/#partitioning-by-interval" target="_top">interval partitioning</a>, <a href="/content/concepts/tables/#partitioning-by-list" target="_top">list partitioning</a>, <a href="/content/concepts/tables/#partitioning-by-hash" target="_top">hash partitioning</a>, or <a href="/content/concepts/tables/#partitioning-by-series" target="_top">series partitioning</a> for example formats. </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a864937e3c3accf3db0196678e5d43d82">create\_union\_is\_automatic\_partition</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, a new partition will be created for values which don't fall into an existing partition. Currently only supported for <a href="/content/concepts/tables/#partitioning-by-list" target="_top">list partitions</a>. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae26c0d26d90ab3efc46df04a3b6f5d82">create\_union\_ttl</a>: Sets the <a href="/content/concepts/ttl/" target="_top">TTL</a> of the output table specified in <a className="el" href="#a51fef00803b59c77b2cbccaa0bd2b64f">tableName</a>. </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a9773f20de01667f4a54a013287125d6d">create\_union\_persist</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, then the output table specified in <a className="el" href="#a51fef00803b59c77b2cbccaa0bd2b64f">tableName</a> will be persisted and will not expire unless a <a className="el" href="/content/api/cpp/namespacegpudb#ae26c0d26d90ab3efc46df04a3b6f5d82">ttl</a> is specified. If <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">false</a>, then the output table will be an in-memory table and will expire unless a <a className="el" href="/content/api/cpp/namespacegpudb#ae26c0d26d90ab3efc46df04a3b6f5d82">ttl</a> is specified otherwise. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a121d9344dd13b32115aae87091b60719">create\_union\_view\_id</a>: ID of view of which this output table is a member. The default value is ''. </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a44773403e73d309d0a9ce8584d7f8ed0">create\_union\_force\_replicated</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">true</a>, then the output table specified in <a className="el" href="#a51fef00803b59c77b2cbccaa0bd2b64f">tableName</a> will be replicated even if the source tables are not. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4c679573328605dc89476ea85fbe6e87">create\_union\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a3196fd11fabb927d36a20e258903b566">create\_union\_false</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac00533b09c4716e5648374f898a6d14f">create\_union\_strategy\_definition</a>: The <a href="/content/rm/concepts/#tier-strategies" target="_top">tier strategy</a> for the table and its columns. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#aeeae3d1a145f68adb1aca9d363af98ae">create\_union\_compression\_codec</a>: The default <a href="/content/concepts/column_compression/" target="_top">compression codec</a> for this table's columns. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#add05709137466e254cb09aa39e9655bd">create\_union\_no\_count</a>: Return a count of 0 for the union table response to avoid the cost of counting; optimization needed for many chunk virtual unions. The default value is 'false'. </li>
        </ul>

        <p>The default value is an empty map. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00580">580</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ad6c098a1085f94577a6fdc50bf1d802c">◆ </a></span>outputColumnNames</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::vector\<std::string> gpudb::CreateUnionRequest::outputColumnNames</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>The list of names of the columns to be stored in the output table. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00385">385</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
      </div>
    </div>

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

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

      <div className="memdoc">
        <p>Name of the table to be created, in \[ schema\_name. ]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a> and meeting <a href="/content/concepts/tables/#table-naming-criteria" target="_top">table naming criteria</a>. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00366">366</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ae7091488b3af0545b3275aee90d0eeb4">◆ </a></span>tableNames</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::vector\<std::string> gpudb::CreateUnionRequest::tableNames</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>The list of table names to merge, in \[ schema\_name. ]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. </p>
        <p>Must contain the names of one or more existing tables. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__union_8h_source#l00375">375</a> of file <a className="el" href="/content/api/cpp/create__union_8h_source">create\_union.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/create__union_8h_source">create\_union.h</a></li>
    </ul>
  </div>
</div>
