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

> gpudb::RawInsertRecordsRequest — 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#a1ec81d92f949358379266d42ae12bae7">GPUdb::insertRecordsRaw</a>. <a href="#details">More...</a></p>
    <p><code>#include \<<a className="el" href="/content/api/cpp/insert__records_8h_source">gpudb/protocol/insert\_records.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:a2f60db85ba8dd3ceb2d894e7ab3c1595" id="r_a2f60db85ba8dd3ceb2d894e7ab3c1595">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a2f60db85ba8dd3ceb2d894e7ab3c1595">RawInsertRecordsRequest</a> ()</td>
      </tr>

      <tr className="memdesc:a2f60db85ba8dd3ceb2d894e7ab3c1595">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs a <a className="el" href="/content/api/cpp/structgpudb_1_1RawInsertRecordsRequest" title="A set of parameters for GPUdb::insertRecordsRaw.">RawInsertRecordsRequest</a> object with default parameters. <br /></td>
      </tr>

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

      <tr className="memitem:a073e9f1e6adb829123dad8bf7f6868ba" id="r_a073e9f1e6adb829123dad8bf7f6868ba">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a073e9f1e6adb829123dad8bf7f6868ba">RawInsertRecordsRequest</a> (const std::string \&tableName\_, const std::vector\< std::vector\< uint8\_t > > \&list\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

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

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

      <tr className="memitem:af95788a59d361d0e4a62dc9a25eb2b4c" id="r_af95788a59d361d0e4a62dc9a25eb2b4c">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#af95788a59d361d0e4a62dc9a25eb2b4c">RawInsertRecordsRequest</a> (const std::string \&tableName\_, const std::vector\< std::vector\< uint8\_t > > \&list\_, const std::vector\< std::string > \&listStr\_, const std::string \&listEncoding\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

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

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

      <tr className="memdesc:ac24b77c63e1428e5c9efd405bf9c8746">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Name of table to which the records are to be added, 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:ac24b77c63e1428e5c9efd405bf9c8746">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a4f7489cb66dee6c658b60864e3ded0cf" id="r_a4f7489cb66dee6c658b60864e3ded0cf">
        <td className="memItemLeft" align="right" valign="top">std::vector\< std::vector\< uint8\_t > > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a4f7489cb66dee6c658b60864e3ded0cf">list</a></td>
      </tr>

      <tr className="memdesc:a4f7489cb66dee6c658b60864e3ded0cf">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">An array of binary-encoded data for the records to be added. <br /></td>
      </tr>

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

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

      <tr className="memdesc:a6cc561d8d59a24b60f3964eae5f29f93">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">An array of JSON encoded data for the records to be added. <br /></td>
      </tr>

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

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

      <tr className="memdesc:a9a86eb455c0c897c6eb1cd9147e4f0da">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">The encoding of the records to be inserted. <br /></td>
      </tr>

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

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

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

      <tr className="separator:a3d1a456679d9a00cfd53ff7d08f8a06f">
        <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#a1ec81d92f949358379266d42ae12bae7">GPUdb::insertRecordsRaw</a>. </p>
      <p>Adds multiple records to the specified table. The operation is synchronous, meaning that a response will not be returned until all the records are fully inserted and available. The response payload provides the counts of the number of records actually inserted and/or updated, and can provide the unique identifier of each added record.</p>
      <p>The <a className="el" href="#a3d1a456679d9a00cfd53ff7d08f8a06f">options</a> parameter can be used to customize this function's behavior.</p>
      <p>The <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> option specifies the record collision policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>, but is ignored if no primary key exists.</p>
      <p>The <a className="el" href="/content/api/cpp/namespacegpudb#a856c802e8393a8a5771f4200845b3d00">return\_record\_ids</a> option indicates that the database should return the unique identifiers of inserted records. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00035">35</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
    </div>

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

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::RawInsertRecordsRequest::RawInsertRecordsRequest </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_1RawInsertRecordsRequest" title="A set of parameters for GPUdb::insertRecordsRaw.">RawInsertRecordsRequest</a> object with default parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00040">40</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

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

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::RawInsertRecordsRequest::RawInsertRecordsRequest </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::vector\< uint8\_t > > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">list\_</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_1RawInsertRecordsRequest" title="A set of parameters for GPUdb::insertRecordsRaw.">RawInsertRecordsRequest</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 table to which the records are to be added, in \[schema\_name.]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. Must be an existing table. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">list\_</td>
                <td>An array of binary-encoded data for the records to be added. All records must be of the same type as that of the table. Empty array if <span className="em arg">listEncoding\_</span> is <a className="el" href="/content/api/cpp/namespacegpudb#a3467bbd9aa98cec510d1788d9fe6783f">json</a>. </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#aced7e07b232676a8e62a6da2adc83110">insert\_records\_update\_on\_existing\_pk</a>: Specifies the record collision policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>. If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any existing table record with primary key values that match those of a record being inserted will be replaced by that new record (the new data will be "upserted"). If set to <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, any existing table record with primary key values that match those of a record being inserted will remain unchanged, while the new record will be rejected and the error handled as determined by <a className="el" href="/content/api/cpp/namespacegpudb#ac54a9b457e65e7a4387c93a49071f164">ignore\_existing\_pk</a>, <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">allow\_partial\_batch</a>, and <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">return\_individual\_errors</a>. If the specified table does not have a primary key, then this option has no effect. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>: Upsert new records when primary keys match existing records. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>: Reject new records when primary keys match existing records. </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a8aa572a7b0774e3a668e67ec7e1a6205">insert\_records\_enable\_inplace\_updates</a>: Applies only when upserting (when <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>). If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, an existing record matched by primary key is modified in place. If set to <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, it is updated by deleting the existing record and inserting a replacement (delete and insert), which prevents the change from being reflected in dependent materialized views until they are refreshed. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#ac54a9b457e65e7a4387c93a49071f164">insert\_records\_ignore\_existing\_pk</a>: Specifies the record collision error-suppression policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>, only used when not in upsert mode (upsert mode is disabled when <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>). If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any record being inserted that is rejected for having primary key values that match those of an existing table record will be ignored with no error generated. If <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, the rejection of any record for having primary key values matching an existing record will result in an error being reported, as determined by <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">allow\_partial\_batch</a> and <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">return\_individual\_errors</a>. If the specified table does not have a primary key or if upsert mode is in effect (<a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>), then this option has no effect. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>: Ignore new records whose primary key values collide with those of existing records. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>: Treat as errors any new records whose primary key values collide with those of existing records. </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4273dd6e4cab34f09509b6f2e02c59d1">insert\_records\_pk\_conflict\_predicate\_higher</a>: The record with higher value for the column resolves the primary-key insert conflict. The default value is ''. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2f863c979be67366d1a00b131b7317b2">insert\_records\_pk\_conflict\_predicate\_lower</a>: The record with lower value for the column resolves the primary-key insert conflict. The default value is ''. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a856c802e8393a8a5771f4200845b3d00">insert\_records\_return\_record\_ids</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a> then return the internal record id along for each inserted record. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a1ad916b3df48e7fb54e4fb87d9b5e6b8">insert\_records\_truncate\_strings</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any strings which are too long for their target charN string columns will be truncated to fit. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">insert\_records\_return\_individual\_errors</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, success will always be returned, and any errors found will be included in the info map. The "bad\_record\_indices" entry is a comma-separated list of bad records (0-based). If so, there will also be an "error\_N" entry for each record with an error, where N is the index (0-based). Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">insert\_records\_allow\_partial\_batch</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, all correct records will be inserted and incorrect records will be rejected and reported. Otherwise, the entire batch will be rejected if any records are incorrect. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a7ab1597e0af17babdda721618006804f">insert\_records\_dry\_run</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, no data will be saved and any errors will be returned. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a1ac05f91f3b11299f75149f4e4bbb353">insert\_records\_request\_schema\_str</a>: <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> schema of <span className="em arg">list\_</span> (when <span className="em arg">listEncoding\_</span> is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">binary</a>), in \[\["{"{"}column\_name{"}"}","{"{"}column\_type{"}"}"]] format. When non-empty and different from the table's schema, the server remaps the incoming records to the table's full schema. Columns present in the table but absent from this schema are filled using their default values, NULL (if nullable), or an error is returned. If empty, records must match the table's full schema. The default value is ''. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a74bae75d7f409a4e951152a4e83c3e63">insert\_records\_transformations</a>: Comma-separated expressions, one per target table column. Each expression is evaluated per record. Empty entries (two consecutive commas) mean no transformation for that column – the value is resolved from the input record, table default, NULL, or an error. Expressions may reference input columns by name or by position ($1 for the first input column, $2 for the second, etc.). The default value is ''. </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/insert__records_8h_source#l00331">331</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#af95788a59d361d0e4a62dc9a25eb2b4c">◆ </a></span>RawInsertRecordsRequest() <span className="overload">\[3/3]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::RawInsertRecordsRequest::RawInsertRecordsRequest </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::vector\< uint8\_t > > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">list\_</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">listStr\_</span></span>, </td>
                </tr>

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

                  <td />

                  <td className="paramtype">const std::string &</td>
                  <td className="paramname"><span className="paramname"><span className="em">listEncoding\_</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_1RawInsertRecordsRequest" title="A set of parameters for GPUdb::insertRecordsRaw.">RawInsertRecordsRequest</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 table to which the records are to be added, in \[schema\_name.]table\_name format, using standard <a href="/content/concepts/tables/#table-name-resolution" target="_top">name resolution rules</a>. Must be an existing table. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">list\_</td>
                <td>An array of binary-encoded data for the records to be added. All records must be of the same type as that of the table. Empty array if <span className="em arg">listEncoding\_</span> is <a className="el" href="/content/api/cpp/namespacegpudb#a3467bbd9aa98cec510d1788d9fe6783f">json</a>. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">listStr\_</td>
                <td>An array of JSON encoded data for the records to be added. All records must be of the same type as that of the table. Empty array if <span className="em arg">listEncoding\_</span> is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">binary</a>. </td>
              </tr>

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

                <td>
                  The encoding of the records to be inserted. Supported values:

                  <ul>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">insert\_records\_binary</a> </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3467bbd9aa98cec510d1788d9fe6783f">insert\_records\_json</a> </li>
                  </ul>

                  The default value is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">insert\_records\_binary</a>.
                </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#aced7e07b232676a8e62a6da2adc83110">insert\_records\_update\_on\_existing\_pk</a>: Specifies the record collision policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>. If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any existing table record with primary key values that match those of a record being inserted will be replaced by that new record (the new data will be "upserted"). If set to <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, any existing table record with primary key values that match those of a record being inserted will remain unchanged, while the new record will be rejected and the error handled as determined by <a className="el" href="/content/api/cpp/namespacegpudb#ac54a9b457e65e7a4387c93a49071f164">ignore\_existing\_pk</a>, <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">allow\_partial\_batch</a>, and <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">return\_individual\_errors</a>. If the specified table does not have a primary key, then this option has no effect. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>: Upsert new records when primary keys match existing records. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>: Reject new records when primary keys match existing records. </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a8aa572a7b0774e3a668e67ec7e1a6205">insert\_records\_enable\_inplace\_updates</a>: Applies only when upserting (when <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>). If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, an existing record matched by primary key is modified in place. If set to <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, it is updated by deleting the existing record and inserting a replacement (delete and insert), which prevents the change from being reflected in dependent materialized views until they are refreshed. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#ac54a9b457e65e7a4387c93a49071f164">insert\_records\_ignore\_existing\_pk</a>: Specifies the record collision error-suppression policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>, only used when not in upsert mode (upsert mode is disabled when <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>). If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any record being inserted that is rejected for having primary key values that match those of an existing table record will be ignored with no error generated. If <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, the rejection of any record for having primary key values matching an existing record will result in an error being reported, as determined by <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">allow\_partial\_batch</a> and <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">return\_individual\_errors</a>. If the specified table does not have a primary key or if upsert mode is in effect (<a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>), then this option has no effect. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>: Ignore new records whose primary key values collide with those of existing records. </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>: Treat as errors any new records whose primary key values collide with those of existing records. </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4273dd6e4cab34f09509b6f2e02c59d1">insert\_records\_pk\_conflict\_predicate\_higher</a>: The record with higher value for the column resolves the primary-key insert conflict. The default value is ''. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2f863c979be67366d1a00b131b7317b2">insert\_records\_pk\_conflict\_predicate\_lower</a>: The record with lower value for the column resolves the primary-key insert conflict. The default value is ''. </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a856c802e8393a8a5771f4200845b3d00">insert\_records\_return\_record\_ids</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a> then return the internal record id along for each inserted record. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a1ad916b3df48e7fb54e4fb87d9b5e6b8">insert\_records\_truncate\_strings</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any strings which are too long for their target charN string columns will be truncated to fit. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">insert\_records\_return\_individual\_errors</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, success will always be returned, and any errors found will be included in the info map. The "bad\_record\_indices" entry is a comma-separated list of bad records (0-based). If so, there will also be an "error\_N" entry for each record with an error, where N is the index (0-based). Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">insert\_records\_allow\_partial\_batch</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, all correct records will be inserted and incorrect records will be rejected and reported. Otherwise, the entire batch will be rejected if any records are incorrect. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a7ab1597e0af17babdda721618006804f">insert\_records\_dry\_run</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, no data will be saved and any errors will be returned. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a1ac05f91f3b11299f75149f4e4bbb353">insert\_records\_request\_schema\_str</a>: <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> schema of <span className="em arg">list\_</span> (when <span className="em arg">listEncoding\_</span> is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">binary</a>), in \[\["{"{"}column\_name{"}"}","{"{"}column\_type{"}"}"]] format. When non-empty and different from the table's schema, the server remaps the incoming records to the table's full schema. Columns present in the table but absent from this schema are filled using their default values, NULL (if nullable), or an error is returned. If empty, records must match the table's full schema. The default value is ''. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a74bae75d7f409a4e951152a4e83c3e63">insert\_records\_transformations</a>: Comma-separated expressions, one per target table column. Each expression is evaluated per record. Empty entries (two consecutive commas) mean no transformation for that column – the value is resolved from the input record, table default, NULL, or an error. Expressions may reference input columns by name or by position ($1 for the first input column, $2 for the second, etc.). The default value is ''. </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/insert__records_8h_source#l00639">639</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

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

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::vector\<std::vector\<uint8\_t> > gpudb::RawInsertRecordsRequest::list</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>An array of binary-encoded data for the records to be added. </p>
        <p>All records must be of the same type as that of the table. Empty array if <a className="el" href="#a9a86eb455c0c897c6eb1cd9147e4f0da">listEncoding</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a3467bbd9aa98cec510d1788d9fe6783f">json</a>. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00661">661</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a9a86eb455c0c897c6eb1cd9147e4f0da">◆ </a></span>listEncoding</h2>

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

      <div className="memdoc">
        <p>The encoding of the records to be inserted. </p>
        <p>Supported values: </p>

        <ul>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">insert\_records\_binary</a> </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3467bbd9aa98cec510d1788d9fe6783f">insert\_records\_json</a> </li>
        </ul>

        <p>The default value is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">insert\_records\_binary</a>. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00680">680</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a6cc561d8d59a24b60f3964eae5f29f93">◆ </a></span>listStr</h2>

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

      <div className="memdoc">
        <p>An array of JSON encoded data for the records to be added. </p>
        <p>All records must be of the same type as that of the table. Empty array if <a className="el" href="#a9a86eb455c0c897c6eb1cd9147e4f0da">listEncoding</a> is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">binary</a>. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00668">668</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

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

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

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

        <ul>
          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">insert\_records\_update\_on\_existing\_pk</a>: Specifies the record collision policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>. If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any existing table record with primary key values that match those of a record being inserted will be replaced by that new record (the new data will be "upserted"). If set to <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, any existing table record with primary key values that match those of a record being inserted will remain unchanged, while the new record will be rejected and the error handled as determined by <a className="el" href="/content/api/cpp/namespacegpudb#ac54a9b457e65e7a4387c93a49071f164">ignore\_existing\_pk</a>, <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">allow\_partial\_batch</a>, and <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">return\_individual\_errors</a>. If the specified table does not have a primary key, then this option has no effect. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>: Upsert new records when primary keys match existing records. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>: Reject new records when primary keys match existing records. </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a8aa572a7b0774e3a668e67ec7e1a6205">insert\_records\_enable\_inplace\_updates</a>: Applies only when upserting (when <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>). If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, an existing record matched by primary key is modified in place. If set to <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, it is updated by deleting the existing record and inserting a replacement (delete and insert), which prevents the change from being reflected in dependent materialized views until they are refreshed. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#ac54a9b457e65e7a4387c93a49071f164">insert\_records\_ignore\_existing\_pk</a>: Specifies the record collision error-suppression policy for inserting into a table with a <a href="/content/concepts/tables/#primary-keys" target="_top">primary key</a>, only used when not in upsert mode (upsert mode is disabled when <a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>). If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any record being inserted that is rejected for having primary key values that match those of an existing table record will be ignored with no error generated. If <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">false</a>, the rejection of any record for having primary key values matching an existing record will result in an error being reported, as determined by <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">allow\_partial\_batch</a> and <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">return\_individual\_errors</a>. If the specified table does not have a primary key or if upsert mode is in effect (<a className="el" href="/content/api/cpp/namespacegpudb#aced7e07b232676a8e62a6da2adc83110">update\_on\_existing\_pk</a> is <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>), then this option has no effect. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a>: Ignore new records whose primary key values collide with those of existing records. </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>: Treat as errors any new records whose primary key values collide with those of existing records. </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4273dd6e4cab34f09509b6f2e02c59d1">insert\_records\_pk\_conflict\_predicate\_higher</a>: The record with higher value for the column resolves the primary-key insert conflict. The default value is ''. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2f863c979be67366d1a00b131b7317b2">insert\_records\_pk\_conflict\_predicate\_lower</a>: The record with lower value for the column resolves the primary-key insert conflict. The default value is ''. </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a856c802e8393a8a5771f4200845b3d00">insert\_records\_return\_record\_ids</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a> then return the internal record id along for each inserted record. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a1ad916b3df48e7fb54e4fb87d9b5e6b8">insert\_records\_truncate\_strings</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, any strings which are too long for their target charN string columns will be truncated to fit. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#aba17bcf17be8ede74d65ad1375d777d2">insert\_records\_return\_individual\_errors</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, success will always be returned, and any errors found will be included in the info map. The "bad\_record\_indices" entry is a comma-separated list of bad records (0-based). If so, there will also be an "error\_N" entry for each record with an error, where N is the index (0-based). Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#abba4285a95a1175e47d97d33c94a6b5a">insert\_records\_allow\_partial\_batch</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, all correct records will be inserted and incorrect records will be rejected and reported. Otherwise, the entire batch will be rejected if any records are incorrect. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a7ab1597e0af17babdda721618006804f">insert\_records\_dry\_run</a>: If set to <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">true</a>, no data will be saved and any errors will be returned. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2e622343f394ec8057ae448aec6cf3b7">insert\_records\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#ac24439cf2e2fba1d969bcf941fdb7e38">insert\_records\_false</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a1ac05f91f3b11299f75149f4e4bbb353">insert\_records\_request\_schema\_str</a>: <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> schema of <a className="el" href="#a4f7489cb66dee6c658b60864e3ded0cf">list</a> (when <a className="el" href="#a9a86eb455c0c897c6eb1cd9147e4f0da">listEncoding</a> is <a className="el" href="/content/api/cpp/namespacegpudb#aec16bfa6e0b549e062ce8ffe24cd9949">binary</a>), in \[\["{"{"}column\_name{"}"}","{"{"}column\_type{"}"}"]] format. When non-empty and different from the table's schema, the server remaps the incoming records to the table's full schema. Columns present in the table but absent from this schema are filled using their default values, NULL (if nullable), or an error is returned. If empty, records must match the table's full schema. The default value is ''. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a74bae75d7f409a4e951152a4e83c3e63">insert\_records\_transformations</a>: Comma-separated expressions, one per target table column. Each expression is evaluated per record. Empty entries (two consecutive commas) mean no transformation for that column – the value is resolved from the input record, table default, NULL, or an error. Expressions may reference input columns by name or by position ($1 for the first input column, $2 for the second, etc.). The default value is ''. </li>
        </ul>

        <p>The default value is an empty map. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00876">876</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.h</a>.</p>
      </div>
    </div>

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

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

      <div className="memdoc">
        <p>Name of table to which the records are to be added, 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 be an existing table. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/insert__records_8h_source#l00654">654</a> of file <a className="el" href="/content/api/cpp/insert__records_8h_source">insert\_records.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/insert__records_8h_source">insert\_records.h</a></li>
    </ul>
  </div>
</div>
