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

> gpudb::CreateJoinTableRequest — 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#a3446363f962c29930fd54ab38b8d2f24">GPUdb::createJoinTable</a>. <a href="#details">More...</a></p>
    <p><code>#include \<<a className="el" href="/content/api/cpp/create__join__table_8h_source">gpudb/protocol/create\_join\_table.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:a216613fec60f1a1aeb153ab1f44e7c42" id="r_a216613fec60f1a1aeb153ab1f44e7c42">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a216613fec60f1a1aeb153ab1f44e7c42">CreateJoinTableRequest</a> ()</td>
      </tr>

      <tr className="memdesc:a216613fec60f1a1aeb153ab1f44e7c42">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs a <a className="el" href="/content/api/cpp/structgpudb_1_1CreateJoinTableRequest" title="A set of parameters for GPUdb::createJoinTable.">CreateJoinTableRequest</a> object with default parameters. <br /></td>
      </tr>

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

      <tr className="memitem:a660cf8c3eb361c7a4083af24b142102b" id="r_a660cf8c3eb361c7a4083af24b142102b">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a660cf8c3eb361c7a4083af24b142102b">CreateJoinTableRequest</a> (const std::string \&joinTableName\_, const std::vector\< std::string > \&tableNames\_, const std::vector\< std::string > \&columnNames\_, const std::vector\< std::string > \&expressions\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

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

      <tr className="separator:a660cf8c3eb361c7a4083af24b142102b">
        <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:ab48b65c64aa5d3a3db51f1c027a6f558" id="r_ab48b65c64aa5d3a3db51f1c027a6f558">
        <td className="memItemLeft" align="right" valign="top">std::string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ab48b65c64aa5d3a3db51f1c027a6f558">joinTableName</a></td>
      </tr>

      <tr className="memdesc:ab48b65c64aa5d3a3db51f1c027a6f558">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Name of the join 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:ab48b65c64aa5d3a3db51f1c027a6f558">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:aafbeab9c45d12d7ede05d753d4a91ea3">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">The list of table names composing the join, each in \[ schema\_name. <br /></td>
      </tr>

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

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

      <tr className="memdesc:a361c71172741c9949baeea21e9572951">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">List of member table columns or column expressions to be included in the join. <br /></td>
      </tr>

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

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

      <tr className="memdesc:a43f4c9517677cdfca74cc548d798d06e">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">An optional list of expressions to combine and filter the joined tables. <br /></td>
      </tr>

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

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

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

      <tr className="separator:ad5bc89cfad540cd242092f8186ff7055">
        <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#a3446363f962c29930fd54ab38b8d2f24">GPUdb::createJoinTable</a>. </p>
      <p>Creates a table that is the result of a SQL JOIN.</p>
      <p>For join details and examples see: <a href="/content/concepts/joins/" target="_top">Joins</a>. For limitations, see <a href="/content/concepts/joins/#limitations-cautions" target="_top">Join Limitations and Cautions</a>. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__join__table_8h_source#l00023">23</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
    </div>

    <h2 className="groupheader">Constructor & Destructor Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a216613fec60f1a1aeb153ab1f44e7c42">◆ </a></span>CreateJoinTableRequest() <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::CreateJoinTableRequest::CreateJoinTableRequest </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_1CreateJoinTableRequest" title="A set of parameters for GPUdb::createJoinTable.">CreateJoinTableRequest</a> object with default parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__join__table_8h_source#l00028">28</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a660cf8c3eb361c7a4083af24b142102b">◆ </a></span>CreateJoinTableRequest() <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::CreateJoinTableRequest::CreateJoinTableRequest </td>
                  <td>(</td>
                  <td className="paramtype">const std::string &</td>
                  <td className="paramname"><span className="paramname"><span className="em">joinTableName\_</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::string > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">columnNames\_</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">expressions\_</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_1CreateJoinTableRequest" title="A set of parameters for GPUdb::createJoinTable.">CreateJoinTableRequest</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">joinTableName\_</td>
                <td>Name of the join 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 composing the join, each in \[schema\_name.]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. Corresponds to a SQL statement FROM clause. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">columnNames\_</td>
                <td>List of member table columns or column expressions to be included in the join. Columns can be prefixed with 'table\_id.column\_name', where 'table\_id' is the table name or alias. Columns can be aliased via the syntax 'column\_name as alias'. Wild cards '<span className="em">' can be used to include all columns across member tables or 'table\_id.</span>' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased–therefore, the '\*' wild card cannot be used if column names aren't unique across all tables. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">expressions\_</td>
                <td>An optional list of expressions to combine and filter the joined tables. Corresponds to a SQL statement WHERE clause. For details see: <a href="/content/concepts/expressions/" target="_top">expressions</a>. The default value is an empty vector. </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#a7593270978b9443ff37e1c02c99eb019">create\_join\_table\_create\_temp\_table</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#ab7e6ed428d4b494c517b78753fd1f8e7">true</a>, a unique temporary table name will be generated in the sys\_temp schema and used in place of <span className="em arg">joinTableName\_</span>. 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#a79e60033da729f59de1afef5b8d8ac30">qualified\_join\_table\_name</a>. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab7e6ed428d4b494c517b78753fd1f8e7">create\_join\_table\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae135f2e5fc0d24d2e21c6bbc43f82748">create\_join\_table\_false</a> </li>
                      </ul>

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

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ad1d4cd0b01da8ce9b9e3b0b633480741">create\_join\_table\_collection\_name</a>: \[DEPRECATED–please specify the containing schema for the join as part of <span className="em arg">joinTableName\_</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 a schema for the join. If the schema is non-existent, it will be automatically created. The default value is ''. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae0bc574081e06d2c4458db00b7eeca06">create\_join\_table\_max\_query\_dimensions</a>: No longer used. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a907c41d66f9b54f0df1e0e0f4ef512df">create\_join\_table\_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#a4ef5fbbf2e86ef89d2a36c445be51523">create\_join\_table\_ttl</a>: Sets the <a href="/content/concepts/ttl/" target="_top">TTL</a> of the join table specified in <span className="em arg">joinTableName\_</span>. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a6ab3222e9f04dd96dcaef4433e929f3f">create\_join\_table\_view\_id</a>: View this projection is part of. The default value is ''. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#afe43c787a7446c27873464bb374161b1">create\_join\_table\_no\_count</a>: Return a count of 0 for the join table for logging and for <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#ae446b45c99e9b4afa26726bce8ad23cc">GPUdb::showTable</a>; optimization needed for large overlapped equi-join stencils. The default value is 'false'. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a97a8410473ed65b55275b7438df6519b">create\_join\_table\_chunk\_size</a>: Maximum number of records per joined-chunk for this table. Defaults to the gpudb.conf file chunk size. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a83e7283d83f28c997748ec402ca983bd">create\_join\_table\_enable\_virtual\_chunking</a>: Collect chunks with accumulated size less than chunk\_size into a single chunk. The default value is 'false'. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a7b70527fe34feed9e0b3ea25614f195d">create\_join\_table\_max\_virtual\_chunk\_size</a>: Maximum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk\_size if virtual chunking otherwise enabled. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196efbc454b15e9ae621b09f07129d8">create\_join\_table\_min\_virtual\_chunk\_size</a>: Minimum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk\_size if virtual chunking otherwise enabled. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ada0f55eb8d263c63df66980725228d36">create\_join\_table\_enable\_sparse\_virtual\_chunking</a>: Materialize virtual chunks with only non-deleted values. The default value is 'false'. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a46bbecdb272cf034da7a534cf308a11b">create\_join\_table\_enable\_equi\_join\_lazy\_result\_store</a>: Allow using the lazy result store to cache computation of one side of a multichunk equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-join. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a514d92702f85ce608f02811a0bf82a3f">create\_join\_table\_enable\_predicate\_equi\_join\_lazy\_result\_store</a>: Allow using the lazy result store to cache computation of one side of a multichunk predicate-equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-join. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a7ce421562b5bfc67d5fb7339c08602cf">create\_join\_table\_enable\_pk\_equi\_join</a>: Use equi-join to do primary key joins rather than using primary key index. </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__join__table_8h_source#l00203">203</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
      </div>
    </div>

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

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

      <div className="memdoc">
        <p>List of member table columns or column expressions to be included in the join. </p>
        <p>Columns can be prefixed with 'table\_id.column\_name', where 'table\_id' is the table name or alias. Columns can be aliased via the syntax 'column\_name as alias'. Wild cards '<span className="em">' can be used to include all columns across member tables or 'table\_id.</span>' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased–therefore, the '\*' wild card cannot be used if column names aren't unique across all tables. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__join__table_8h_source#l00241">241</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a43f4c9517677cdfca74cc548d798d06e">◆ </a></span>expressions</h2>

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

      <div className="memdoc">
        <p>An optional list of expressions to combine and filter the joined tables. </p>
        <p>Corresponds to a SQL statement WHERE clause. For details see: <a href="/content/concepts/expressions/" target="_top">expressions</a>. The default value is an empty vector. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__join__table_8h_source#l00249">249</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ab48b65c64aa5d3a3db51f1c027a6f558">◆ </a></span>joinTableName</h2>

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

      <div className="memdoc">
        <p>Name of the join 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__join__table_8h_source#l00220">220</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
      </div>
    </div>

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

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

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

        <ul>
          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a7593270978b9443ff37e1c02c99eb019">create\_join\_table\_create\_temp\_table</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#ab7e6ed428d4b494c517b78753fd1f8e7">true</a>, a unique temporary table name will be generated in the sys\_temp schema and used in place of <a className="el" href="#ab48b65c64aa5d3a3db51f1c027a6f558">joinTableName</a>. 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#a79e60033da729f59de1afef5b8d8ac30">qualified\_join\_table\_name</a>. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab7e6ed428d4b494c517b78753fd1f8e7">create\_join\_table\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae135f2e5fc0d24d2e21c6bbc43f82748">create\_join\_table\_false</a> </li>
            </ul>

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

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ad1d4cd0b01da8ce9b9e3b0b633480741">create\_join\_table\_collection\_name</a>: \[DEPRECATED–please specify the containing schema for the join as part of <a className="el" href="#ab48b65c64aa5d3a3db51f1c027a6f558">joinTableName</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 a schema for the join. If the schema is non-existent, it will be automatically created. The default value is ''. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae0bc574081e06d2c4458db00b7eeca06">create\_join\_table\_max\_query\_dimensions</a>: No longer used. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a907c41d66f9b54f0df1e0e0f4ef512df">create\_join\_table\_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#a4ef5fbbf2e86ef89d2a36c445be51523">create\_join\_table\_ttl</a>: Sets the <a href="/content/concepts/ttl/" target="_top">TTL</a> of the join table specified in <a className="el" href="#ab48b65c64aa5d3a3db51f1c027a6f558">joinTableName</a>. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a6ab3222e9f04dd96dcaef4433e929f3f">create\_join\_table\_view\_id</a>: View this projection is part of. The default value is ''. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#afe43c787a7446c27873464bb374161b1">create\_join\_table\_no\_count</a>: Return a count of 0 for the join table for logging and for <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#ae446b45c99e9b4afa26726bce8ad23cc">GPUdb::showTable</a>; optimization needed for large overlapped equi-join stencils. The default value is 'false'. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a97a8410473ed65b55275b7438df6519b">create\_join\_table\_chunk\_size</a>: Maximum number of records per joined-chunk for this table. Defaults to the gpudb.conf file chunk size. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a83e7283d83f28c997748ec402ca983bd">create\_join\_table\_enable\_virtual\_chunking</a>: Collect chunks with accumulated size less than chunk\_size into a single chunk. The default value is 'false'. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a7b70527fe34feed9e0b3ea25614f195d">create\_join\_table\_max\_virtual\_chunk\_size</a>: Maximum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk\_size if virtual chunking otherwise enabled. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3196efbc454b15e9ae621b09f07129d8">create\_join\_table\_min\_virtual\_chunk\_size</a>: Minimum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk\_size if virtual chunking otherwise enabled. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ada0f55eb8d263c63df66980725228d36">create\_join\_table\_enable\_sparse\_virtual\_chunking</a>: Materialize virtual chunks with only non-deleted values. The default value is 'false'. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a46bbecdb272cf034da7a534cf308a11b">create\_join\_table\_enable\_equi\_join\_lazy\_result\_store</a>: Allow using the lazy result store to cache computation of one side of a multichunk equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-join. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a514d92702f85ce608f02811a0bf82a3f">create\_join\_table\_enable\_predicate\_equi\_join\_lazy\_result\_store</a>: Allow using the lazy result store to cache computation of one side of a multichunk predicate-equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-join. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a7ce421562b5bfc67d5fb7339c08602cf">create\_join\_table\_enable\_pk\_equi\_join</a>: Use equi-join to do primary key joins rather than using primary key index. </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__join__table_8h_source#l00343">343</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.h</a>.</p>
      </div>
    </div>

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

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

      <div className="memdoc">
        <p>The list of table names composing the join, each in \[ schema\_name. </p>
        <p>\ ]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. Corresponds to a SQL statement FROM clause. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/create__join__table_8h_source#l00229">229</a> of file <a className="el" href="/content/api/cpp/create__join__table_8h_source">create\_join\_table.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__join__table_8h_source">create\_join\_table.h</a></li>
    </ul>
  </div>
</div>
