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

> gpudb::HasPermissionRequest — 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#ad740516d31f0ac8d62a590aa2878a277">GPUdb::hasPermission</a>. <a href="#details">More...</a></p>
    <p><code>#include \<<a className="el" href="/content/api/cpp/has__permission_8h_source">gpudb/protocol/has\_permission.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:a603c833278171f21d020f5e3f3b7607d" id="r_a603c833278171f21d020f5e3f3b7607d">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a603c833278171f21d020f5e3f3b7607d">HasPermissionRequest</a> ()</td>
      </tr>

      <tr className="memdesc:a603c833278171f21d020f5e3f3b7607d">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs a <a className="el" href="/content/api/cpp/structgpudb_1_1HasPermissionRequest" title="A set of parameters for GPUdb::hasPermission.">HasPermissionRequest</a> object with default parameters. <br /></td>
      </tr>

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

      <tr className="memitem:a06180cb33712a8c76e8a4a7d6fdbd6a7" id="r_a06180cb33712a8c76e8a4a7d6fdbd6a7">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a06180cb33712a8c76e8a4a7d6fdbd6a7">HasPermissionRequest</a> (const std::string \&principal\_, const std::string \&object\_, const std::string \&objectType\_, const std::string \&permission\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

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

      <tr className="separator:a06180cb33712a8c76e8a4a7d6fdbd6a7">
        <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:afaa693b5070d1306496d11b10ca91cc4" id="r_afaa693b5070d1306496d11b10ca91cc4">
        <td className="memItemLeft" align="right" valign="top">std::string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#afaa693b5070d1306496d11b10ca91cc4">principal</a></td>
      </tr>

      <tr className="memdesc:afaa693b5070d1306496d11b10ca91cc4">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Name of the user for which the permission is being checked. <br /></td>
      </tr>

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

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

      <tr className="memdesc:abbe8f05ff34521be93e3808b85acb2e9">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Name of object to check for the requested permission. <br /></td>
      </tr>

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

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

      <tr className="memdesc:ac7fe8e6f7afdcb1ac7d83c5816453028">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">The type of object being checked. <br /></td>
      </tr>

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

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

      <tr className="memdesc:a59147e193fe66f91323795d5ffd2c558">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Permission to check for. <br /></td>
      </tr>

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

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

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

      <tr className="separator:a44d980209568decded7b2a3ec2bb5d9a">
        <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#ad740516d31f0ac8d62a590aa2878a277">GPUdb::hasPermission</a>. </p>
      <p>Checks if the specified user has the specified permission on the specified object. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00019">19</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
    </div>

    <h2 className="groupheader">Constructor & Destructor Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a603c833278171f21d020f5e3f3b7607d">◆ </a></span>HasPermissionRequest() <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::HasPermissionRequest::HasPermissionRequest </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_1HasPermissionRequest" title="A set of parameters for GPUdb::hasPermission.">HasPermissionRequest</a> object with default parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00024">24</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a06180cb33712a8c76e8a4a7d6fdbd6a7">◆ </a></span>HasPermissionRequest() <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::HasPermissionRequest::HasPermissionRequest </td>
                  <td>(</td>
                  <td className="paramtype">const std::string &</td>
                  <td className="paramname"><span className="paramname"><span className="em">principal\_</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">object\_</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">objectType\_</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">permission\_</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_1HasPermissionRequest" title="A set of parameters for GPUdb::hasPermission.">HasPermissionRequest</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">principal\_</td>
                <td>Name of the user for which the permission is being checked. Must be an existing user. If blank, will use the current user. The default value is ''. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">object\_</td>
                <td>Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible. </td>
              </tr>

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

                <td>
                  The type of object being checked. Supported values:

                  <ul>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a767c126386b1dc1521403225ca5f2f23">has\_permission\_catalog</a>: External Catalog </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a03af6d590b45321bb2e35fed6828e950">has\_permission\_context</a>: Context </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a090ccf7eb4ef2ad2ff9ed11b17f49c7c">has\_permission\_credential</a>: Credential </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa62f75fd6edf6daa61e954069cf4e5fe">has\_permission\_datasink</a>: Data Sink </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a0c04c6550a9e464de2859f98ff037732">has\_permission\_datasource</a>: Data Source </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4cbca7d37ce5bebc97e7b04c0caca9a3">has\_permission\_directory</a>: KiFS File Directory </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab6cacce8a91d52b7b6b944d3b72be748">has\_permission\_graph</a>: A Graph object </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3ba61d0d3e9837d76b737e4dea2ac875">has\_permission\_proc</a>: UDF Procedure </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#abafb41b476981436f70a94dbeb2bb01d">has\_permission\_schema</a>: Schema </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#adae5146b883404baa649cd512ad4a0d8">has\_permission\_sql\_proc</a>: SQL Procedure </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a51fba795646bb9859ec8285c6b1697bf">has\_permission\_system</a>: System-level access </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a735ac696b15c26bda42e5ac8b83c30b1">has\_permission\_table</a>: Database Table </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#af0c06b4f6465463098bfee9da41ee93a">has\_permission\_table\_monitor</a>: Table monitor </li>
                  </ul>
                </td>
              </tr>

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

                <td>
                  Permission to check for. Supported values:

                  <ul>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a8788ef65be6c9b2c243d14d18121a882">has\_permission\_admin</a>: Full read/write and administrative access on the object. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a71b90d379708ccc0a1f1e0b1451c08de">has\_permission\_connect</a>: Connect access on the given data source or data sink. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a020aa4e42a19ed5f5b2ee46885c69eb0">has\_permission\_create</a>: Ability to create new objects of this type. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#afec66c3b938351e81d2678b4f3bba9e9">has\_permission\_delete</a>: Delete rows from tables. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae2de46a467eeab9af50435966251eae6">has\_permission\_execute</a>: Ability to Execute the Procedure object. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a8fde46efe1ecc83cbfe296db3bc885b3">has\_permission\_insert</a>: Insert access to tables. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a6d4a5cc82e45ffd2dff7f1eadf66ea45">has\_permission\_monitor</a>: Monitor logs and statistics. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3c3964fa47c92ef20cd3413481e8d4f3">has\_permission\_read</a>: Ability to read, list and use the object. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a18ef8628741c5aa01413b020f3334b21">has\_permission\_send\_alert</a>: Ability to send system alerts. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a53c6486ead60a419192fe8cd1e4622c8">has\_permission\_update</a>: Update access to the table. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#a35e4f6e1898c173bc941a92045c58c0d">has\_permission\_user\_admin</a>: Access to administer users and roles that do not have system\_admin permission. </li>
                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ace00eb2e18611481e698239310595e4f">has\_permission\_write</a>: Access to write, change and delete objects. </li>
                  </ul>
                </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#a51a3d6cf6178e3b560e79430f15cd799">has\_permission\_no\_error\_if\_not\_exists</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">false</a> will return an error if the provided <span className="em arg">object\_</span> does not exist or is blank. If <a className="el" href="/content/api/cpp/namespacegpudb#ab1d00c71f5a315f1280671f39d1cff56">true</a> then it will return <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">false</a> for <a className="el" href="/content/api/cpp/structgpudb_1_1HasPermissionResponse#a34fdce033e77733b1438ac249294080e">hasPermission</a>. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab1d00c71f5a315f1280671f39d1cff56">has\_permission\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">has\_permission\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">has\_permission\_false</a>.
                    </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/has__permission_8h_source#l00160">160</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
      </div>
    </div>

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

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

      <div className="memdoc">
        <p>Name of object to check for the requested permission. </p>
        <p>It is recommended to use a fully-qualified name when possible. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00180">180</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ac7fe8e6f7afdcb1ac7d83c5816453028">◆ </a></span>objectType</h2>

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

      <div className="memdoc">
        <p>The type of object being checked. </p>
        <p>Supported values: </p>

        <ul>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a767c126386b1dc1521403225ca5f2f23">has\_permission\_catalog</a>: External Catalog </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a03af6d590b45321bb2e35fed6828e950">has\_permission\_context</a>: Context </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a090ccf7eb4ef2ad2ff9ed11b17f49c7c">has\_permission\_credential</a>: Credential </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa62f75fd6edf6daa61e954069cf4e5fe">has\_permission\_datasink</a>: Data Sink </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a0c04c6550a9e464de2859f98ff037732">has\_permission\_datasource</a>: Data Source </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a4cbca7d37ce5bebc97e7b04c0caca9a3">has\_permission\_directory</a>: KiFS File Directory </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab6cacce8a91d52b7b6b944d3b72be748">has\_permission\_graph</a>: A Graph object </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3ba61d0d3e9837d76b737e4dea2ac875">has\_permission\_proc</a>: UDF Procedure </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#abafb41b476981436f70a94dbeb2bb01d">has\_permission\_schema</a>: Schema </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#adae5146b883404baa649cd512ad4a0d8">has\_permission\_sql\_proc</a>: SQL Procedure </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a51fba795646bb9859ec8285c6b1697bf">has\_permission\_system</a>: System-level access </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a735ac696b15c26bda42e5ac8b83c30b1">has\_permission\_table</a>: Database Table </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#af0c06b4f6465463098bfee9da41ee93a">has\_permission\_table\_monitor</a>: Table monitor </li>
        </ul>

        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00214">214</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
      </div>
    </div>

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

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

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

        <ul>
          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a51a3d6cf6178e3b560e79430f15cd799">has\_permission\_no\_error\_if\_not\_exists</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">false</a> will return an error if the provided <a className="el" href="#abbe8f05ff34521be93e3808b85acb2e9">object</a> does not exist or is blank. If <a className="el" href="/content/api/cpp/namespacegpudb#ab1d00c71f5a315f1280671f39d1cff56">true</a> then it will return <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">false</a> for <a className="el" href="/content/api/cpp/structgpudb_1_1HasPermissionResponse#a34fdce033e77733b1438ac249294080e">hasPermission</a>. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab1d00c71f5a315f1280671f39d1cff56">has\_permission\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">has\_permission\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#a044212fe1d24da28931aa217400a0a0e">has\_permission\_false</a>.
          </li>
        </ul>

        <p>The default value is an empty map. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00271">271</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a59147e193fe66f91323795d5ffd2c558">◆ </a></span>permission</h2>

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

      <div className="memdoc">
        <p>Permission to check for. </p>
        <p>Supported values: </p>

        <ul>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a8788ef65be6c9b2c243d14d18121a882">has\_permission\_admin</a>: Full read/write and administrative access on the object. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a71b90d379708ccc0a1f1e0b1451c08de">has\_permission\_connect</a>: Connect access on the given data source or data sink. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a020aa4e42a19ed5f5b2ee46885c69eb0">has\_permission\_create</a>: Ability to create new objects of this type. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#afec66c3b938351e81d2678b4f3bba9e9">has\_permission\_delete</a>: Delete rows from tables. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae2de46a467eeab9af50435966251eae6">has\_permission\_execute</a>: Ability to Execute the Procedure object. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a8fde46efe1ecc83cbfe296db3bc885b3">has\_permission\_insert</a>: Insert access to tables. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a6d4a5cc82e45ffd2dff7f1eadf66ea45">has\_permission\_monitor</a>: Monitor logs and statistics. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3c3964fa47c92ef20cd3413481e8d4f3">has\_permission\_read</a>: Ability to read, list and use the object. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a18ef8628741c5aa01413b020f3334b21">has\_permission\_send\_alert</a>: Ability to send system alerts. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a53c6486ead60a419192fe8cd1e4622c8">has\_permission\_update</a>: Update access to the table. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#a35e4f6e1898c173bc941a92045c58c0d">has\_permission\_user\_admin</a>: Access to administer users and roles that do not have system\_admin permission. </li>
          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ace00eb2e18611481e698239310595e4f">has\_permission\_write</a>: Access to write, change and delete objects. </li>
        </ul>

        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00247">247</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#afaa693b5070d1306496d11b10ca91cc4">◆ </a></span>principal</h2>

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

      <div className="memdoc">
        <p>Name of the user for which the permission is being checked. </p>
        <p>Must be an existing user. If blank, will use the current user. The default value is ''. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/has__permission_8h_source#l00174">174</a> of file <a className="el" href="/content/api/cpp/has__permission_8h_source">has\_permission.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/has__permission_8h_source">has\_permission.h</a></li>
    </ul>
  </div>
</div>
