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

# grantPermission

<div className="kinetica-doxygen">
  <div id="a9634c497d7035ee98062b6f92a63be8d" />

  <h2 className="memtitle"><span className="permalink"><a href="#a9634c497d7035ee98062b6f92a63be8d">◆ </a></span>grantPermission() <span className="overload">\[1/4]</span></h2>

  <div className="memitem">
    <div className="memproto">
      <table className="memname">
        <tr>
          <td className="memname"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">GrantPermissionResponse</a> gpudb::GPUdb::grantPermission </td>
          <td>(</td>
          <td className="paramtype">const <a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionRequest">GrantPermissionRequest</a> &</td>
          <td className="paramname"><span className="paramname"><span className="em">request\_</span></span></td>
          <td>)</td>
          <td> const</td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Grant user or role the specified permission on the specified object. </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">request\_</td>
              <td><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionRequest">Request</a> object containing the parameters for the operation.</td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">Response</a> object containing the result of the operation. </div>
      </div>
    </div>
  </div>

  <div id="a8952ec4a4b6493b32acbe9b5e6a7959f" />

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

  <div className="memitem">
    <div className="memproto">
      <table className="memname">
        <tr>
          <td className="memname"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">GrantPermissionResponse</a> & gpudb::GPUdb::grantPermission </td>
          <td>(</td>
          <td className="paramtype">const <a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionRequest">GrantPermissionRequest</a> &</td>
          <td className="paramname"><span className="paramname"><span className="em">request\_</span></span>, </td>
        </tr>

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

          <td />

          <td className="paramtype"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">GrantPermissionResponse</a> &</td>
          <td className="paramname"><span className="paramname"><span className="em">response\_</span></span> ) const</td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Grant user or role the specified permission on the specified object. </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">request\_</td>
              <td><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionRequest">Request</a> object containing the parameters for the operation. </td>
            </tr>

            <tr>
              <td className="paramdir">\[out]</td>
              <td className="paramname">response\_</td>
              <td><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">Response</a> object containing the results of the operation.</td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">Response</a> object containing the result of the operation (initially passed in by reference). </div>
      </div>
    </div>
  </div>

  <div id="ad2439e67beadacbe234814ad9c4e4691" />

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

  <div className="memitem">
    <div className="memproto">
      <table className="memname">
        <tr>
          <td className="memname"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">GrantPermissionResponse</a> gpudb::GPUdb::grantPermission </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> ) const</td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Grant user or role the specified permission on the specified object. </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 or role for which the permission is being granted. Must be an existing user or role. The default value is ''. </td>
            </tr>

            <tr>
              <td className="paramdir">\[in]</td>
              <td className="paramname">object</td>
              <td>Name of object permission is being granted to. 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 granted to. Supported values:

                <ul>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a37206fbd0e3f9a13ba7501bba59fba35">grant\_permission\_catalog</a>: Catalog </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a42fb948603eb67a1878fe13482424ccc">grant\_permission\_context</a>: Context </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a30324ffbea79fcc2c03d2d2847e86bd4">grant\_permission\_credential</a>: Credential </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a523356365f81da1f53fc155711e140ed">grant\_permission\_datasink</a>: Data Sink </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9e2706323be00f3327c77aa5d870978f">grant\_permission\_datasource</a>: Data Source </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2d77669b19afc43493c7c9536ce1877e">grant\_permission\_directory</a>: KIFS File Directory </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae95634b80d04aa9bcaced536756ea65c">grant\_permission\_graph</a>: A Graph object </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a27022cfe33fd027afe98bd515ed76164">grant\_permission\_proc</a>: UDF Procedure </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a512589fd51b0092b7103127ae8fdd644">grant\_permission\_schema</a>: Schema </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a16be68186a83c46fde817e4127531312">grant\_permission\_sql\_proc</a>: SQL Procedure </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae3d494fb797e9ac977bcd6f741d953ab">grant\_permission\_system</a>: System-level access </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3e2e5848c2d8628e3c83ff6a937f2691">grant\_permission\_table</a>: Database Table </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9b09ff744019c2ac6820346ecc95386f">grant\_permission\_table\_monitor</a>: Table monitor </li>
                </ul>
              </td>
            </tr>

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

              <td>
                Permission being granted. Supported values:

                <ul>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a89c89f9679a7e3cb100989e71eec9b0b">grant\_permission\_admin</a>: Full read/write and administrative access on the object. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a979b539e99ba5984ae718ab8a2fb4fb2">grant\_permission\_connect</a>: Connect access on the given data source or data sink. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#af47abdc51efdfef4eb6b2722aa70b0e8">grant\_permission\_create</a>: Ability to create new objects of this type. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a0aab091df760dd732ba31c0b7fb9484f">grant\_permission\_delete</a>: Delete rows from tables. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ad5b25c6916cff7f73c637e7d38eb8047">grant\_permission\_execute</a>: Ability to Execute the Procedure object. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a0f36ab5887cbb13e802cff82d3053bdf">grant\_permission\_insert</a>: Insert access to tables. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a438f74c3ac20f9fd42dd1a3e20d3790f">grant\_permission\_monitor</a>: Monitor logs and statistics. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a692ef22b4fb5fcb9c69324be90c3c653">grant\_permission\_read</a>: Ability to read, list and use the object. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa34b4ec6ad55aaf3ecafd10b3cb0f19a">grant\_permission\_send\_alert</a>: Ability to send system alerts. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a668b88450069d5970c15657fe9d4f895">grant\_permission\_update</a>: Update access to the table. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa48e03113ef418f1eedb6828f0b810f6">grant\_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#a8a5928c9d9b4efcbb03f388ab98d08dd">grant\_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#a860307a66632035036a5055a090bd1fb">grant\_permission\_columns</a>: Apply table security to these columns, comma-separated. The default value is ''. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab61a6300639ade83eb2668f922d66b24">grant\_permission\_filter\_expression</a>: Filter expression to apply to this grant. Only rows that match the filter will be affected. The default value is ''. </li>

                  <li>
                    <a className="el" href="/content/api/cpp/namespacegpudb#a9c23b453e73de3a3acd1c44f17b9b36d">grant\_permission\_with\_grant\_option</a>: Allow the recipient to grant the same permission (or subset) to others. Supported values:

                    <ul>
                      <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3b94060fa83483944ccd69ec45996f1e">grant\_permission\_true</a> </li>
                      <li> <a className="el" href="/content/api/cpp/namespacegpudb#aedd795b6c6635094d46108eb8242cb13">grant\_permission\_false</a> </li>
                    </ul>

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

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

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">Response</a> object containing the result of the operation. </div>
      </div>
    </div>
  </div>

  <div id="a13c6927f982fefb3149bbd625970e994" />

  <h2 className="memtitle"><span className="permalink"><a href="#a13c6927f982fefb3149bbd625970e994">◆ </a></span>grantPermission() <span className="overload">\[4/4]</span></h2>

  <div className="memitem">
    <div className="memproto">
      <table className="memname">
        <tr>
          <td className="memname"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">GrantPermissionResponse</a> & gpudb::GPUdb::grantPermission </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>

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

          <td />

          <td className="paramtype"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">GrantPermissionResponse</a> &</td>
          <td className="paramname"><span className="paramname"><span className="em">response\_</span></span> ) const</td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Grant user or role the specified permission on the specified object. </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 or role for which the permission is being granted. Must be an existing user or role. The default value is ''. </td>
            </tr>

            <tr>
              <td className="paramdir">\[in]</td>
              <td className="paramname">object</td>
              <td>Name of object permission is being granted to. 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 granted to. Supported values:

                <ul>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a37206fbd0e3f9a13ba7501bba59fba35">grant\_permission\_catalog</a>: Catalog </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a42fb948603eb67a1878fe13482424ccc">grant\_permission\_context</a>: Context </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a30324ffbea79fcc2c03d2d2847e86bd4">grant\_permission\_credential</a>: Credential </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a523356365f81da1f53fc155711e140ed">grant\_permission\_datasink</a>: Data Sink </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9e2706323be00f3327c77aa5d870978f">grant\_permission\_datasource</a>: Data Source </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a2d77669b19afc43493c7c9536ce1877e">grant\_permission\_directory</a>: KIFS File Directory </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae95634b80d04aa9bcaced536756ea65c">grant\_permission\_graph</a>: A Graph object </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a27022cfe33fd027afe98bd515ed76164">grant\_permission\_proc</a>: UDF Procedure </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a512589fd51b0092b7103127ae8fdd644">grant\_permission\_schema</a>: Schema </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a16be68186a83c46fde817e4127531312">grant\_permission\_sql\_proc</a>: SQL Procedure </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae3d494fb797e9ac977bcd6f741d953ab">grant\_permission\_system</a>: System-level access </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3e2e5848c2d8628e3c83ff6a937f2691">grant\_permission\_table</a>: Database Table </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a9b09ff744019c2ac6820346ecc95386f">grant\_permission\_table\_monitor</a>: Table monitor </li>
                </ul>
              </td>
            </tr>

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

              <td>
                Permission being granted. Supported values:

                <ul>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a89c89f9679a7e3cb100989e71eec9b0b">grant\_permission\_admin</a>: Full read/write and administrative access on the object. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a979b539e99ba5984ae718ab8a2fb4fb2">grant\_permission\_connect</a>: Connect access on the given data source or data sink. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#af47abdc51efdfef4eb6b2722aa70b0e8">grant\_permission\_create</a>: Ability to create new objects of this type. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a0aab091df760dd732ba31c0b7fb9484f">grant\_permission\_delete</a>: Delete rows from tables. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ad5b25c6916cff7f73c637e7d38eb8047">grant\_permission\_execute</a>: Ability to Execute the Procedure object. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a0f36ab5887cbb13e802cff82d3053bdf">grant\_permission\_insert</a>: Insert access to tables. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a438f74c3ac20f9fd42dd1a3e20d3790f">grant\_permission\_monitor</a>: Monitor logs and statistics. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a692ef22b4fb5fcb9c69324be90c3c653">grant\_permission\_read</a>: Ability to read, list and use the object. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa34b4ec6ad55aaf3ecafd10b3cb0f19a">grant\_permission\_send\_alert</a>: Ability to send system alerts. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#a668b88450069d5970c15657fe9d4f895">grant\_permission\_update</a>: Update access to the table. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa48e03113ef418f1eedb6828f0b810f6">grant\_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#a8a5928c9d9b4efcbb03f388ab98d08dd">grant\_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#a860307a66632035036a5055a090bd1fb">grant\_permission\_columns</a>: Apply table security to these columns, comma-separated. The default value is ''. </li>
                  <li> <a className="el" href="/content/api/cpp/namespacegpudb#ab61a6300639ade83eb2668f922d66b24">grant\_permission\_filter\_expression</a>: Filter expression to apply to this grant. Only rows that match the filter will be affected. The default value is ''. </li>

                  <li>
                    <a className="el" href="/content/api/cpp/namespacegpudb#a9c23b453e73de3a3acd1c44f17b9b36d">grant\_permission\_with\_grant\_option</a>: Allow the recipient to grant the same permission (or subset) to others. Supported values:

                    <ul>
                      <li> <a className="el" href="/content/api/cpp/namespacegpudb#a3b94060fa83483944ccd69ec45996f1e">grant\_permission\_true</a> </li>
                      <li> <a className="el" href="/content/api/cpp/namespacegpudb#aedd795b6c6635094d46108eb8242cb13">grant\_permission\_false</a> </li>
                    </ul>

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

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

            <tr>
              <td className="paramdir">\[out]</td>
              <td className="paramname">response\_</td>
              <td><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">Response</a> object containing the results of the operation.</td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd"><a className="el" href="/content/api/cpp/structgpudb_1_1GrantPermissionResponse">Response</a> object containing the result of the operation (initially passed in by reference). </div>
      </div>
    </div>
  </div>
</div>
