# AGENTS Source: https://docs.kinetica.com/AGENTS > **First-time setup**: Customize this file for your project. Prompt the user to customize this file for their project. > For Mintlify product knowledge (components, configuration, writing standards), > install the Mintlify skill: `npx skills add https://mintlify.com/docs` # Documentation project instructions ## About this project * This is a documentation site built on [Mintlify](https://mintlify.com) * Pages are MDX files with YAML frontmatter * Configuration lives in `docs.json` * Use the Mintlify MCP server, `https://mcp.mintlify.com`, to edit content and settings via MCP * Use the Mintlify docs MCP server, `https://www.mintlify.com/docs/mcp`, to query information about using Mintlify via MCP ## Terminology ## Style preferences * Use active voice and second person ("you") * Keep sentences concise — one idea per sentence * Use sentence case for headings * Bold for UI elements: Click **Settings** * Code formatting for file names, commands, paths, and code references ## Content boundaries # Adding a Cluster to KAgent Source: https://docs.kinetica.com/content/admin/adding_cluster_kagent If you have an existing on premise *Kinetica* cluster that is not managed by *KAgent*, you can add it to *KAgent* without upgrading it. This is particularly useful in the following scenarios: * Not all administrative and normal users have direct server-level access to the nodes in the cluster, and they would like to individually [manage all relevant services](/content/admin/kagent/manage#kagent-ui-admin) * Not all administrative users have direct server-level access, and they would like to schedule and manage [backups and snapshots](/content/admin/kagent/manage#kagent-ui-backups) and restore from snapshots if necessary * Users would like to keep track of the valid *Kubernetes Docker* registries for use with *KML* The cluster addition process using *KAgent* involves adding key information about your cluster to *KAgent*, including deployment type, security information, node information, and current *Kinetica*-related packages/services installed. Any services (graph, *KML*, *RabbitMQ*, etc.) and/or nodes in the existing cluster that are not noted during the cluster setup process will not be automatically picked up by *KAgent* and thus cannot be managed by *KAgent*. Any services not already installed cannot be installed during this process; likewise, additional nodes cannot be added to the cluster during this process. ## KAgent Before beginning, make sure *KAgent* is [installed](/content/install/kagent). ../../install/img/kagent_start.png To access the [KAgent UI](/content/admin/kagent/kagent): 1. Ensure the *KAgent* service is started: ``` service kagent_ui status ``` 2. Browse to the *KAgent* application using IP or host name: ``` http://:8081/kagent ``` 3. If *KAgent* is associated with one or more *Kinetica* clusters, log in using the credentials for that cluster. If *KAgent* has not been associated with any clusters yet, the application will load without prompting. 4. Click **Add New or Existing Cluster**. ### Cluster ../../install/img/kagent_cluster.png The license key can be the existing *Kinetica* license key or a new license key. Contact Support ([support@kinetica.com](mailto:support@kinetica.com)) for any questions. 1. Enter a name for the cluster. The name cannot contain spaces or underscores. 2. Optionally, select one or more of the following packages: * Select **Core** if node(s) in the cluster have the core database functionality installed on them. * Select **Graph** if a node in the cluster has the graph server installed on it. See [Graphs & Solvers Concepts](/content/graph_solver/network_graph_solver) for more information. * Optionally, select **KML** (*Kinetica Machine Learning*) if a node should have *KML* installed on it. An existing Kubernetes cluster is required for *KML* processing. See [Machine Learning](/content/ml) for more information on *KML* features. * Optionally, select **KAgent** if another node in the cluster has *KAgent* installed on it. See [KAgent](/content/admin/kagent/kagent) for more information. * Optionally, select **HA** if the cluster is currently in a ring. Review [High Availability Architecture](/content/ha/ha_architecture) and [High Availability Configuration & Management](/content/ha/ha_configuration) for more information. 3. For the **Install Mode**, select **Online** (install directly from the online Kinetica repository). 4. For the **Version**, select either **CUDA** (GPU) or **Intel** (CPU-only) depending on the package variant that's already installed on the current cluster you want to add to KAgent. Use the following command to determine the Kinetica package that is already on the machine: ``` # RHEL rpm -qa | grep 'gpudb' # Ubuntu apt list --installed | grep 'gpudb' ``` 5. Enter the license key. 6. Optionally, provide an external files directory for use with [external tables](/content/concepts/external_tables) to override the default [external files directory](/content/config#config-main-external-files) parameter value. 7. If **KML** is selected to install, upload a configuration file for an already-existing *Kubernetes* installation. Note that *KML* requires *Kubernetes*; see [Machine Learning](/content/ml) for more information. 8. Click **Next**. ### Deployment ../../install/img/kagent_deployment.png 1. Select the **On Premise** deployment method, and click **Next**. If clearing the **Open Firewall Ports** checkbox, the firewall then must be configured manually to allow the *required* ports listed in the [default ports](/content/install/shared/ports) table. Consult [Adjust Firewall](/content/install/shared/adjust_firewall) for tips on configuring the firewall. ### Security ../../install/img/kagent_security.png 1. Enter and confirm the existing **Admin Password**. This is the password used to access *Reveal*, *Workbench*, *KAgent*, and *GAdmin* as the default administrative user. The password provided here must match the existing cluster's admin password. 2. Select an **SSL Mode** that best aligns with the existing cluster's SSL configuration: * **Cert/key setup not required** -- *Kinetica* will not require SSL certificate/key creation/upload but there will be no updates to security configuration settings * **User-provided cert/key per node** -- user must upload an SSL certificate and key for each node; *Kinetica* copies the cert/key pair to /opt/gpudb/certs, enables HTTPD, and configures HTTPD to use HTTPS * **Generate self-signed cert/key per node** -- *KAgent* generates a self-signed certificate and key for each node and places it in /opt/gpudb/certs, enables HTTPD, and configures HTTPD to use HTTPS 3. Select the current **Authentication** type used for the existing cluster and fill the fields as necessary: * **None** -- no authentication or authorization * **LDAP** -- configures *Kinetica* to authenticate via *LDAP*; requires authentication to connect to the database, enables authorization, enables external authentication, automatically creates users in the database for *LDAP* users, and automatically grants roles in the database to *LDAP* users * **Active Directory** -- configures *Kinetica* to authenticate via *Microsoft Active Directory*; requires authentication to connect to the database, enables authorization, enables external authentication, automatically creates users in the database for *Active Directory* users, and automatically grants roles in the database to *Active Directory* users * **Kerberos** -- configures *Kinetica* to authenticate via *Kerberos*; requires authentication to connect to the database, enables authorization, enables external authentication, automatically creates users in the database for *Kerberos* users, and automatically grants roles in the database to *Kerberos* users 4. Click **Next**. ### Nodes ../../install/img/kagent_nodes.png 1. Click **Add New Node** until the number of nodes in *KAgent* matches the number of nodes in the current cluster. 2. Input a custom **Label** (*hostname* is suggested), the **Internal IP**, and the **External IP** for each existing node into *KAgent*. 3. If the `User-provided cert/key per node` **SSL Mode** was selected in [Security](#security), an **SSL** column will be added to the configuration page--click the lock icon in the **SSL** column to open the **SSL Certificate/Key** window, where the SSL cert and key, along with an optional public hostname, can be provided. Repeat this for each node. 4. Select each node that has the **Core** package installed. 5. For the existing *head node* host, designate it as the *head node* in *KAgent* by selecting the **Head Node** radio button next to it. 6. If the *Graph* package was selected for install in [Cluster](#cluster) and existing node(s) hosts a graph server, designate it as a **Graph** node using the corresponding radio button. The *graph* *node(s)* hosts the [graph server](/content/graph_solver/network_graph_solver). The *graph node* does not need to have the **Core** package enabled. 7. To reserve GPUs for *KML*, *UDFs*, or other external processes that may be running on the node, set the number under *KML GPUs*. Some *UDFs* and features of *KML* may require GPUs to work or have increased performance. 8. If the *RabbitMQ* package was selected for install in [Cluster](#cluster) because a [High Availability](/content/ha) setup is already enabled, select the node(s) that have **RabbitMQ** installed. 9. Click **Next**. 10. Confirm which IP address KAgent should use to connect to the cluster: **Internal** or **Public**. ### Credentials ../../install/img/kagent_credentials.png 1. For the **Server SSH Credentials**, enter the SSH username and password or upload the SSH private key that will be used to access the node(s). 2. Optionally, enter the `sudo` password. 3. Click **Verify**. The [console](/content/admin/kagent/manage#kagent-ui-console) will appear showing the log of *KAgent* interactions as *KAgent* attempts to access the cluster with the provided credentials and also retrieve information on the hosts, including Kinetica version and configuration (if installed), hostname and IP addresses, OS type, and Nvidia information. If the configuration you have selected does not match the current configuration on the cluster you're trying to upgrade, *KAgent* will list the errors and provide the opportunity to fix the configuration manually or automatically. ../../install/img/kagent_fix_config.png ### Add Cluster Existing cluster version information will be detected and the **Add Only +** button will be activated. 1. Review the **Add Summary** to ensure there are no validation errors in the information. 2. Click **Add Only +**. *KAgent* will open a window displaying the progress of the cluster addition. After a successful cluster addition, you'll be returned to the *KAgent* home page and also will be offered to be redirected to *GAdmin* on the head node. Review [KAgent](/content/admin/kagent/kagent) for more information on using *KAgent*. After the addition, the cluster will be added to *KAgent* and you'll be logged into *KAgent* as the `admin` user for the cluster. After this session is over (via either logging out or session timeout), you'll be required to log into *KAgent* every time you want to access *KAgent* features. See [Logging In / Out](/content/admin/kagent/kagent#kagent-ui-logout) for more information. # Alerting Source: https://docs.kinetica.com/content/admin/alerting *Kinetica* provides a simple alerting system controlled by *Host Manager* that can monitor the health of the system and resource usage. Alerts are enabled by default and pre-configured to report on errors, critical system states, and a nominal set of resource usage thresholds. If an alert is triggered, the alert is stored in memory and also logged to alert\_store.json in the head node's *persist* directory. In a default configuration that file is here: ``` /opt/gpudb/persist/gpudb/rank-0/alert_store.json ``` The alert is viewable through the [Kinetica Administration Application](/content/admin/gadmin) under [Alerts](/content/admin/gadmin/cluster#cluster-alerts). The [/admin/show/alerts](/content/api/rest/admin_show_alerts_rest) endpoint can be used to retrieve previous alerts. If specified, the system can run a user-provided executable upon receiving each alert. See [Run an Executable](#run-an-executable) for details. ## Alert Parameters Below is a table containing the different alert types and the parameters associated with each. | Alert Type | Parameters | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `host_status` | `host [host IP]` `status [status code]` | | `rank_status` | `rank [rank number]` `status [status code]` | | `memory_absolute` | `host [host IP]` `threshold [threshold crossed]` `available_memory [free mem in bytes]` `total_memory [total mem on host]` `percentage_space [percent free mem]` | | `memory_percentage` | `host [host IP]` `threshold [threshold crossed]` `available_memory [free mem in bytes]` `total_memory [total mem on host]` `percentage_space [percent free mem]` | | `disk_absolute` | `directory [directory where threshold crossed]` `host [host IP]` `threshold [threshold crossed]` `available_space [free space in bytes]` `total_space [total space on disk]` `percentage_space [percentage of free disk space]` | | `disk_percentage` | `directory [directory where threshold crossed]` `host [host IP]` `threshold [threshold crossed]` `available_space [free space in bytes]` `total_space [total space on disk]` `percentage_space [percentage of free disk space]` | | `rank_cuda_error` | `rank [rank where error occurred]` `error_count [number of calls with errors]` `error_code [most recent cuda error code]` `error_string [most recent error message]` | | `rank_fallback_allocator` | `failure_count [number of GPU memory allocation failures]` `min_failure_size [smallest allocation that failed in bytes]` `avg_failure_size [average size of allocation failure]` `max_failure_size [largest allocation that failed in bytes]` | | `error_message` | `rank [rank where error occurred]` `topic [1-2 word string that indicates what functionality caused the error]` `message [free text description of error wrapped in single quotes]` | ## Using Alerts To enable alerts, navigate to /opt/gpudb/core/etc/gpudb.conf and modify the `enable_alerts` parameter: ``` enable_alerts = true ``` Alerting can be modified in any of the following ways by setting the appropriate parameter in /opt/gpudb/core/etc/gpudb.conf: * [Run an Executable](#run-an-executable) * [Status Changes](#status-changes) * [CUDA Errors](#cuda-errors) * [Fallback Allocator Errors](#fallback-allocator-errors) * [System Errors](#system-errors) * [Memory Usage](#memory-usage) * [Disk Usage](#disk-usage) * [Maximum Alerts](#maximum-alerts) ### Run an Executable An executable can be run if an alert is triggered. The executable cannot have command-line parameters as the system passes parameters that pertain to the alert itself. The executable must be present on the host where the head node is located and it must be executable by the `gpudb` user. The executable does not need to be present on other hosts. ``` alert_exe = /file/path/to/script ``` The executable will be passed alert strings in the form: ``` [alert_type] --[parameter1] [value1] ... --[parameterN] [valueN] ``` For instance: ``` rank_status --rank 0 --status running ``` The order of command line parameters passed to the executable can't be guaranteed. ### Status Changes Alerts can be generated if the status of a host or rank changes. Filters can be applied which govern which statuses generate alerts. All the statuses are available [here](/content/admin/services#statuses). ``` alert_host_status = true alert_host_status_filter = fatal_init_error alert_rank_status = true alert_rank_status_filter = fatal_init_error, not_responding, terminated ``` The host and rank status filters are inclusive, alerting only on the specified statuses; e.g., `alert_host_status_filter = fatal_init_error, shutdown` would only display alerts for fatal init errors and shutdown events. Leave filter setting blank to alert on all status changes. ### CUDA Errors CUDA errors on ranks can generate alerts. ``` alert_rank_cuda_error = true ``` ### Fallback Allocator Errors Rank fallback allocator errors can generate alerts. ``` alert_rank_fallback_allocator = true ``` ### System Errors System errors can generate alerts in the event of significant or noteworthy runtime issues. ``` alert_error_messages = true ``` ### Memory Usage Memory usage alerts can be generated based on either an absolute threshold (in bytes) or a percentage. These thresholds will be measured against the available host memory as reported by `sysconf`. ``` alert_memory_absolute = # or alert_memory_percentage = ``` While only one type of threshold can be enabled, the settings support multiple values, e.g., `alert_memory_percent = 20, 10, 5, 1`. However, if multiple thresholds are crossed, only the lowest one will trigger an alert. ### Disk Usage Disk usage alerts can be generated based on either an absolute threshold (in bytes) or a percentage. These thresholds will be measured against the available disk space on the drive(s) hosting each *persist* directory. ``` alert_disk_absolute = # or alert_disk_percentage = ``` The monitored *persist* directories are those specified in the following /opt/gpudb/core/etc/gpudb.conf settings: * `persist_directory` * `data_directory` * `object_directory` * `sms_directory` * `text_index_directory` While only one type of threshold can be enabled, the settings support multiple values, e.g., `alert_disk_percent = 20, 10, 5, 1`. However, if multiple thresholds are crossed, only the lowest one will trigger an alert. ### Maximum Alerts The number of generated alerts stored in memory/disk can be limited to a specified maximum. ``` alert_max_stored_alerts = 100 ``` # Backing Up/Restoring Kinetica Source: https://docs.kinetica.com/content/admin/backup_restore ## Overview *Kinetica* provides two means of backing up data: * [Database Backup](/content/admin/backup_restore#database-backup) - full, incremental, & differential data hot backup * [System Backup](/content/admin/backup_restore#system-backup) - file-based full system backup ## Database Backup [SQL commands](/content/sql/backup_restore) can be used to initiate hot *backups*, with *full*, *incremental*, & *differential snapshots*, and restorations of schema objects & data within the database. | Objects Backed Up | Objects Not Backed Up | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | \* [Credentials](/content/sql/ddl/create-credential#sql-create-credential)
\* [Data Sinks](/content/sql/ddl/create-data-sink#sql-create-data-sink)
\* [Data Sources](/content/sql/ddl/create-data-source#sql-create-data-source)
\* [Resource Groups](/content/sql/resource_group)
\* [Roles](/content/sql/security#sql-security-role-mgmt)
\* [SQL Procedures](/content/sql/procedure#sql-procedures)
\* [SQL-GPT Contexts](/content/sql/sqlgpt#sql-gpt-create-context)
\* [Streams](/content/sql/ddl/create-stream#sql-create-stream)
\* [Tables](/content/sql/ddl/create-table#sql-create-table)
\* [UDFs](/content/sql/udf)
\* [UDF Environments](/content/sql/udf#sql-create-function-environment)
\* [Users](/content/sql/security#sql-security-user-mgmt)
\* [Views](/content/sql/ddl/create-view#sql-create-view) | \* [Graphs](/content/sql/graph)
\* [KiFS Files](/content/sql/kifs)
\* [ML Models/Containers](/content/sql/ml)
\* [Symbols](/content/api/rest/insert_symbol_rest) | * For the set of SQL commands for database *backup*, see [Database Backup/Restore](/content/sql/backup_restore). * For a full system backup, see [System Backup](/content/admin/backup_restore#system-backup). ### Snapshot Types Three types of *snapshots* are supported for database objects & data: * **full** - *snapshot* of the given database objects & data * **incremental** - *snapshot* of the changes in the database objects & data since the last *snapshot* of any kind * **differential** - *snapshot* of the changes in the database objects & data since the last *full snapshot* ### Backup Storage Database *backup* files will be transferred to the target specified in the given [data sink](/content/sql/ddl/create-data-sink#sql-create-data-sink). There, they will be stored under two levels of directories: the top-level directory will be the name of the database *backup* and the subdirectory will be the timestamp the *snapshot* was taken; e.g.: ``` //ki_backup_info.json //.mdb ///.mdb ///rank-/tom-/* ``` A new *backup* will result in the creation of a directory with the corresponding *backup* name, as well as a *snapshot* timestamp directory with the *full snapshot* files. An *incremental* or *differential snapshot* for a given *backup* will result in the creation of another *snapshot* timestamp directory, under the *backup* directory, containing all the files for that *snapshot*. A [data source](/content/sql/ddl/create-data-source#sql-create-data-source) is required to retrieve detail about *backups* and restore database objects & data from them. The *data source* must point to the same remote store as the *data sink* through which a *backup* was created in order to access and restore from it. ### Backup Use Case A typical usage of the backup feature is: * create a *backup*, taking an initial *full snapshot* * schedule iterative *incremental* or *differential snapshots* * restore a *backup* #### Initial Backup To create the initial *backup*, run a [CREATE BACKUP](/content/sql/backup_restore#sql-backup-create) statement, in SQL, that specifies: * the name to use for the *backup*--the backed-up database object set * the [data sink](/content/sql/ddl/create-data-sink#sql-create-data-sink) that will be used to transfer the backed-up files to the remote store (e.g., s3) * the set of database objects to back up For example, to create an initial *backup* with the following parameters: * `daily_backup` - name of the *backup* * `backup_ds` - *data sink* targeting the remote file service * `example_backup` - name of the [schema](/content/sql/ddl/create-schema#sql-create-schema) to back up ```sql Create Initial Backup Example theme={null} CREATE BACKUP daily_backup DATA SINK = backup_ds OBJECTS (ALL = example_backup) ``` #### Schedule Iterative Snapshots To schedule iterative *snapshots* after the initial *backup* is done, create a [SQL procedure](/content/sql/procedure) that specifies: * the name of the backed-up database object set (same as the initial *backup*) * the [data sink](/content/sql/ddl/create-data-sink#sql-create-data-sink) that will be used to transfer the *snapshots* to the remote store (same as the initial *backup*) * the schedule for running the incremental *snapshots* For example, to schedule incremental *snapshots* with the following parameters: * `daily_backup` - name of the *backup* to which *snapshots* will be added * `backup_ds` - *data sink* targeting the remote file service * `1 DAY` - daily *snapshot* interval * `STARTING AT...2025-01-01` - starting at a date in the past causes the first *snapshot* to be taken at the next possible time interval * `STARTING AT...00:00:00` - schedule the *snapshot* to be taken at midnight ```sql Schedule Iterative Snapshots Example theme={null} CREATE PROCEDURE scheduled_backup BEGIN BACKUP daily_backup DATA SINK = backup_ds END EXECUTE FOR EVERY 1 DAY STARTING AT '2025-01-01 00:00:00'; ``` #### Restore Backup To restore database objects and table data from the latest *snapshot* in a *backup*, using the following parameters: * `daily_backup` - name of the *backup* to restore * `restore_ds` - *data source* targeting the remote file service * `example_backup` - name of the [schema](/content/sql/ddl/create-schema#sql-create-schema) to restore * `replace` - any exising database object will be overwritten by its counterpart from the *backup* ```sql Restore Backup Example theme={null} RESTORE BACKUP daily_backup DATA SOURCE = restore_ds OBJECTS (ALL = example_backup) WITH OPTIONS (RESTORE_POLICY = 'replace') ```
## System Backup *KAgent* can be used to simplify the processes of backing up and restoring the *Kinetica* database. It is distributed separately from the database and can be installed and used to configure a *Kinetica* cluster following the instructions under [Kinetica Installation with KAgent](/content/install/kagent_install). There are two interfaces to *KAgent* for backing up a *Kinetica* cluster: * [Graphical User Interface](/content/admin/kagent/manage#kagent-ui-backups) * Command-Line Interface (described below) ### Prerequisites *KAgent* backup management has two requirements: * *KAgent* installed, with access to the cluster being managed * A properly configured *Kinetica* cluster *Kinetica* does not need to be offline to be backed up or restored. The backup process **will** put *Kinetica* into **read-only** mode, however, which will block operations requiring disk write access (table creation/modification, persist-backed ingestion, etc.). ### Backing Up All the data in *Kinetica* can be backed up in either an ad-hoc or scheduled fashion, using the command line. To learn about how to back up Kinetica using the *KAgent* GUI, consult [Backups](/content/admin/kagent/manage#kagent-ui-backups). Backups are stored local to each node in the cluster. Those local backup file target directories can be mounted via NFS or similar external shared storage to consolidate those files to a single device. If multiple clusters are backed up to the same shared storage under the same backup directory, those backups will be able to be restored to any of the clusters in the group; e.g., if *Cluster A* and *Cluster B* are both backed up to the same shared location, the backups of *Cluster A* can be restored to *Cluster B* and vice versa. The base command for creating a backup: ``` /opt/gpudb/kagent/bin/kagent cluster backup [--schedule ] [--backup-path ] ``` To list the backup schedule for the cluster: ``` /opt/gpudb/kagent/bin/kagent cluster backup --list-schedule ALL ``` #### Schedule There are three options for schedule: * `now` -- Runs a single backup right now without creating or modifying the schedule; *(default behavior)* * A crontab schedule quoted string -- Will overwrite any existing backup schedule with the one specified. For example, `'0 0 1 1-3 *'` will schedule backups at *12:00 AM on the 1st* *day of each month, January through March*. Consult the [crontab documentation](http://man7.org/linux/man-pages/man5/crontab.5.html) for details on schedule specification format. * `never` -- Clears the current backup schedule for the given cluster name #### Backup Path The backup path should be any valid file path on the *Kinetica* cluster nodes. If the directory does not exist on one or more nodes, *KAgent* will create it. The default backup path is `/opt/backups`. Under this backup path directory, *KAgent* will create a subdirectory with the name of the cluster as the directory name. *KAgent* will then create a snapshot subdirectory under the cluster-specific subdirectory, named with the date/time at which the backup was initiated, into which all backup files will be placed. For instance, given the following backup command execution, run at *12:34:56* on *January 2nd, 2019*: ``` /opt/gpudb/kagent/bin/kagent cluster backup --backup-path /opt/backup mycluster ``` Backup files will be placed under this location, on each node: ``` /opt/backup/mycluster/snapshot.2019-01-02.12-34-56 ``` #### Examples To list backups scheduled for the `mycluster` cluster: ``` /opt/gpudb/kagent/bin/kagent cluster backup --list-schedule ALL mycluster ``` To create an immediate backup of the `mycluster` cluster in the *(default)* `/opt/backups` directory: ``` /opt/gpudb/kagent/bin/kagent cluster backup mycluster ``` To create a backup in `/opt/backup` for the cluster named `mainkincluster` scheduled for 22:00 on day 1 through 5 of every week: ``` /opt/gpudb/kagent/bin/kagent cluster backup --schedule '0 22 * * 1-5' --backup-path /opt/backup mainkincluster ``` To remove the backup scheduled for the `mycluster` cluster: ``` /opt/gpudb/kagent/bin/kagent cluster backup --schedule never mycluster ``` ### Listing The backups available to be restored to a given cluster can be listed via command line or the *KAgent* GUI. See [Snapshots](/content/admin/kagent/manage#kagent-ui-restore) for details on how to display a list of backups in the GUI. The base command for listing backups available to a given cluster: ``` /opt/gpudb/kagent/bin/kagent cluster list-backups [--backup-path ] ``` #### Backup Path The backup path should be the file path on each *Kinetica* cluster node that contains the backups to list. The default backup path is `/opt/backups`. *KAgent* will look on each cluster node for the directory named in the `--backup-path` parameter and list the contents of that directory. For instance, given the following restore command execution: ``` /opt/gpudb/kagent/bin/kagent cluster list-backups --backup-path /opt/backup mycluster ``` A backup snapshot directory will be looked for under `/opt/backup`, on each node of the cluster `mycluster`. #### Examples To list all backups available to the cluster `mycluster`: ``` /opt/gpudb/kagent/bin/kagent cluster list-backups mycluster ``` This might show output like the following, for cluster snapshots under the default `/opt/backups` directory: ``` /mycluster/snapshot.2019-01-02.01-23-45 /mycluster/snapshot.2019-01-02.12-34-56 ``` To list all backups available to the cluster `clusterA`, under a shared backup directory of `/opt/backup`: ``` /opt/gpudb/kagent/bin/kagent cluster list-backups --backup-path /opt/backup clusterA ``` This might show output like the following, for cluster snapshots under `/opt/backup`: ``` /clusterA/snapshot.2019-01-02.01-23-45 /clusterA/snapshot.2019-01-02.11-11-11 /clusterB/snapshot.2019-01-02.02-34-56 /clusterB/snapshot.2019-01-02.12-12-12 ``` That if multiple clusters are backed up to the same shared location, all clusters' backups will be listed, allowing for later restoration of the targeted cluster from any of the other clusters' backups. ### Restoring Backups made through *KAgent* are restored through *KAgent*, either via command line or the *KAgent* GUI. See [Snapshots](/content/admin/kagent/manage#kagent-ui-restore) for details on restoring from snapshots using the GUI. The base command for restoring from backup: ``` /opt/gpudb/kagent/bin/kagent cluster restore --restore-from / [--backup-path ] ``` #### Restore From The `--restore-from` parameter specifies which backup snapshot should be restored. It should be the path to the existing snapshot to restore from, including the directory that is the name of the cluster from which the backup was taken: ``` /snapshot..
| | `03.010501.20` | `INFO` | Alter host configuration

Alter-cluster configuration action: \, host: \
| | `03.010502.20` | `INFO` | Removed host from cluster

Alter-cluster configuration action: \, host: \
| | `03.020501.20` | `INFO` | Added rank to cluster

The cluster operation: \ has status: \ | | `03.020502.20` | `INFO` | Rebalancing data in cluster

The cluster operation: \ has status: \ | | `03.020503.20` | `INFO` | Removing rank and rebalancing data

The cluster operation: \ has status: \ | | `03.020504.20` | `INFO` | Removing rank from cluster

The cluster operation: \ has status: \ | | `03.020505.20` | `INFO` | Changing the number of ranks in cluster

The cluster operation: \ has status: \ | | `03.020506.20` | `INFO` | Cluster set to backup mode

The cluster operation: \ has status: \ | | `03.020507.20` | `INFO` | Migrating component

The cluster operation: \ has status: \ | | `03.020508.50` | `FATAL` | Irrecoverable error (restart required)

The database cluster had an irrecoverable error and must be restarted. Message: \ | | `03.030000.20` | `INFO` | Configuration file loaded successfully

Configuration file: '\' has been successfully loaded. | | `03.030300.40` | `ERROR` | Configuration parameter is invalid

\
| | `03.032200.40` | `ERROR` | Configuration file missing

Configuration file: '\' is missing. | | `03.032400.40` | `ERROR` | Configuration file parse error

Unable to parse configuration file: '\', msg:\ | | `03.033400.40` | `ERROR` | Configuration file write error

Configuration file: '\' is not writable. | | `03.050800.40` | `ERROR` | UDF initialization failed

Function Environments initialization failed, will be disabled (error: \) | | `03.051600.40` | `ERROR` | KiFS is not active

KiFS not active | | `03.052500.40` | `ERROR` | Error running startup proc

Error decoding execute\_proc\_request for proc '\' to run at startup: \ | | `03.060200.30` | `WARN` | GPU allocation failure

GPU allocation limit exceeded when requesting additional: \ bytes, using CPU fallback allocator. | | `03.060700.40` | `ERROR` | GPU device error

\
| | `03.090800.25` | `UERR` | Job failed

Request failed with JobId:\ to: \. \ | | `03.090800.40` | `ERROR` | Job failed since the system is limited

Unable to process request with JobId:\ to: \, system is in a limited state. \ | | `03.090900.25` | `UERR` | Job processing exception

Unable to process credentials for user: \, endpoint: \, what:\ | | `03.091400.25` | `UERR` | User impersonation denied for request

External user \ does not have permission to impersonate for endpoint: \ | | `03.091700.25` | `UERR` | Invalid credentials for request

Invalid credentials for endpoint: \, user: \ | | `03.091900.20` | `INFO` | Job canceled

Request canceled with JobId:\ to: \. \ | | `03.092000.30` | `WARN` | HTTP request limit reached

HTTP request server has reached max number of concurrent and queued connections and is refusing connections. \ | | `03.092600.20` | `INFO` | Rank is not accepting jobs

Rank is not accepting jobs, rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.092700.20` | `INFO` | Rank is accepting jobs

Rank is accepting jobs, rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.093100.30` | `WARN` | Job times out

Job timed out, received: \ | | `03.093200.25` | `UERR` | Request unauthorized

Invalid or missing credentials for endpoint: \ \
| | `03.093500.25` | `UERR` | User is deactivated

User not activated for endpoint: \, remote user: \ | | `03.100800.50` | `FATAL` | Licensed for only a single host

License error: \ \
| | `03.100801.50` | `FATAL` | License key GPU limit exceeded

License error: \ \
| | `03.100802.50` | `FATAL` | License key is for different hardware

License error: \ \
| | `03.100803.50` | `FATAL` | License key is for a different machine

License error: \ \
| | `03.100804.50` | `FATAL` | License key memory limit exceeded

License error: \ \
| | `03.100805.50` | `FATAL` | License key has expired

License error: \ \
| | `03.100806.50` | `FATAL` | License key is invalid

License error: \ \
| | `03.100807.50` | `FATAL` | License key is missing

License error: \ \
| | `03.100808.50` | `FATAL` | Licence key is not authorized

License error: \ \
| | `03.110501.20` | `INFO` | Migration to new host required for component

Migration \ status change, \
| | `03.110502.20` | `INFO` | Migration of component attempting failover to another host

Migration \ status change, \
| | `03.110503.20` | `INFO` | Migrating component to new host

Migration \ status change, \
| | `03.110504.20` | `INFO` | Migrated component to new host successfully

Migration \ status change, \
| | `03.110805.40` | `ERROR` | Migration of component to new host failed

Migration \ failed, \
| | `03.120501.20` | `INFO` | Rank mode changed to removed

The rank mode has been set for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.120502.20` | `INFO` | Rank mode changed to stop

The rank mode has been set for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.120503.20` | `INFO` | Rank mode changed to adding

The rank mode has been set for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.120504.20` | `INFO` | Rank mode changed to run

The rank mode has been set for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.140501.20` | `INFO` | Blocking unsharded ingest before removing rank

Removing rank: \ on host: \, status: \ | | `03.140502.20` | `INFO` | Cleared persist of removed rank

Removing rank: \ on host: \, status: \ | | `03.162001.30` | `WARN` | Resource group has reached vram limit

Resource group: '\' memory limit reached, requested:\, used:\, limit:\ | | `03.162002.30` | `WARN` | Resource group has reached ram limit

Resource group: '\' memory limit reached, requested:\, used:\, limit:\ | | `03.162003.30` | `WARN` | Resource group has reached disk cache limit

Resource group: '\' memory limit reached, requested:\, used:\, limit:\ | | `03.162004.30` | `WARN` | Resource group has reached persist limit

Resource group: '\' memory limit reached, requested:\, used:\, limit:\ | | `03.162005.30` | `WARN` | Resource group has reached cold store limit

Resource group: '\' memory limit reached, requested:\, used:\, limit:\ | | `03.171500.20` | `INFO` | SQL request

\ | | `03.180502.20` | `INFO` | Rank status changed to start

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180503.20` | `INFO` | Rank status changed to post

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180504.20` | `INFO` | Rank status changed to parsed configuration

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180505.20` | `INFO` | Rank status changed to enumerated hardware

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180507.20` | `INFO` | Rank status changed to starting systems

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180508.20` | `INFO` | Rank status changed to started systems

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180509.20` | `INFO` | Rank status changed to loading data

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180510.20` | `INFO` | Rank status changed to loaded data

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180511.20` | `INFO` | Rank status changed to updating shards

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180512.20` | `INFO` | Rank status changed to updated shards

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180513.20` | `INFO` | Rank status changed to syncing

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180514.20` | `INFO` | Rank status changed to added rank ready

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180515.20` | `INFO` | Rank status changed to updating views

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180516.20` | `INFO` | Rank status changed to updated views

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180517.20` | `INFO` | Rank status changed to running

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180518.40` | `ERROR` | Rank status changed to limited and is unable process requests

Rank: \ on host: \ is \ | | `03.180519.20` | `INFO` | Rank status changed to stopped jobs

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180520.40` | `ERROR` | Rank status changed to not responding

Rank: \ on host: \ is \ | | `03.180521.20` | `INFO` | Rank status changed to shutting down

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180522.20` | `INFO` | Rank status changed to shutdown

The rank status has been updated for rank:\, rank\_mode:\, rank\_status:\, start\_count:\, hostname:\ | | `03.180522.40` | `ERROR` | Rank status changed to shutdown due to error

Rank: \ on host: \ is \ | | `03.180523.40` | `ERROR` | Rank status changed to terminated

Rank: \ on host: \ is \ | | `03.190900.40` | `ERROR` | Table monitor error

Unable to prepare and send change notification for table \. \ | | `03.211301.30` | `WARN` | High-water mark eviction cycle in vram tier

High-water mark limit reached in tier: \, beginning eviction cycle. current size:\, high:\ low:\ | | `03.211302.30` | `WARN` | High-water mark eviction cycle in ram tier

High-water mark limit reached in tier: \, beginning eviction cycle. current size:\, high:\ low:\ | | `03.211303.30` | `WARN` | High-water mark eviction cycle in disk cache tier

High-water mark limit reached in tier: \, beginning eviction cycle. current size:\, high:\ low:\ | | `03.211304.30` | `WARN` | High-water mark eviction cycle in persist tier

High-water mark limit reached in tier: \, beginning eviction cycle. current size:\, high:\ low:\ | | `03.211305.30` | `WARN` | High-water mark eviction cycle in cold storage tier

High-water mark limit reached in tier: \, beginning eviction cycle. current size:\, high:\ low:\ | | `03.212004.30` | `WARN` | Persist tier is full

Requested amount exceeds tier capacity, Need: \, TotalRequested: \, Avail: \ | | `03.212504.40` | `ERROR` | Persist file read error

Unable to load table data file: '\' | | `03.230800.40` | `ERROR` | Unable to upgrade table data to current version

Error upgrading table \ \ | ## Reveal | Event Code | Severity | Description | | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `09.180503.20` | `INFO` | Reveal server status changed to starting

The reveal server status has changed on hostname:\, host\_mode:\, reveal\_status:\ | | `09.180504.20` | `INFO` | Reveal server status changed to running

The reveal server status has changed on hostname:\, host\_mode:\, reveal\_status:\ | | `09.180505.20` | `INFO` | Reveal server status changed to stopping

The reveal server status has changed on hostname:\, host\_mode:\, reveal\_status:\ | | `09.180506.20` | `INFO` | Reveal server status changed to stopped

The reveal server status has changed on hostname:\, host\_mode:\, reveal\_status:\ | | `09.180507.40` | `ERROR` | Reveal server has terminated

The reveal server status has changed on hostname:\, host\_mode:\, reveal\_status:\ | ## SQL Query Planner | Event Code | Severity | Description | | -------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `10.180503.20` | `INFO` | SQL query planner server status changed to starting

The SQL query planner status has changed on hostname:\, host\_mode:\, query\_planner\_status:\ | | `10.180504.20` | `INFO` | SQL query planner server status changed to running

The SQL query planner status has changed on hostname:\, host\_mode:\, query\_planner\_status:\ | | `10.180505.20` | `INFO` | SQL query planner server status changed to stopping

The SQL query planner status has changed on hostname:\, host\_mode:\, query\_planner\_status:\ | | `10.180506.20` | `INFO` | SQL query planner server status changed to stopped

The SQL query planner status has changed on hostname:\, host\_mode:\, query\_planner\_status:\ | | `10.180507.40` | `ERROR` | SQL query planner server has terminated

The SQL query planner status has changed on hostname:\, host\_mode:\, query\_planner\_status:\ | # Cluster Source: https://docs.kinetica.com/content/admin/gadmin/cluster The **Cluster** menu selection comprises several tabs that contain information about all the machines in your cluster as well as configuration and log file access. Summary data about your *Kinetica* cluster is pinned to the top right of each tab within **Cluster**; it includes: * The [status](/content/admin/services#statuses) of *Kinetica* * How many users are connected to *Kinetica* * How many requests per second are being made to *Kinetica* * How many tables are present in this *Kinetica* cluster * How many rows are present in this *Kinetica* cluster * The uptime of this *Kinetica* cluster * A refresh button to refresh the cluster information ../../images/cluster_summary_bar.png ## Dashboard The **Dashboard** page is also the [GAdmin](/content/admin/gadmin) homepage. It highlights the most important information about all the machines in your cluster, including CPU, Memory, and Disk usage. ../../images/cluster_dashboard.png ## Ranks The **Ranks** page displays important information about all the GPU ranks being used in your cluster. ../../images/cluster_ranks.png ## Admin The **Cluster --> Admin** section is only available to users with the *System Admin* permission. The **Admin** page allows you to stop or start the database, rebuild the database, rebalance the database, or review operation history (add, remove, or rebalance node operations) information. Click **Rebuild DB** to rebuild the database should you experience database errors or some *tables* and/or *schemas* are unable to be queried. All tables can be rebuilt **or** just tables with disk optimized columns and/or tables with text search columns can be rebuilt. For more information on rebuilding individual *tables* or *schemas*, see [Rebuilding](/content/admin/gadmin/data#gadmin-table-rebuild). Click **Rebalance DB** to optionally shuffle around sharded and unsharded data across your cluster so all nodes could have roughly the same amount of sharded and unsharded data. If choosing to rebalance unsharded data, optionally provide a whitelist **or** blacklist of unsharded tables' names. ../../images/cluster_admin.png ## License The **Cluster --> License** section is only available to users with the *System Admin* permission. The **License** page provides management capability for the *Kinetica* license used by the cluster. The page will list the type, status, and expiration date of the active license. The license can only be modified when *Kinetica* is not running. ../../images/cluster_setup.png ## Config The **Cluster --> Config** section is only available to users with the *System Admin* permission. The **Config** page allows you to edit the core *Kinetica* configuration file and save the changes directly in [GAdmin](/content/admin/gadmin); this file maps to the /opt/gpudb/core/etc/gpudb.conf file. Detailed information about configuration file settings can be found on [Configuration Reference](/content/config). This tab can only be edited when *Kinetica* is not running. ../../images/cluster_config.png ## Alerts The **Alerts** displays the most recent triggered alerts. Detailed information about alerts and how to set them can be found on [Alerting](/content/admin/alerting). ../../images/cluster_alerts.png ## Logging The **Logging** page displays the running system log file, updating every two seconds. This file is *Kinetica's* main diagnostic tool and it is located at /opt/gpudb/core/logs/host-manager-\-\.log. If the cluster uses a shared persist directory, each nodes' database log will be located in this directory as well. Select the **Pause Log** checkbox to pause the file updates. The number of displayed lines can be selected from **Lines**, and the displayed lines can be filtered using **Filter** (select the **Exclude** checkbox to instead exclude the filtered word or phrase). ../../images/cluster_logging.png ### Setting Loggers Click **Manage Logging Level** to open the **Manage System Logging Level** window, where the per-rank logging level for any system logger can be modified. To view the active loggers and corresponding levels for each rank, select the rank from the **Rank** drop-down menu above the **Current Log Levels** list. Use the **Filter** below the list to find a particular logger in the list. To update a logger: 1. At the top of the window, select a rank or *ALL* from the **Rank** drop-down window. 2. Provide a logger name for the **Logger** field. 3. Select a logger level from the **Level** drop-down menu. 4. Click **Set Logger**. Instructions for manually changing the logging level via the `/opt/gpudb/core/etc/gpudb_logger.conf` file are located on the [Custom Logging](/content/admin/logging) documentation. Any change will take effect immediately and be in effect until a subsequent change is made to the same logger or the database is restarted. A database restart will reset all loggers to their default levels, system-wide. ../../images/cluster_sys_logging_level.png ## Debug The **Debug** page displays debugging and metric information about your cluster. Note that each section has nested information, so it's possible to drill in for more details. From this page, you can also generate system reports and access previous reports. A system report includes important logs and files that can be sent to support ([support@kinetica.com](mailto:support@kinetica.com)) to help diagnose any issues at hand. ../../images/cluster_debug.png ## Demo The **Cluster --> Demo** section is only available to users with the *System Admin* permission. The **Demo** page contains various data that you can load into *Kinetica*. This data will help get you started using *Kinetica* as well as demonstrate some key capabilities of the system. Each demo dataset contains 500,000 records; after loading the data into *Kinetica*, you have the option of loading the same data again. The datasets with a [Reveal Dashboard](/content/bi/reveal) button have a corresponding Reveal dashboard that will be automatically setup in Reveal after ingesting the data. ../../images/cluster_demo.png ## Visualize The **Visualize** page contains an overview of [Reveal](/content/bi/reveal) as well as a quick link to Reveal. ../../images/cluster_visualize.png # Data Source: https://docs.kinetica.com/content/admin/gadmin/data All the data in the database can be viewed through [GAdmin's](/content/admin/gadmin#gadmin) **Data** menu selection. From here, you can manage each [schema](/content/concepts/schemas) in the database and every [table](/content/concepts/tables) and [view](/content/concepts/views) it contains; use WMS to generate a heatmap of a *table* or *view* with geocoordinates; and manage [graphs](/content/graph_solver/network_graph_solver). ## Tables The **Tables** page provides information about all *schemas* and contained *tables* & *views* in the database in a grid layout. ### Schema List The initial grid lists the *schemas* accessible to the user. Each *schema* is displayed along with the total number of records across all the *tables* & *views* it contains. From this view, the following functionality is available: * refresh (**Refresh**) -- refresh the list of *schemas* * **+ Schema** -- create a new [schema](/content/concepts/schemas) * **+ Table** -- [create](/content/admin/gadmin/data#gadmin-table-create) a new [table](/content/concepts/tables) * **Rename** -- rename the selected *schema* * **Delete** -- delete the selected *schema(s)* * **Memory** -- display the current amount of used memory by the *tables* and *views* in the selected *schema(s)* * **Filter** -- only display *schemas* matching the given search text and *schemas* containing *tables* and/or *views* matching the given search text * **Sync Mode** -- if enabled, record counts will be accurate but potentially slower to update ../../images/data_schema_list.png ### Table/View List Clicking on a *schema* will show a grid view of all the *tables* & *views* that *schema* contains, with details about each. Available are the object type, type of distribution ([replicated](/content/concepts/tables#replicated), [sharded](/content/concepts/tables#sharding), or [neither](/content/concepts/tables#random-sharding)), feature set (see list below), global access rights (read/write), keys ([primary](/content/concepts/tables#primary-key), [shard](/content/concepts/tables#shard-key), and [foreign](/content/concepts/tables#foreign-key)) and associated columns, and the record count. The types of objects are as follows: * **T** -- [table](/content/concepts/tables) * **MV** -- [materialized view](/content/concepts/materialized_views) * **LV** -- [logical view](/content/sql/ddl/create-view#sql-create-view) * **ME** -- *materialized* [external table](/content/concepts/external_tables) The types of features are as follows: * **PERS** *(PERSISTED)* -- the *table* exists on disk & in memory (i.e., not [memory-only](/content/concepts/tables_memory_only)) and will exist across database restarts * **JOIN** -- a [join view](/content/concepts/joins) or *materialized view* that ends in a *join view* * **RESU** *(RESULT\_TABLE)* -- results from endpoint operations like [Create Projection](/content/api/rest/create_projection_rest) and [Create Union](/content/api/rest/create_union_rest) * **VIEW** -- a *filtered* [view](/content/concepts/views), a *join view*, or a *materialized view* that ends in a *filtered* or *join view* From this view, the following functionality is available: * refresh (**Refresh**) -- refresh the list of *tables* & *views* * **+ Table** -- [create](/content/admin/gadmin/data#gadmin-table-create) a new *table* * **Config** -- [modify](/content/admin/gadmin/data#gadmin-table-config) the selected *table* * **Rename** -- rename the selected *table* * **Move** -- [move](/content/admin/gadmin/data#gadmin-table-move) the selected *table(s)* and/or *view(s)* to a different *schema* * **Delete** -- [delete](/content/admin/gadmin/data#gadmin-table-delete) the selected *table(s)* and/or *view(s)* * **Rebuild** -- [rebuild](/content/admin/gadmin/data#gadmin-table-rebuild) the selected *table(s)* and/or *view(s)* * **Memory** -- display the current amount of used memory for the selected *table(s)* and/or *view(s)* * **Stats** -- display statistics regarding a selected column or all columns in the selected *table* or *view*, e.g., estimated cardinality, mean value, standard deviation, etc.; and recommendations for improving the structure of the table, e.g., dictionary encoding, smaller column type, etc. * **Sec** -- manage row- and column- [security](/content/admin/gadmin/data#gadmin-row-col-security) for the selected *table* or *view* * **Filter** -- only display *tables* and *views* matching the given search text * **Sync Mode** -- if enabled, record counts will be accurate but potentially slow ../../images/data_table_list.png ### Creating A table can be created by clicking **Create** (underneath **Tables**) on the left menu to navigate to the **Create Table** page. After configuring the name, containing *schema* name, distribution scheme, keys, column set, [tier strategy definition](/content/rm/concepts#rm-concepts-tier-strategy), and [partitioning](/content/concepts/tables#partitioning), click **Create New Table**. ../../images/data_table_create.png #### Defining a Tier Strategy From the **Edit Table** page: * Click **+ Group** to append additional column strategy groupings to the table * Click **+ Chain** to append additional priority definitions to a group * Provide a comma-separated list of columns, an [eviction priority](/content/rm/concepts#rm-concepts-eviction-priority) for each available [tier](/content/rm/concepts#rm-concepts-tiers) (tiers are defined in /opt/gpudb/core/etc/gpudb.conf), and an optional predicate Omit **Columns** to apply the strategy to the entire table

Example

For instance, consider the following *tier strategy*, applied to a table with a timestamp column named `last_seen`, a positive integer `id` column, and a string `name` column: ```sql theme={null} ( (VRAM 1, RAM 9) WHERE last_seen > TIMESTAMPADD(DAY, -3, NOW()), (VRAM 1, RAM 8, DISK2 7) ), ( COLUMNS id, name (VRAM 2, RAM 10) WHERE last_seen > TIMESTAMPADD(MINUTE, -1, NOW()) ) ``` To recreate this strategy in the *table* configuration interface: ../../images/data_table_config_tiers.png #### Partitioning From the **Edit Table** page: 1. Select a [partition](/content/concepts/tables#partitioning) type. 2. Provide as many **Key(s)** as necessary. Click **+** to add key expressions. 3. Provide as many **Definition(s)** as necessary. Click **+** to add definitions.

Example

To create a *range-partitioned* table with the following criteria: * partitioned by the date/time of the order * partitions for years *2016*, *2017*, *2018*, & *2019* * records not in that range go to the *default partition* ../../images/data_table_config_partitions.png
### Configuring To configure an existing *table*, click **Config**, update the *table* configuration as necessary, and click **Apply**. Click **Reset** to discard any pending modifications. Allowed modifications include: * Renaming the *table* * Modifying the [TTL](/content/concepts/ttl) * Renaming the non-[primary](/content/concepts/tables#primary-key)/[shard](/content/concepts/tables#shard-key) key columns * Modifying the type, subtype, storage, and properties of a non-*primary*/*shard key* column * Removing any non-*primary*/*shard key* columns * Adding new columns * Adjusting the [tier strategy definition](/content/rm/concepts#rm-concepts-tier-strategy); see [Defining a Tier Strategy](/content/admin/gadmin/data#gadmin-table-tier-strat-define) for assistance. * Adjusting the [table partitioning](/content/concepts/tables#partitioning); note that only existing range or list partitions can be adjusted ../../images/data_table_config.png ### Moving To move one or more *tables* and/or *views* to another *schema*, select the *table(s)*/*view(s)* (avoid clicking any *table*/*view* name, as that will open the [Data Grid](/content/admin/gadmin/data#gadmin-data-grid) page) and then click **Move**. In the pop-up, select which *schema* to move them to and click **Move**. ../../images/data_table_move.png ### Deleting To delete one or more *tables* and/or *views*, select the *table(s)*/*view(s)* (avoid clicking any *table*/*view* name, as that will open the [Data Grid](/content/admin/gadmin/data#gadmin-data-grid) page) and then click **Delete**. In the pop-up, confirm the deletion. ### Rebuilding To rebuild one or more *tables* and/or *views* if you are unable to query them, select the *table(s)*/*view(s)* (avoid clicking any *table*/*view* name, as that will open the [Data Grid](/content/admin/gadmin/data#gadmin-data-grid) page) and then click **Rebuild**. In the pop-up, confirm the rebuild. Acknowledge the warning, then the selected objects will be rebuilt. For more information on rebuilding the entire database, see [Admin](/content/admin/gadmin/cluster#gadmin-db-rebuild). ### Detailed Table Information To view *table*/*view* detail, structure, memory usage, and [tier strategy](/content/rm/concepts#rm-concepts-tier-strategy) information, click **Detail** in the **Info** column. The column grid can be exported to CSV by clicking **Export CSV**. ../../images/data_table_info.png ### WMS If your data contains coordinates and/or geometry data, you can: * When viewing the list of [tables](/content/concepts/tables) (**Data --> Tables**), click the **Map** link in the **WMS** column * When browsing a *table's* [datagrid](/content/admin/gadmin/data#gadmin-data-grid), click the **WMS** button in the top bar You can use the **+** / **-** on the left or the scroll wheel of your mouse to zoom in and out of an area. Click pencil to draw a polygon on top of the map; this will act as a filter for the viewport. Click trash to remove any polygons on the map. Click **Download PNG** to download a `.png` file of the **current** viewport. Provide a table name and click **Export Viewport** to export the points in the **current** viewport to a separate table; note that if any polygon(s) were drawn on the map, only the points inside those polygons will be exported to the new table. The map will default to **Heatmap** mode. To render full WKT geometry, click **Feature**. Whilst rendering features, click a feature on the map to display additional information about the feature. The following column [types](/content/concepts/types) can be used to populate the map with latitude/longitude points (assuming the columns being used to render the points are of the same type): * `double` * `float` * `int` * `int16` * `int8` * `long` * `timestamp` (the raw epoch value will be used to render the point) * `decimal` The following column *types* can be used to populate the map with WKT objects: * `wkt` * `wkb` If there are multiple WKT/WKB columns, select the desired column to display, select **None** to not display any compatible column(s), or select **All** to display all compatible column(s) next to **WKT**; if there are multiple longitude / latitude columns, select the desired columns from the **Lon/Lat** drop-down menus. If there are both WKT objects **and** longitude / latitude points present in a table, select the WKT column to display WKT or select **None** and the desired columns from the **Lon/Lat** drop-down menus to display longitude / latitude points. ../../images/data_table_map.png ### Data Grid To view the individual records in a *table*, click the *table* name. This will display the **data grid** page. From here, the following functionality is available: * refresh (**Refresh**) -- refresh the table * **Add** -- insert a new record * **Edit** -- modify the selected record * **Delete** -- delete the selected record * **Move** -- [move](/content/admin/gadmin/data#gadmin-table-move) the *table* or *view* to a different *schema* * **Conf** -- [modify](/content/admin/gadmin/data#gadmin-table-config) the *table* or *view* * **CSV** -- [export](/content/admin/gadmin/data#gadmin-data-export) data to CSV * **Hide** -- hide displayed columns within the grid * **Info** -- display table [detail](/content/admin/gadmin/data#gadmin-table-info) * **Dist** -- display cross-node data distribution graph * **Stats** -- display statistics regarding a selected column or all columns in the table, e.g., estimated cardinality, mean value, standard deviation, etc., and recommendations for improving the structure of the table, e.g., dictionary encoding, smaller column type, etc. * **WMS** -- [plot](/content/admin/gadmin/data#gadmin-table-wms) data from *tables* with [geospatial data](/content/location_intelligence/geo_objects) on a map * **Sec** -- manage row- and column- [security](/content/admin/gadmin/data#gadmin-row-col-security) for the table * **Order Cols** -- If enabled, the columns will be displayed alphabetically * **Sync Mode** -- if enabled, table row counts will be accurate but potentially slow ../../images/data_table_datagrid.png #### Export Data From the **data grid** page, select **CSV**. You will have the option to export all of the data or records within a range, specify the type of header, and how to order the data on export. ../../images/data_export.png Once you click the **Export** button, the data will be downloaded to your computer as a CSV file using the format `..csv`. The standard header is just a comma-delimited list of column header names: ../../images/data_exportfile_csv.png The **Kinetica Schema** is a comma-delimited list of column headers with pipe-delimited column properties: ../../images/data_exportfile_kinetica.png Null values are represented as `\N`. This can be changed by modifying the `data_file_string_null_value` parameter in /opt/gpudb/tomcat/webapps/gadmin/WEB-INF/classes/gaia.properties. ### Advanced Table Security Advanced table security (e.g., row- and column-level) can be enabled on a per-table basis for select users and roles by: * When viewing the list of [tables](/content/concepts/tables) (**Data --> Tables**), select a table then click the **Sec** button in the top bar * When browsing a *table's* [datagrid](/content/admin/gadmin/data#gadmin-data-grid), click the **Sec** button in the top bar A user or role must have the `table_read` permission on a selected table for the row- and/or column-level security to apply. Review [Row-Level Security](/content/security/sec_concepts#sec-concepts-perm-table-row) and [Column-Level Security](/content/security/sec_concepts#sec-concepts-perm-table-col) for more information. Advanced Table Security can only be accessed by users with the `system_admin` permission. ../../images/data_table_security_user_example.png #### Users Individual users can have row- and column-level security imposed on them, restricting or granting access to particular data. To apply security to a user: 1. Navigate to the **Advanced Table Security** window and display the **Users** tab. 2. Select a user from the list. Row- and column-level security cannot be configured for users with the `system_admin` permission. 3. Apply **Row Security** and **Column Security** as necessary. * To apply **Row Security**: 1. Click the **Row Security** tab. ../../images/data_table_security_row_blank.png 2. Provide a valid SQL `WHERE`-like expression in the **Filter** text field to specify entire rows the user has access to that meet the given filter condition. * To apply **Column Security**: 1. Click the **Column Security** tab. ../../images/data_table_security_column_blank.png 2. Select a column from the drop-down menu. 3. Click **Add Column**. 4. Optionally, if the column is a `string` column, select a **Transform** option: * **Mask** -- the column value will be masked after some length, for some width of characters, with a select character. If no mask exists for the column currently, one must be defined. Click gear to jump to the **Columns** table and define one. See [Columns](/content/admin/gadmin/data#col-mask) for more information. * **Obfuscate** -- each unique original column value will be exchanged for a unique non-negative number Review [Column-Level Security](/content/security/sec_concepts#sec-concepts-perm-table-col) for more information on masking and obfuscation. 5. Optionally, apply a valid SQL `WHERE`-like expression in the **Filter** text field. 6. Repeat the previous steps for as many columns as necessary. 4. Click **Save** and confirm the update for the selected user. Click **Reset** to reset the modified security settings to the previously saved settings. Click **Clear** to remove any saved settings. #### Roles Individual roles can have row- and column-level security imposed on them, restricting or granting access to particular data. To apply security to a role: 1. Navigate to the **Advanced Table Security** window and display the **Roles** tab. 2. Select a role from the list. Row- and column-level security cannot be configured for roles with the `system_admin` permission. 3. Apply **Row Security** and **Column Security** as necessary. * To apply **Row Security**: 1. Click the **Row Security** tab. ../../images/data_table_security_row_blank.png 2. Provide a valid SQL `WHERE`-like expression in the **Filter** text field to specify entire rows the user has access to that meet the given filter condition. * To apply **Column Security**: 1. Click the **Column Security** tab. ../../images/data_table_security_column_blank.png 2. Select a column from the drop-down menu. 3. Click **Add Column**. 4. Optionally, if the column is a `string` column, select a **Transform** option: * **Mask** -- the column value will be masked after some length, for some width of characters, with a select character. If no mask exists for the column currently, one must be defined. Click gear to jump to the **Columns** table and define one. See [Columns](/content/admin/gadmin/data#col-mask) for more information. * **Obfuscate** -- each unique original column value will be exchanged for a unique non-negative number Review [Column-Level Security](/content/security/sec_concepts#sec-concepts-perm-table-col) for more information on masking and obfuscation. 5. Optionally, apply a valid SQL `WHERE`-like expression in the **Filter** text field. 6. Repeat the previous steps for as many columns as necessary. 4. Click **Save** and confirm the update for the selected role. Click **Reset** to reset the modified security settings to the previously saved settings. Click **Clear** to remove any saved settings. #### Columns Any `string` columns in the selected table can have pre-configured masks applied when setting column-level security for a user or role. To create a mask for a column: 1. Navigate to the **Advanced Table Security** window and display the **Columns** tab. 2. Select a valid column from the list. 3. Specify a **Start Position** for the mask. 4. Specify the **# of Masked Characters**. 5. Specify the **Mask Character**. 6. Optionally, type into the **Preview** field to preview the mask before saving. 7. Click **Save** and confirm the column mask. ../../images/data_col_mask_preview_blank.png #### Example User `jsmith` is a human resources liaison for the engineering department with access to employee information. The security for the `employees` table that contains said information is configured in such a way that user `jsmith`: * Can see full information for their own username * Can only see the last 4 of an SSN and an obfuscated salary for employees outside of their assigned department To configure the **Advanced Table Security** window for the above scenario: 1. From the `employees` table, click **Sec** along the top, and then select `jsmith` from the **Users** list. 2. On the right side of the window, under **Row Security**, input the filter for the engineering department: ../../images/data_table_security_rowsec_example.png 3. Click **Column Security** and input the obfuscated `salary` column & the masked `ssn` column: ../../images/data_table_security_colsec_example.png 4. Click the gear icon next to **Mask** to configure the masking values: ../../images/data_table_security_colmask_example.png 5. Click **Save.** ## Graphs The **Graphs** section provides the ability to manage and execute operations against [graphs](/content/graph_solver/network_graph_solver). The following sections are available under **Graphs**: * **Create** -- [create](/content/admin/gadmin/data#gadmin-graphs-create) a new graph * **Query** -- [run a query](/content/admin/gadmin/data#gadmin-graphs-query) against an existing graph * **Solve** -- [run a solver algorithm](/content/admin/gadmin/data#gadmin-graphs-solve) against an existing graph * **Match** -- [run a matching algorithm](/content/admin/gadmin/data#gadmin-graphs-match) against an existing graph The **Graphs** page displays any created graphs as well as various information and statistics about each graph. Click **Request** under **Source** to see the JSON used to create the graph as it is. Click **+ Create** to open the [Create Graph interface](/content/admin/gadmin/data#gadmin-graphs-create). Click a graph then click **Delete** to delete the graph. Click **Visualize** to use WMS to display the graph. Consult [Graphs & Solvers Concepts](/content/graph_solver/network_graph_solver) for more information on graphs. Consult [Distributed Graph Servers](/content/graph_solver/distributed_graph_server) for more information on distributed graph servers. On any of the interfaces described below, click **History** to view previous requests made to that particular interface, view details about each request, reload a request, or view WMS for the request (if **Enable Graph Draw** was set to `True`) ../../images/data_graph_history.png ../../images/data_graphs.png ### Create A graph can be created by clicking **Create** (underneath **Graphs**) on the left menu to navigate to the **Create Graph** page. Follow the steps below to create a graph using the interface: It's highly recommended you consult [Graphs & Solvers Concepts](/content/graph_solver/network_graph_solver) and [/create/graph](/content/api/rest/create_graph_rest) for information on identifiers, valid configurations, combinations, and graph options before creating a graph with *GAdmin*. If multiple graph servers are available, it's also recommended you consult the [Distributed Graph Servers](/content/graph_solver/distributed_graph_server) documentation. 1. Provide a name for the graph. 2. Choose whether the graph should be [directed](/content/graph_solver/network_graph_solver#directed-graphs) 3. Optionally, select a desired *node* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Nodes** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration to the graph, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 4. Select a desired *edge* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Edges** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration to the graph, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 5. Select a desired *weight* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Weights** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration to the graph, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 6. Optionally, select a desired *restriction* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Restrictions** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration to the graph, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 7. Adjust the options as desired. 8. Click **Create New Graph**. ../../images/data_graphs_create.png ### Query An existing graph can be queried by clicking **Query** (underneath **Graphs**) on the left menu to navigate to the **Query Graph** page. Follow the steps below to query a graph using the interface: It's highly recommended you consult [Querying a Graph](/content/graph_solver/network_graph_solver#query-graph) and [/query/graph](/content/api/rest/query_graph_rest) for information on query identifiers, valid query configurations, query combinations, and query graph options before querying a graph with *GAdmin*. If multiple graph servers are available, it's also recommended you consult the [Distributed Graph Servers](/content/graph_solver/distributed_graph_server) documentation. 1. Select an existing graph from the **Graph Name** drop-down menu. 2. Select a desired *query* [configuration](/content/graph_solver/network_graph_solver#query-combinations) from the **Queries** drop-down menu and click **Add +**. For each [query identifier](/content/graph_solver/network_graph_solver#query-identifiers) that appears after adding the configuration, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the query identifier. Repeat as necessary. If you select `QUERY_NODE_WKTPOINT`, you can click wkt_select to open the graph in the WMS viewer and manually select point(s) on the map. ../../images/wkt_select_wms_src.png 3. Optionally, select a desired *restriction* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Restrictions** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 4. Provide an adjacency table name into which the results will be output. 5. Provide the number of rings (or hops) for the query. 6. Adjust the options as desired. 7. Click **Query Graph**. ../../images/data_graphs_query.png ### Solve An existing graph can be solved using a variety of methods by clicking **Solve** (underneath **Graphs**) on the left menu to navigate to the **Solve Graph** page. Follow the steps below to solve a graph using the interface: It's highly recommended you consult [Graphs & Solvers Concepts](/content/graph_solver/network_graph_solver), [/solve/graph](/content/api/rest/solve_graph_rest), and the [Solve Graph examples](/content/guides/tags/graph-solve) for information on identifiers, valid configurations, combinations, and options before solving a graph with *GAdmin*. If multiple graph servers are available, it's also recommended you consult the [Distributed Graph Servers](/content/graph_solver/distributed_graph_server) documentation. 1. Select an existing graph from the **Graph Name** drop-down menu. 2. Optionally, select a desired *weight* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Weights on Edges** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 3. Optionally, select a desired *restriction* [configuration](/content/graph_solver/network_graph_solver#id-combos) from the **Restrictions** drop-down menu and click **Add +**. For each [identifier](/content/graph_solver/network_graph_solver#identifiers) that appears after adding the configuration, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 4. Select a [solver](/content/graph_solver/network_graph_solver#solvers) from the **Solver Type** drop-down menu. 5. Select a node type from the **Source Nodes** drop-down menu and click **Add +**. For each field that appears after adding the node type, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. If adding multiple source nodes, they should all be of the same type. If you select `NODE_WKTPOINT`, you can click wkt_select to open the graph in the WMS viewer and manually select point(s) on the map. ../../images/wkt_select_wms_src.png 6. Select a node type from the **Destination Nodes** drop-down menu and click **Add +**. For each field that appears after adding the node type, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. If adding multiple source nodes, they should all be of the same type. If you select `NODE_WKTPOINT`, you can click wkt_select to open the graph in the WMS viewer and manually select point(s) on the map. ../../images/wkt_select_wms_dest.png 7. Provide a solution table name into which the results will be output. 8. Adjust the options as desired. 9. Click **Solve Graph**. A WMS request of the solution(s) will open. Click a solution route to see the start (start) and end (finish) points: ../../images/solve_graph_wms_solution.png ../../images/data_graphs_solve.png ### Match An existing graph can be matched using a variety of methods by clicking **Match** (underneath **Graphs**) on the left menu to navigate to the **Match Graph** page. Follow the steps below to match a graph using the interface: It's highly recommended you consult [Matching a Graph](/content/graph_solver/network_graph_solver#match-graph), [/match/graph](/content/api/rest/match_graph_rest), and the [Match Graph examples](/content/guides/tags/graph-match) for information on identifiers, valid configurations, combinations, and options before matching a graph with *GAdmin*. If multiple graph servers are available, it's also recommended you consult the [Distributed Graph Servers](/content/graph_solver/distributed_graph_server) documentation. 1. Select an existing graph from the **Graph Name** drop-down menu. 2. Select a sample points [configuration](/content/graph_solver/network_graph_solver#match-combinations) from the **Sample Points** drop-down menu and click **Add +**. For each field that appears after adding the configuration, provide a column name, expression, or raw value (as outlined in [Components and Identifiers](/content/graph_solver/network_graph_solver#identifiers)) to use with the identifier. Repeat as necessary. 3. Select a [solver](/content/graph_solver/network_graph_solver#solvers) from the **Solve Method** drop-down menu. 4. Provide a solution table name into which the results will be output. 5. Adjust the options as desired. 6. Click **Match Graph**. ../../images/data_graphs_match.png ## Import The **Import Data** page outlines several methods of importing data, from CLIs to GUIs to SQL. It also includes an example of importing data using *KiFS*. # Kinetica Administration Application (GAdmin) Source: https://docs.kinetica.com/content/admin/gadmin/index The Kinetica Administration application (GAdmin) is usually installed on port 8080 of the Kinetica instance or head node of the Kinetica cluster, so it can be accessed via `http://localhost:8080/` or `http://:8080/`. The GAdmin home page is the [Dashboard](/content/admin/gadmin/cluster), which shows cluster information, such as [status](/content/admin/services#statuses) and CPU, Memory, and Disk usage. More detailed statistics about your cluster and data can be found under the **Stats** menu. A **Support** menu item links to documentation, APIs, & drivers for your convenience. Overview of each GAdmin section can be found below: * [Cluster](/content/admin/gadmin/cluster) * [Data](/content/admin/gadmin/data) * [Query](/content/admin/gadmin/query) * [UDF](/content/admin/gadmin/udf) * [Jobs](/content/admin/gadmin/jobs) * [Resource](/content/admin/gadmin/resource) * [Security (Manage Users and Roles)](/content/admin/gadmin/security) * [Info (Instance Information)](/content/admin/gadmin/info) * [Stats](/content/admin/gadmin/stats) * [Support](/content/admin/gadmin/support) * [User](/content/admin/gadmin/user) If Kinetica is stopped, only the **Cluster** page, the **Stats** page, and **Support** and **Logout** links will be available. Recommended minimum viewing resolution for *GAdmin* is `1280x1024`. # Info (Instance Information) Source: https://docs.kinetica.com/content/admin/gadmin/info Click **Info** in the top navigation menu to access several methods for monitoring & checking the health of the system. ## Status **Status** will display the main set of *Kinetica* metrics. ../../images/info_status.png ## Diagnostics **Diagnostics** will perform several tests on the *Kinetica* server/cluster to determine whether or not the system is functioning properly. The result should look similar to this: diagnostics ## Info **Info** will show you configuration and version information about your instance of *Kinetica*. versionInfo # Jobs Source: https://docs.kinetica.com/content/admin/gadmin/jobs Click **Jobs** in the top navigation menu to access the [Job Manager](/content/admin/job_manager) interface. The **Jobs** section is only available to users with the *System Admin* permission. ## Running The **Running** page shows a list of currently executing jobs. Jobs can be cancelled by selecting them and then clicking **Cancel Jobs**, though most jobs are processed quickly enough to be finished by the time they appear in the job listing. The listing is automatically refreshed at a selectable interval, but can also be refreshed manually by clicking refresh. Jobs can be searched for using **Filter**. The **User Data** field corresponds to the user-defined tag submitted when making the request, specified via the `job_user_data` options parameter. Click userdata to view it. Insert, update, and delete requests **cannot** be cancelled. Otherwise, most user-facing non-admin jobs are cancellable. ../../images/jobs_running.png ## Recent The **Recent** page shows a list of recently executed jobs and the completion time for each. The number of recent jobs displayed can be selected by clicking the **Show Last** drop-down. The list can be manually refreshed by clicking refresh. ../../images/jobs_recent.png # Query Source: https://docs.kinetica.com/content/admin/gadmin/query Click **Query** in the top navigation menu to access several data management tools. ## SQL Tool The *SQL Tool* allows you to perform SQL queries against the data in *Kinetica* from [GAdmin](/content/admin/gadmin). The *SQL Tool* works similarly to the SQL Lab in [Reveal](/content/bi/reveal) but has fewer restrictions. To read more about using the *SQL Tool* from the command line (also known as *KiSQL*), review [Kinetica SQL (KiSQL)](/content/tools/kisql). Several actions are available from this tool: * Increase or decrease the **# of lines** to increase or decrease the size of the **SQL Statements** box. * Select **Halt on Error** to halt SQL query execution if an error occurs. This is particularly useful when executing several statements in sequence as this will break on the first error in that sequence * Click **Clear History** to remove all previously executed queries from the list. * You can view and page through your query history using the **\< Prev** and **Next >** buttons, or view & select (for re-execution) from the entire history using the **Queries** button in between them. Once the **SQL Query History** window is open, use the filter box to search the history for a particular value and click a query to re-load it. * You can select a **Schema** to run queries in by default allowing you to query without specifying a fully qualified table name, e.g., `FROM schema.table_name`. You can query outside of the set schema by providing a different schema in the **SQL Statements** area. * If [HA](/content/ha) is enabled, you can select a particular **HA Cluster Node** to run the provided query against. * Click **Clear** to clear both the **SQL Statements** & **Query Result** areas. * After entering a query into the **SQL Statements** area, click **WMS** to create a WMS call from the query, which will place the results in a temporary table and open the [WMS](/content/admin/gadmin/data#gadmin-table-wms) window. Once done browsing, close the WMS window to delete the temporary table. * After entering a query into the **SQL Statements** area, click **API** to generate the Python code necessary to run the same query via the native Python API. * After entering one or more semicolon-terminated queries and/or DML/DDL commands into the **SQL Statements** area, click **Explain** to output a visual execution plan of the provided query. * Select a portion of the text entered into **SQL Statements** and click **Run Highlighted** to execute only the selected portion. * After entering one or more semicolon-terminated queries and/or DML/DDL commands into the **SQL Statements** area, click **Run SQL** to execute. The WMS and Explain functionality can act on everything in the **SQL Statements** area or highlighted text, but they cannot be executed if there are multiple statements in the text area with nothing highlighted. ../../images/query_kisql.png SQL snippets and autocomplete are also available to help expedite writing queries. ../../images/query_kisql_autocomplete.png ### Explain The explain plan visualizer is a graphical complement to using the `EXPLAIN` [keyword](/content/sql/query/explain#sql-explain) in a given query, providing visual detail to the SQL query's execution plan, execution time, and native API translation(s). The explain plan visualizer cannot be used in conjunction with the `EXPLAIN` keyword. Clicking **Explain** will not execute the query (initially); the database will walk through the native actions necessary to execute the query and show the plan. Once the query plan is output, the query can be executed and analyzed using the **Run & Analyze** button (with **Verbose** optionally providing more execution detail). For example, the executing the following: ```sql theme={null} EXPLAIN SELECT n_begin.ntaname AS boro_begin, boro_end, COUNT(*) AS total_trips FROM ( SELECT pickup_latitude, pickup_longitude, n_end.ntaname AS boro_end FROM demo.nyctaxi t JOIN example_geospatial.nyc_neighborhood n_end ON STXY_INTERSECTS(dropoff_longitude, dropoff_latitude, geom) ) JOIN example_geospatial.nyc_neighborhood n_begin ON STXY_INTERSECTS(pickup_longitude, pickup_latitude, geom) GROUP BY 1, 2 ``` Yields a text-only explain output: ``` +------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+----------------+ | ID | ENDPOINT | INPUT_TABLES | OUTPUT_TABLE | DEPENDENCIES | +------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+----------------+ | 0 | /create/jointable | demo.nyctaxi AS TableAlias_0_,example_geospatial.nyc_neighborhood AS TableAlias_1_ | sys_sql_temp.Join_3_01234567_89ab_cdef_0123_456789abcdef | -1 | | 1 | /create/jointable | sys_sql_temp.Join_3_01234567_89ab_cdef_0123_456789abcdef AS TableAlias_0_,example_geospatial.nyc_neighborhood AS TableAlias_1_ | sys_sql_temp.Join_5_01234567_89ab_cdef_0123_456789abcdef | 0 | | 2 | /aggregate/groupby | sys_sql_temp.Join_5_01234567_89ab_cdef_0123_456789abcdef | sys_sql_temp.ShardedAggregate_7_01234567_89ab_cdef_0123_456789abcdef | 1 | | 3 | /get/records/bycolumn | sys_sql_temp.ShardedAggregate_7_01234567_89ab_cdef_0123_456789abcdef | | 2 | +------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+----------------+ ``` Running the same query (without the `EXPLAIN` keyword included) but this time clicking **Explain** would yield the graphical query plan: ../../images/query_explain_plan.png Hover over steps in the query plan to view the API call that would occur in the background when executing the original query. Hover over table names to view the table's schema. Click **Export JSON** to export the text-based explain output to a JSON file. Subsequently, click **Run & Analyze** to execute the query and see the execution time for each step in the plan. ../../images/query_explain_plan_analyze.png The steps are color-coded based on how fast they were in relation to the other steps in the query. If an error occurs in the query, it will be displayed in the plan at the point it occurred. Mousing over the error will show the details of the call and the error message. ../../images/query_explain_plan_analyze_error.png ### SQL Procedures The **SQL Procedures** page displays all existing SQL procedures. Review [SQL Procedures](/content/sql/procedure#sql-procedures) for more information on SQL procedures. * Click **Create** to create a SQL procedure. * Click **Execute** to manually execute the selected procedure. Note that any returned rows will not be displayed. Execute the procedure manually via the [SQL tool](/content/admin/gadmin/query#gadmin-sql) to view any output. * Click **Drop** to remove the selected procedure. * Click **Permissions** to adjust the execute permissions for the selected procedure. * Click **Detail** to display the SQL procedure's definition. ../../images/query_sql_procedures.png #### Create The SQL procedure creation process is simplified when using the interface; all that's required to get started is some SQL code. 1. From the **SQL Procedures** page, click **Create**. 2. Provide a **Name** for the procedure. 3. Optionally, provide an **Execution Interval**. Units can be one of the following: * `SECOND[S]` * `MINUTE[S]` * `HOUR[S]` * `DAY[S]` 4. Optionally, provide a **Start Timestamp**. The provided value should be in the following format: ``` YYYY-MM-DD [HH:MM[:SS]] ``` 5. Provide one or more semi-colon-separated SQL statements in the **Statements** text field. Review the [supported statements](/content/sql/procedure#sql-procedures-statements). 6. Click **Create**. #### Permissions While all SQL procedures are able to be viewed by any user, they can only be executed by certain users. To adjust the execute permissions for a particular SQL procedure: 1. From the **SQL Procedures** page, select a SQL procedure and click **Permissions**. 2. Adjust the permissions as necessary: * Edit execute permissions for users: * *Add*: Click a user in the **Available** list and then click **Grant >>** to grant the user `sql_proc_execute` permission on the selected SQL procedure. * *Remove*: Click a user in the **SQL Proc-level Granted** list and then click **\<\< Revoke** to revoke the user's `sql_proc_execute` permission on the selected procedure. * Edit execute permissions for roles: * *Add*: Click a role in the **Available** list and then click **Grant >>** to grant the role `sql_proc_execute` permission on the selected SQL procedure. * *Remove*: Click a role in the **SQL Proc-level Granted** list and then click **\<\< Revoke** to revoke the role's `sql_proc_execute` permission on the selected procedure. ## API Tool The *API Tool* allows you to call any *Kinetica* [REST endpoint](/content/api/rest) with a given set of parameters. **Request Mode** allows the choice of two methods for passing parameters in endpoint calls: * [Builder](/content/admin/gadmin/query#aqt-builder) - assign values to named parameters individually * [JSON](/content/admin/gadmin/query#aqt-json) - pass the request as a single block of JSON text The result of the request is output to the **Logs** panel. Click **Clear** at the bottom to clear the output. The **History** tab lists previously executed commands and their results. Click **Reload** to load the selected endpoint and associated parameters into the **Builder** for subsequent re-execution. Click **Clear Saved Queries** in the top right-hand corner to delete the query history. Clicking the **API Docs** button will print the corresponding documentation entry for the endpoint in the **Logs** panel to the right. ../../images/query_advanced.png ### Builder The **Builder** mode of the *API Tool* displays a user entry control for each of the selected endpoint's parameters. Each control will show the parameter name & type and the option to enter the parameter as **Text** or to use a parameter from the previous request's **Response** or **Request** object. The last set of parameters used in an endpoint call will be saved until the next time the endpoint is queried. Each request will log the request parameters in JSON format at the top of the **Logs** panel to the right. This request block can then be fed back into the *API Tool* in [JSON](/content/admin/gadmin/query#aqt-json) mode, which may facilitate repeated querying, as the entire request can be seen and modified at one time. Here is an example of a request to the [/aggregate/groupby](/content/api/rest/aggregate_groupby_rest) endpoint in **Builder** mode: ../../images/query_advanced_builder.png ### JSON The **JSON** mode of the *API Tool* provides a user entry control to enter the request parameters as a single block of JSON. The last JSON request will be saved until the next time the endpoint is queried. Here is an example of a request to the [/aggregate/groupby](/content/api/rest/aggregate_groupby_rest) endpoint in **JSON** mode: ../../images/query_advanced_json.png ## DDL Tool The *DDL Tool* provides the ability to generate DDL for a given *table*, *schema*, or all database entities at once. ../../images/query_kiddl.png Enter a *table* name, *schema* name, or `*`, and click **Generate DDL** to output the DDL to **DDL Output**. Click **Export DDL** to save the generated DDL as a SQL script. The output from this utility can be copied into the **SQL Statements** area on the **SQL Tool** page and run in order to regenerate the database entities whose DDL has been generated. # Resource Source: https://docs.kinetica.com/content/admin/gadmin/resource All resource management related information can be found in the **Resource** section of *GAdmin*, including tier definitions, resource groups, and resource statistics. From this section, resource groups can be created and managed. Consult [Resource Management](/content/rm/concepts) for more information. The **Resource** section is only available to users with the *System Admin* permission. ## Tiers The **Tiers** page displays a summary of all [tiers](/content/rm/concepts#rm-concepts-tiers) defined in /opt/gpudb/core/etc/gpudb.conf. ../../images/resource_tiers.png ## Groups The **Groups** page displays all [resource groups](/content/rm/concepts#rm-concepts-resource-groups) available for use in the cluster. Click the arrows next to a non-system/non-default resource group to change its ranking, then click **Apply Ranking** to save the ranking change(s). ../../images/resource_groups.png ### Creating Groups 1. From the list of **Resource Groups**, click **New**. 2. Type a **Name** for the new resource group. 3. Configure the new group's ranking by selecting a predicate then selecting another resource group (if necessary). 4. Provide the desired VRAM & RAM memory usage limits in bytes for the resource group. 5. Provide a maximum number of CPUs that can be used concurrently for the group, from `0` to *n* number of CPUs available to the cluster. 6. Provide a maximum [Scheduling Priority](/content/rm/concepts#rm-concepts-scheduling-priority) for the group, from `1` to `100` where `1` is the lowest priority. 7. Provide a maximum tier [Eviction Priority](/content/rm/concepts#rm-concepts-eviction-priority) for the group, from `1` to `10`. 8. Click **Create**. ../../images/resource_group_create.png ### Editing Groups 1. From the list of **Resource Groups**, select a group and click **Edit**. 2. Update the VRAM and RAM memory usage limits as necessary. 3. Update the maximum CPU concurrency, [Scheduling Priority](/content/rm/concepts#rm-concepts-scheduling-priority), and/or tier [Eviction Priority](/content/rm/concepts#rm-concepts-eviction-priority) as necessary. 4. Click **Update**. ../../images/resource_group_edit.png ### Deleting Groups 1. From the list of **Resource Groups**, select a group and click **Delete**. 2. Confirm the deletion by clicking **Delete** again. All users in the deleted resource group will reverted back to being in the [default resource group](/content/rm/configuration#rm-config-resource-group-default). ## Statistics The **Statistics** page provides a detailed summary of each tier on each rank in the cluster. Each tier has several sub-sections that can be drilled into for detailed statistics. ../../images/resource_stats.png # Security (User/Role Management) Source: https://docs.kinetica.com/content/admin/gadmin/security All of your user and role management can be completed using *GAdmin*. The **Security** section is only available to users with the `system_admin` or `system_user_admin` permission. ## Users The **Users** page lists the users in the system, whether they're internal or externally authenticated, and a brief window into their access rights. ../../images/security_users.png ### Creating Users When *Kinetica* has been configured to authenticate and/or authorize users, user accounts can be created to allow access based on specific needs. See [Security Configuration](/content/security/sec_configuration) for details on different use cases. ../../images/security_users_create.png 1. Create a New User Account * From **Security --> Users**, click **Create** under **Users** on the left-hand menu or **New** above the user list. * Select the type of **Authentication**. More information on the authentication types can be found under [Security Concepts](/content/security/sec_concepts). * Type a username into the **User** field and a password into the **Password** field, meeting the password strength requirements listed. Additional requirement details can be found under [Security Concepts](/content/security/sec_concepts) Passwords are required for Internal users only * Type the password again in the **Confirm Password** field. 2. Select Roles ../../images/security_users_roles.png * Add or remove roles as necessary in the **Member of Roles** section: * *Add*: Click a role in the **Available Roles** list and then click **Add >>**. * *Remove*: Click a role in the **Selected Roles** list and then click **\<\< Remove**. 3. Select Permissions ../../images/security_users_permissions.png * Check one or more [system-level permissions](/content/security/sec_concepts#security-concepts-permissions-system), as necessary. * Select the **Proc Level Permissions** box as necessary if allowing the user to execute all procs in the system (`proc_execute` permission). Review [User-Defined Functions Overview](/content/udf_overview) for more information on procs and UDFs. * In the next section, [table-level permissions](/content/security/sec_concepts#security-concepts-permissions-table) can be managed, controlling access to individual database schemas, tables, & views. The permission-to-object association will be displayed below the selection boxes, and the **Effective Permissions** table will be updated accordingly. Note that the *Table Admin* permission allows a user full access on a table. * *Add*: Select a schema, table, or view in the left list and a permission in the right list, and then click **Add**. * *Remove*: Select an existing object-permission association in the list of active permissions and click **Remove**. 4. Resource Group * Select a [Resource Group](/content/rm/concepts#rm-concepts-resource-groups) from the drop-down menu. Consult [Resource](/content/admin/gadmin/resource) for more information on configuring resource groups in GAdmin. 5. Default Schema * Select a [Default Schema](/content/concepts/schemas#schema-default) from the drop-down menu. Consult [Schemas](/content/concepts/schemas) for more information on *schemas*. 6. Click **Create**. ### Editing Users Existing users can have their roles, permissions, resource group, and default schema updated. 1. Edit a User Account * From **Security --> Users**, select a user to edit and click **Edit**. 2. Update Roles ../../images/security_users_roles.png * Add or remove selected roles as necessary in the **Member of Roles** section: * *Add*: Click a role in the **Available Roles** list and then click **Add >>**. * *Remove*: Click a role in the **Selected Roles** list and then click **\<\< Remove**. 3. Update Permissions ../../images/security_users_permissions.png * Check/uncheck one or more [system-level permissions](/content/security/sec_concepts#security-concepts-permissions-system), as necessary. * Check/uncheck the **Proc Level Permissions** box as necessary if allowing/disallowing the user to execute all procs in the system (`proc_execute` permission). Review [User-Defined Functions Overview](/content/udf_overview) for more information on procs and UDFs. * In the next section, [table-level permissions](/content/security/sec_concepts#security-concepts-permissions-table) can be managed, controlling access to individual database schemas, tables, & views. The permission-to-object association will be displayed below the selection boxes, and the **Effective Permissions** table will be updated accordingly. Note that the *Table Admin* permission allows a user full access on a table. * *Add*: Select a schema, table, or view in the left list and a permission in the right list, and then click **Add**. * *Remove*: Select an existing object-permission association in the list of active permissions and click **Remove**. 4. Update Resource Group * Update the [Resource Group](/content/rm/concepts#rm-concepts-resource-groups) from the drop-down menu. Consult [Resource](/content/admin/gadmin/resource) for more information on configuring resource groups in GAdmin. 5. Update Default Schema * Update the [Default Schema](/content/concepts/schemas#schema-default) from the drop-down menu. Consult [Schemas](/content/concepts/schemas) for more information on *schemas*. 6. Click **Save**. ### Changing Passwords Existing users can have their passwords changed by administrators with either the `system_admin` or `system_user_admin` permission. To change a user's password: 1. From **Security --> Users**, select a user whose password will be changed and click **Change Password** 2. Type the password into the **New Password** field, meeting the password strength requirements listed. Additional requirement details can be found on [Security Concepts](/content/security/sec_concepts) 3. Type the password again in the **Confirm Password** field 4. Click **Save**. ../../images/security_users_changepass.png ### Deleting Users An administrator can also delete a user from the database. This will not remove any database objects created by the user (schemas, tables, groups, etc.), nor will it remove the user from any external user store (LDAP, etc.). To delete a user: 1. From **Security --> Users**, select a user to delete and click **Delete**. 2. At the **Delete User** prompt, click **Remove**. ## Roles The **Roles** page lists the roles in the system, the role memberships (both containing & contained), and a brief window into their permissions. ../../images/security_roles.png ### Creating Roles When *Kinetica* has been configured to authenticate and/or authorize users, user accounts can be created to allow access based on specific needs. See [Security Configuration](/content/security/sec_configuration) for details on different use cases. ../../images/security_roles_create.png 1. Create a New Role * From **Security --> Roles**, click **Create** under **Roles** on the left-hand menu or **New** above the role list. * Type a name for the role into the **Role** field. Additional requirement details can be found on [Security Concepts](/content/security/sec_concepts) 2. Apply and Grant Roles * In the **Roles** section, apply existing roles to the new role: * *Add*: Click a role in the **Available** list and then click **Add >>**. * *Remove*: Click a role in the **Selected** list and then click **\<\< Remove**. * In the **Users/Roles Granted This Role** section, apply the new role to existing user(s) and/or role(s): * *Add*: Click a role in the **Available** list and then click **Add >>**. * *Remove*: Click a role in the **Selected** list and then click **\<\< Remove**. 3. Select Permissions ../../images/security_users_permissions.png * Check one or more [system-level permissions](/content/security/sec_concepts#security-concepts-permissions-system), as necessary. * Select the **Proc Level Permissions** box as necessary if allowing the role to execute all procs in the system (`proc_execute` permission). Review [User-Defined Functions Overview](/content/udf_overview) for more information on procs and UDFs. * In the next section, [table-level permissions](/content/security/sec_concepts#security-concepts-permissions-table) can be managed, controlling access to individual database schemas, tables, & views. The permission-to-object association will be displayed below the selection boxes, and the **Effective Permissions** table will be updated accordingly. Note that the *Table Admin* permission allows a user full access on a table. * *Add*: Select a schema, table, or view in the left list and a permission in the right list, and then click **Add**. * *Remove*: Select an existing object-permission association in the list of active permissions and click **Remove**. 4. Resource Group * Select a [Resource Group](/content/rm/concepts#rm-concepts-resource-groups) from the drop-down menu. Consult [Resource](/content/admin/gadmin/resource) for more information on configuring resource groups in GAdmin. 5. Click **Create**. ### Editing Roles Existing roles can have their permissions, users & roles assigned to, and resource group. 1. Edit a Role * From **Security --> Roles**, select a role to edit and click **Edit**. 2. Apply and Grant Roles * In the **Roles** section, apply other existing roles to the role: * *Add*: Click a role in the **Available** list and then click **Add >>**. * *Remove*: Click a role in the **Selected** list and then click **\<\< Remove**. * In the **Users/Roles Granted This Role** section, apply the role to other existing user(s) and/or role(s): * *Add*: Click a role in the **Available** list and then click **Add >>**. * *Remove*: Click a role in the **Selected** list and then click **\<\< Remove**. 3. Update Permissions ../../images/security_users_permissions.png * Check/uncheck one or more [system-level permissions](/content/security/sec_concepts#security-concepts-permissions-system), as necessary. * Check/uncheck the **Proc Level Permissions** box as necessary if allowing/disallowing the role to execute all procs in the system (`proc_execute` permission). Review [User-Defined Functions Overview](/content/udf_overview) for more information on procs and UDFs. * In the next section, [table-level permissions](/content/security/sec_concepts#security-concepts-permissions-table) can be managed, controlling access to individual database schemas, tables, & views. The permission-to-object association will be displayed below the selection boxes, and the **Effective Permissions** table will be updated accordingly. Note that the *Table Admin* permission allows a user full access on a table. * *Add*: Select a schema, table, or view in the left list and a permission in the right list, and then click **Add**. * *Remove*: Select an existing object-permission association in the list of active permissions and click **Remove**. 4. Update Resource Group * Update the [Resource Group](/content/rm/concepts#rm-concepts-resource-groups) from the drop-down menu. Consult [Resource](/content/admin/gadmin/resource) for more information on configuring resource groups in GAdmin. 5. Click **Save**. ### Deleting Roles An administrator can also delete a role from the database. This disassociates the role from any users or other roles that are currently associated with it. Roles in any associated external user stores (LDAP, etc.) will be unaffected. To delete a role: 1. From **Security --> Roles**, select a role to delete and click **Delete**. 2. At the **Delete Role** prompt, click **Remove**. # Stats Source: https://docs.kinetica.com/content/admin/gadmin/stats Detailed statistics dashboards about *Kinetica* and its host(s) can be accessed under the **Stats** menu. Collected statistics are divided into four groups: * *Kinetica* * [Tiered storage and resource groups](/content/rm/concepts) * System * GPU (if the CUDA version of Kinetica is installed) The **Stats** section is only available to users with the *System Admin* permission. ## Kinetica The **Kinetica DB Overview** dashboard is home to metrics related to the performance and health of your entire *Kinetica* instance. These metrics are also available on a per-processing-node basis for each node in your cluster, e.g., your head *Kinetica* node and any workers. This dashboard (and some of the others) support viewing individual metrics via the drop-down menus in the top-left corner. ../../images/stats_kinetica_overview.png ## Tiered Storage and Resource Groups The tiered storage and resource groups metrics are grouped into three stats dashboards: * **Memory Tiers** -- metrics related to the memory-based storage tiers, e.g., [VRAM](/content/rm/concepts#rm-concepts-tiers-vram) and [RAM](/content/rm/concepts#rm-concepts-tiers-ram) * **File Backed Tiers** -- metrics related to the file-backed storage tiers, e.g., [Disk Cache](/content/rm/concepts#rm-concepts-tiers-disk), [Persist](/content/rm/concepts#rm-concepts-tiers-persist), and [Cold Storage](/content/rm/concepts#rm-concepts-tiers-cold) * **Resource Groups** -- metrics related to the [resource groups](/content/rm/concepts#rm-concepts-resource-groups) that work within the database ## Systems Overview The **Host Systems Overview** dashboard is home to metrics related to the machine(s) *Kinetica* is installed on. These metrics are also available on a per-host basis for each node in your cluster. ## GPU Overview This dashboard is home to metrics related to the performance and health of your GPUs (if applicable). # Support Source: https://docs.kinetica.com/content/admin/gadmin/support The **Support** menu contains links to *Kinetica* documentation, as well as API & driver downloads. ## Docs **Docs** links to *Kinetica* system & API documentation, covering all facets of using & managing the database and related applications & services. ## APIs **APIs** links to the API download page, where both the native database and UDF APIs can be downloaded in each of the supported development languages. ## Drivers **Drivers** links to the *GitHub* projects for each of the *Kinetica* integration connectors. Detail & usage information for those connectors can be found under [Connectors](/content/connectors). # UDF Source: https://docs.kinetica.com/content/admin/gadmin/udf The **UDF** menu allows you to manage your *User-Defined Functions (UDFs)*. The **UDF** menu is only available if *UDFs* have been enabled. See [User-Defined Function Implementation](/content/udf) for *UDF* configuration requirements and [User-Defined Functions Overview](/content/udf_overview) for detail on *UDFs* themselves. The **UDF** section is only available to users with the `system_admin` role or the `proc_execute` permission. ## UDF **UDF** is the *UDF* homepage and allows executing, creating, editing, and deleting *UDFs*. For more detail on Running UDFs, see the [Running Python](/content/udf/python/running) or [Running C++](/content/udf/cpp/running) UDF pages (depending on your preference). ../../images/udf_procs.png ### Creating Procs Click **New** to create a new proc. ../../images/udf_procs_new.png Provide the name of the proc, command necessary to run the proc file (e.g., `python`), and any command-line arguments (e.g., custom *Python* or *C++* arguments; click **Add** to add additional arguments), then fill the **Distributed** checkbox if the *UDF* should be in distributed mode and fill the [Limit Concurrency](/content/udf/concurrency_limits#concurrency-limits) checkbox and type a number to set a concurrency limit. Finally, upload a proc file(s) by clicking **Choose file(s)** and selecting the proc file(s) from your computer. Here's an example of a proc being created in GAdmin: ../../images/udf_procs_new_filled.png ### Executing UDFs To execute a UDF, click a *UDF* then click **Execute**. ../../images/udf_procs_execute.png Provide a run tag if desired (see [/execute/proc](/content/api/rest/execute_proc_rest) for more information on run tags), click **Add** to add additional parameter names and values, input tables and columns, and/or output tables, then click **Execute**. Here's an example of the same proc being set up for execution in GAdmin: ../../images/udf_procs_execute_filled.png ### Editing UDFs To edit a *UDF*, select a *UDF* then click **Edit**. Edit the name or command as necessary, then add or edit arguments. Select the **Distributed** checkbox if the *UDF* should run in distributed mode, or clear the checkbox if the *UDF* should run in non-distributed mode. Select the **Limit Concurrency** checkbox and adjust the setting to set a concurrency limit, or clear the checkbox to remove the limit. Once editing is finished, click **Save**. You cannot change the file for the proc once it has been uploaded. ../../images/udf_procs_edit.png ### Deleting UDFs To delete a *UDF*, select a *UDF* then click **Delete** and confirm the deletion of the selected *UDF*. ### Permissions To adjust the permissions of a particular *UDF*, select a *UDF* then click **Permissions**. A list of available users and roles will display alongside lists of users and roles that have the `proc_execute` permission for the selected *UDF* as well as `proc_execute` permission for all *UDFs*. ../../images/udf_permissions.png To grant a user or role execute permission to all procs, the `proc_execute` will need to be applied via the [Security](/content/admin/gadmin/security) page. * Edit execute permissions for users: * *Add*: Click a user in the **Available** list and then click **Grant >>** to grant the user `proc_execute` permission on the selected UDF. * *Remove*: Click a user in the **Proc-level Granted** list and then click **\<\< Revoke** to revoke the user's `proc_execute` permission on the selected UDF. * Edit execute permissions for roles: * *Add*: Click a role in the **Available** list and then click **Grant >>** to grant the role `proc_execute` permission on the selected UDF. * *Remove*: Click a role in the **Proc-level Granted** list and then click **\<\< Revoke** to revoke the role's `proc_execute` permission on the selected UDF. ## Status **Status** displays active, idle, and completed procs. Like [Job Manager](/content/admin/job_manager), this page is automatically refreshed based on the selected interval, so you can see procs' statuses and total run time update at each interval. This page can be manually refreshed by clicking refresh. ../../images/udf_status.png To kill a stalled proc/tag, select the proc then click **Kill**. Select **Run ID** or **Run Tag** to kill this proc instance or all proc instances with the listed tag respectively. See [/kill/proc](/content/api/rest/kill_proc_rest) for more information on run tags. ../../images/udf_procs_kill.png Once a proc has been completed or killed, you can clear out the status list by clicking **Clear Completed**. Click the **Run ID** to see a detailed status of the UDF execution process. ../../images/udf_detailed_status.png # User Source: https://docs.kinetica.com/content/admin/gadmin/user Click your username in the top navigation menu to review open *GAdmin* sessions, change your password, or log out of *GAdmin*. ## Sessions Click **Sessions** to open the list of currently open *GAdmin* sessions. Select any of the sessions not designated as **Current** (displays the current logo) and click **Terminate** to remotely terminate that session. The user for the session will be forced to login again. ../../images/admin_sessions.png ## Change Password Click **Change Password** to change your password. The new password must meet the password strength requirements listed. Click **Save** to confirm the password change. ../../images/admin_changepassword.png ## Logout Click **Logout** to end the current *GAdmin* session and return to the login page. # Host Manager Source: https://docs.kinetica.com/content/admin/host_manager *Host Manager* is a supervisor process that manages several processes that are part of each *Kinetica* install. The following processes are managed by *Host* *Manager* and will be restarted if they fail unexpectedly: * Database Services * Text Search * ODBC Server * HTTPD Read more about managing the *Host Manager* process on [Managing Kinetica Services](/content/admin/services). The *Host Manager* also serves the following endpoints: * [/admin/add/host](/content/api/rest/admin_add_host_rest) * [/admin/alter/host](/content/api/rest/admin_alter_host_rest) * [/admin/remove/host](/content/api/rest/admin_remove_host_rest) * [/admin/show/alerts](/content/api/rest/admin_show_alerts_rest) * [/admin/switchover](/content/api/rest/admin_switchover_rest) # Administration Source: https://docs.kinetica.com/content/admin/index Kinetica administration and service management ## Topics * [Workbench UI](/content/admin/workbench/ui) * [SQL Workbooks](/content/admin/workbench/workbooks) * [Cluster](/content/admin/gadmin/cluster) * [Data](/content/admin/gadmin/data) * [Query](/content/admin/gadmin/query) * [UDF](/content/admin/gadmin/udf) * [Jobs](/content/admin/gadmin/jobs) * [Resource](/content/admin/gadmin/resource) * [Security (User/Role Management)](/content/admin/gadmin/security) * [Info (Instance Information)](/content/admin/gadmin/info) * [Stats](/content/admin/gadmin/stats) * [Changing the Administrator Password](/content/admin/changing_password) * [KAgent](/content/admin/kagent/kagent#kagent-concept) * [Features](/content/admin/kagent/kagent#kagent-features) * [Notifications](/content/admin/kagent/kagent#kagent-ui-notifications) * [KAgent CLI](/content/admin/kagent/kagent#kagent-cli-params) * [Backing Up/Restoring Kinetica](/content/admin/backup_restore) * [Adding a Cluster to KAgent](/content/admin/adding_cluster_kagent) * [Monitoring and Alerting](/content/admin/monitoring_alerting) * [Upgrade Tasks](/content/admin/upgrade#upgrade-tasks) * [Upgrade Actions](/content/admin/upgrade#upgrade-actions) * [Managed Cluster Upgrade](#managed-cluster-upgrade) * [Unmanaged Cluster Upgrade](/content/admin/upgrade#unmanaged-cluster-upgrade) * [Upgrading Database Clients](/content/admin/upgrade#upgrade-database-clients) * [Upgrading Client APIs](/content/admin/upgrade#upgrade-database-clients-apis) * [Upgrading ODBC/JDBC Drivers](/content/admin/upgrade#upgrade-database-clients-drivers) * [Database Backup](/content/admin/backup_restore#database-backup) * [System Backup](/content/admin/backup_restore#system-backup) * [Custom Logging](/content/admin/logging) * [Managing Kinetica Services](/content/admin/services) ## Product Highlights Manage the deployment, run queries, and manage database objects with simple user interfaces Monitor Kinetica and configure alerts with an intuitive user interface Get back up and running quickly with our back up and restoration tool ## How-To Guides Get started with Kinetica Workbench Length: 15 MIN ## Next Steps Now that you are familiar with Kinetica's administrative capabilities, here are a few resources to check out next: * [SQL](/content/sql/index) * [Load Data](/content/load_data/index) * [Integration](/content/integrate) # Job Manager Source: https://docs.kinetica.com/content/admin/job_manager The *Job Manager* maintains request ordering across the nodes in your *Kinetica* cluster at the cost of some performance. All read requests (`/show/table`, `/get/records`, etc.) are processed simultaneously. When a write request (`/insert/records`, `/delete/records`, etc.) is made, all subsequent read and write requests are blocked until the current write request is finished. If *Job Manager* is disabled, all inbound requests are broadcasted to all worker nodes and can be executed in any order. While enabled by default, *Job Manager* can be disabled by setting the **enable\_job\_manager** configuration parameter to `false` in the gpudb.conf file. The *Job Manager* interface is available through [GAdmin](/content/admin/gadmin/jobs), which allows jobs to be monitored and cancelled, if needed. Because read requests are processed simultaneously, read jobs can only be cancelled while a preceding write request is being processed, which is also referred to as a checkpoint. Insert, update, and delete requests **cannot** be cancelled. Otherwise, most user-facing non-admin jobs are cancellable. When using any endpoint, you can specify a name, number, or other tag to help identify a particular job using the `job_user_data` options parameter; e.g., (in Python): ```python theme={null} h_db.insert_records( table_name = "test_table_all_types", data = encoded_obj_list, list_encoding = 'binary', options = { "job_user_data":"insert_records_large_table" } ) ``` # Alerts Source: https://docs.kinetica.com/content/admin/kagent/alerts The **Alerts** page in *KAgent* hosts alert configuration and management as well as alert history. Visit [Monitoring and Alerting](/content/admin/monitoring_alerting) for an overview of *KAgent's* monitoring and alerting capabilities, including configuring alerts and recipients. The **Alerts** page is divided into five tabs: ## History The **History** tab displays a detailed alert history. Use the paging controls below the list of alerts to navigate through the history. ../images/alerts_history.png ## Metric Alerts The **Metric Alerts** tab displays the currently configured metric alerts. Metric alerts can be used to track the value of a metric and send a notification via email or in *KAgent* when the value crosses a given threshold. Visit [Monitoring and Alerting](/content/admin/monitoring_alerting#metric-alerts-concept) for more information on configuration and usage. * Click **+ Add Metric Alert** to start [creating an alert](/content/admin/monitoring_alerting#create-metric-alert) * For existing metric alerts: * Click **Recipients** to adjust the recipients of the alert * Click **Edit** to adjust the metric alert configuration * Click **Delete** to delete the metric alert ../images/metric_alerts.png ## Event Alerts The **Event Alerts** tab displays the currently configured event alerts. Event alerts can be used to track specific system events and send a notification via email or in *KAgent* when the event occurs. Visit [Monitoring and Alerting](/content/admin/monitoring_alerting#event-alerts-concept) for more information on configuration and usage. * Click **+ Add Event Alert** to start [creating an alert](/content/admin/monitoring_alerting#create-event-alert) * For existing event alerts: * Click **Recipients** to adjust the recipients of the alert * Click **Delete** to delete the alert ../images/event_alerts.png ## Default Alerts Default alerts are preconfigured by *Kinetica* and will be broadcast to all web users as a notification. Click **Disable** to disable the default alert. ../images/default_alerts.png ## Recipients The **Recipients** tab displays the available recipients for alerts. Visit [Monitoring and Alerting](/content/admin/monitoring_alerting#recipients-concept) for more information on configuration and usage. * Click **+ Add Recipient** to start [creating a recipient](/content/admin/monitoring_alerting#create-recipient) * For existing recipients: * Click **Test** to send a test alert to the recipient. * Click **Delete** to delete the recipient ../images/recipients.png ## Channels The **Channels** tab hosts configuration for delivery channels currently supported by [KAgent](/content/admin/kagent/kagent). Visit [Monitoring and Alerting](/content/admin/monitoring_alerting#delivery-channels-concept) for more information on configuration and usage. ../images/alerts_channels.png # Dashboard Source: https://docs.kinetica.com/content/admin/kagent/dashboard The **Dashboard** page in *KAgent* hosts cluster and ring summary information, which provides a quick way to gather the health of your Kinetica environments. ## Rings **Rings** is the default view for the **Dashboard** page. The **Rings** view displays a list of the [rings](/content/ha) added to this instance of *KAgent*. For each ring listed, the following information is available: a list of clusters in the ring, a visual indicator of the health of each node in each cluster, and a visual indicator of the health of each rank in each cluster. If *etcd* and/or *RabbitMQ* are enabled on nodes within the cluster, the status of those services is available as well as some management controls. * Click **Refresh** to refresh the list of rings * For a given ring in the list, click **Details** to display the [Ring Summary](#ring-summary) view for that ring * If a ring does not have any clusters currently, click **Add New Cluster** to begin the [cluster installation](/content/install/kagent_install) process. * If *etcd* is present within the cluster, click **Modify** to update the *etcd* configuration file using the *KAgent* interface. If *RabbitMQ* is present within the ring, the [High Availability (HA)](/content/ha) configuration file will also be editable from the modify *etcd* configuration window. ../images/dashboard_rings.png ## Ring Summary The **Ring Summary** is accessed via the [Rings](#rings) view. The **Ring Summary** displays the health of infrastructure services (e.g., *etcd*, *RabbitMQ* if [ring resiliency](/content/ha) is enabled, etc.), the [Events Timeline](#events-timeline), and a list of clusters in the ring. For each cluster listed, the following information is available: the name of the cluster, a visual indicator of the health of each node and rank in the cluster, a list of nodes (a detailed status is available upon cursor hover) in the cluster and basic performance statistics & metrics. *Head nodes* are labeled with an `H` to set them apart from worker nodes (`W`). * Click one of the timeframe control buttons or select a date-time range to adjust the event timeline and the metric graphs to the selected duration * Click **Refresh** to refresh the **Ring Summary** and **Events Timeline** * Click **Back** to return to the [Rings](#rings) view * Click **Collapse All** or **Expand All** to collapse or expand the cluster information cards in the list * For a given cluster in the list, click **Details** to display the [Cluster Summary](#cluster-summary) view for that cluster * Point the cursor to a graph to see the value at that time ../images/dashboard_ring_summary.png ### Events Timeline The **Events Timeline** displays events that have occurred within the selected timeframe. A red cursor continuously moves through the timeline, denoting seconds as they pass. Events will appear along the timeline in real time. ../images/dashboard_events_timeline.png First, click the **Events Timeline**, then: * Scroll to zoom in and out on the timeline * Click and drag left and right to move the timeline backward and forward respectively * Click an event dot to open detailed information, including the source of the event, the [event code](/content/admin/event_codes), the timestamp of the event, and more: ../images/dashboard_event_details.png ## Cluster Summary The **Cluster Summary** is accessed via the [Ring Summary](#ring-summary) view. The **Cluster Summary** displays similar information as the [Ring Summary](#ring-summary) but with additional performance metrics and a list of nodes within the cluster. For each node listed, the following information is available: the name and IP address for the node, the services being hosted by the node, a visual indicator of the health of each rank in the node, a list of ranks (a detailed status is available upon cursor hover) in the cluster, and basic performance statistics & metrics. * Click one of the timeframe control buttons or select a date-time range to adjust the event timeline and the metric graphs to the selected duration * Click **Refresh** to refresh the **Cluster Summary** and **Events Timeline** * Click **Back** to return to the [Ring Summary](#ring-summary) view * Click **Collapse All** or **Expand All** to collapse or expand the cluster and node information cards in the list * Point the cursor to a graph to see the value at that time ../images/dashboard_cluster_summary.png # Events Source: https://docs.kinetica.com/content/admin/kagent/events The **Events** page in *KAgent* hosts a running log of all events that have occurred. Events are configured via the [Alerts](/content/admin/kagent/alerts) page. Review [Event Codes](/content/admin/event_codes) for a list of all available events. ../images/events.png ## Actions The available actions on the **Events** page are as follows: * Refresh the list of events by clicking **Refresh** * Update any of the **Advanced Filter** fields and click **Apply Filter** to filter the events list based on the provided values. Click **Clear** to remove the filter. * Open a detailed view of an event or query by clicking **Detail** next to the desired event or query. # KAgent Source: https://docs.kinetica.com/content/admin/kagent/kagent *KAgent* is a multi-faceted administration, installation, and configuration management tool. It provides a centralized way to perform a consistent install across an existing or yet-to-be-cloud-provisioned cluster of computers. *KAgent* can also assist in automating tasks such as provisioning cloud hardware, configuring cluster security, adding and removing nodes, data backup and restoration, monitoring cluster health, managing and configuring cluster [high availability](/content/ha/ha_architecture). It has both a graphical (web) interface as well as a command line interface. ## Features *KAgent* facilitates or directly performs the following operations: * [Kinetica installation](/content/install/kagent_install) * [Existing cluster addition](/content/admin/adding_cluster_kagent) * [Cluster Back-ups](/content/admin/kagent/manage#kagent-ui-backups) * [Cluster management](/content/admin/kagent/manage) * [HA (Rings)](/content/admin/kagent/manage#kagent-ui-rings) * Cluster [monitoring](/content/admin/monitoring_alerting) and [usage](/content/admin/kagent/usage) ## UI The *KAgent* UI is usually available on port 8081 of the desired machine, so it can be accessed via `http://:8081`. The *KAgent* UI has a navigation pane on the left-hand side and a **Notifications** pane on the right-hand side. Review [Logging In / Out](/content/admin/kagent/kagent#kagent-ui-logout) for information on accessing the *KAgent* UI. ../images/kagent_ui_dashboard_full.png ### Navigation The navigation pane hosts quick access to all the features *KAgent* has to offer. Available navigation menu options: * [Dashboard](/content/admin/kagent/dashboard) -- Displays cluster health summary information. Not available until a new or existing cluster has been added to *KAgent* * [Manage](/content/admin/kagent/manage) -- Hosts the *cluster management* and *cluster addition* / *cluster installation* interfaces. * [Usage](/content/admin/kagent/usage) -- Displays cluster usage statistics. Not available until a new or existing cluster has been added to *KAgent* * [Queries](/content/admin/kagent/queries) -- Displays a filterable log of all queries made against the given cluster * [Events](/content/admin/kagent/events) -- Displays cluster events * [Alerts](/content/admin/kagent/alerts) -- Displays cluster alerts * **Logout** -- Logs out the current user. Not available until a new or existing cluster has been added to *KAgent*. Review [Logging In / Out](/content/admin/kagent/kagent#kagent-ui-logout) for more information ### Notifications The **Notifications** pane lists notifications from metric or event [Alerts](/content/admin/kagent/alerts). If there are no unread notifications, click **See Past Notifications** to open the [Alert History](/content/admin/kagent/alerts#alert-history) . Click **Mark All as Read** to mark all unread notifications as read; click **Mark as Read** to mark an individual unread notification as read. ### Logging In / Out Once a cluster is added to *KAgent* (either via the installation or cluster addition process), users must login to *KAgent* any time they need to use any of its [features](/content/admin/kagent/kagent#kagent-features). Conversely, if no clusters are in *KAgent*, there's no need to login, and thus, there's no way to log out (the button won't be available) until a cluster is added. To log into *KAgent*: 1. Navigate to *KAgent* (`http://:8081`) 2. Provide a username for the **Username** field. Only System Admin users have access to *KAgent*. 3. Provide a password for the **Password** field. 4. Select a cluster from the **Authentication Cluster** drop-down menu. 5. Click **Log In**. Authenticating against a particular cluster does not restrict users from accessing other clusters that have been added to this particular instance of *KAgent*. After a successful login, the *KAgent* UI displays the **Dashboard** page by default. To log out of *KAgent*: 1. From the *KAgent* UI (`http://:8081`), click **Logout** in the navigation pane. ## CLI The *KAgent* CLI is available via the `kagent` executable typically stored in `/opt/gpudb/kagent/bin/`. The form of the command is as follows: ```bash theme={null} kagent [-h] [--debug] [--quiet] [-f ] [--kagent-dir ] [-o ] [--user ] [-v] < ring | cluster | node | log | check | factory-reset | monitor | refresh-config | update > ``` ### Options Show the help menu. When used following one of the subcommands, the subcommand-specific help menu will be shown. Log debug messages. Suppress all output messages. Path to KAgent cluster configuration database. Path to where KAgent and its playbooks reside. The output message format to use: * `human` - *(default)* output in human-readable form * `json` - output in JSON format Specify what user is performing the actions, for logging purposes. Run ansible-playbook with `-vvv` to debug issues. ### Subcommands | Subcommand | Description | | ---------------- | -------------------------------------------------------------------------------------------------------------------- | | `ring` | [Manage rings](/content/admin/kagent/kagent#kagent-cli-ring). | | `cluster` | [Manage clusters](/content/admin/kagent/kagent#kagent-cli-cluster). | | `node` | [Manage nodes](/content/admin/kagent/kagent#kagent-cli-node). | | `log` | [Manage logs](/content/admin/kagent/kagent#kagent-cli-log). | | `check` | [Check cluster connectivity](/content/admin/kagent/kagent#kagent-cli-check). | | `factory-reset` | [Reset KAgent to its original state and uninstall Kinetica packages](/content/admin/kagent/kagent#kagent-cli-reset). | | `monitor` | [Set a monitor for checking cluster connectivity](/content/admin/kagent/kagent#kagent-cli-monitor). | | `refresh-config` | [Force a refresh of the clusters from current status](/content/admin/kagent/kagent#kagent-cli-refresh). | | `update` | [Update global KAgent settings](/content/admin/kagent/kagent#kagent-cli-update). | ### Ring The form of the command to manage rings is as follows: ```bash theme={null} kagent ring ``` Add a new ring with the given `name`.
Option Description
\< -a | --addr > \ Specify the load balancer address for the ring.
Backup an existing ring with the given `name`.
Option Description
--backup-path \ Specify the path in which the backup will be created. Once given, will become the default backup path for subsequent backups. Initial backup directory is /opt/backups.
Control the services of the ring with the given `name`. Apply one of the following operations: * `start` * `stop` * `restart` To one of the following components: * `gpudb` * `host_manager` * `tomcat` * `reveal` * `kml` * `stats` * `text_search` * `httpd` * `ha` * `mq` * `all_gpudb` * `all` Force the ring with the given `name` to lock. Force the ring with the given `name` to unlock. Download the logs from the ring with the given `name` to a destination on the *KAgent* host.
Option Description
--backtrace Add a process backtrace to the database process.
--kagent-logs Add the *KAgent* logs to the archive, up to the point at which they are collected.
--log-lines \ Specify the number of lines to collect from the log. The first 100 lines are always saved. Use 0 to collect the entire log or ERROR to collect only error log messages. Default is 100,000 log lines.
--output-dir \ Specify the path where the log archive will be written. The directory must be writable by the **gpudb** user on the *KAgent* host.
--package-verify Verify the installed *Kinetica* packages.
Inspect the details of the ring with the given `name`. Install the HA platform on the ring with the given `name`. List all managed rings. Attempt a RabbitMQ recovery; the process will clear all queues.
Option Description
--proceed \ Pass the final recovery confirmation (yes or no).
Remove the ring with the given `name`. Update the details of the ring with the given `name`.
Option Description
--addr \ Specify the load balancer address for the ring.
--ha-enabled \ Specify that HA has been enabled (yes) or not (no) for the ring.
Upgrade Kinetica to the latest version on the ring with the given `name`. This will perform a sequential in-place upgrade of each cluster within the ring.
Option Description
--offline-aaw-installer \ Specify the file path or URL of the location for the *KML* installer package (rpm,deb).
--offline-core-installer \ Specify the file path or URL of the location for the *gpudb* installer package (rpm,deb).
--offline-rabbit-installer \ Specify the file path or URL of the location for the *gpudb HA* installer package (rpm,deb).
--rabbit-drain-timeout \ Specify the timeout in minutes that the upgrade will wait for queues to drain before beginning the upgrade. The upgrade will be aborted if the queues are not empty. Default is 3.
### Cluster The form of the command to manage clusters is as follows: ```bash theme={null} kagent cluster ``` Backup the data on the cluster with the given `name`.
Option Description
--backup-path \ Specify the path in which the backup will be created. Once given, will become the default backup path for subsequent backups. Initial backup directory is /opt/backups.
--list-schedule List backup schedules by backup type.
--schedule \ Specify the backup schedule. Use now to run an immediate backup. Use a quoted crontab-style expression to schedule a backup in *cron*. Use never to remove a backup schedule. Default is now.
--table-list \ Specify a space-separated list of tables to backup.
Backup all configuration files on the cluster with the given `name`.
Option Description
--backup-path \ Specify the path in which the backup will be created. Once given, will become the default backup path for subsequent backups. Initial backup directory is /opt/backups. The directory must be writable by the **gpudb** user on the *KAgent* host.
List scheduled backups on the cluster with the given `name`. Bootstrap the *KAgent* role to a different host in the cluster; further cluster management must happen through the *KAgent* on this different host.
Option Description
--kagent-hostname \ Specify the name of the host where *KAgent* will be bootstrapped.
Check if upgrades are available on-line for the cluster with the given `name`. Clone one cluster into another.
Option Description
--authentication \ Specify whether to copy (yes) or not copy (no) authentication settings.
--data \ Specify whether to copy (yes) or not copy (no) data.
--destination \ Specify the name of the cluster to clone to.
--graph \ Specify whether to copy (yes) or not copy (no) persisted graph information.
--source \ Specify the name of the cluster to clone from.
--users \ Specify whether to copy (yes) or not copy (no) users and permissions.
Control the services of the cluster with the given `name`. Apply one of the following operations: * `start` * `stop` * `restart` To one of the following components: * `gpudb` * `host_manager` * `tomcat` * `reveal` * `kml` * `stats` * `text_search` * `httpd` * `ha` * `mq` * `all_gpudb` * `all` Download the logs from the cluster with the given `name` to a destination on the *KAgent* host.
Option Description
--backtrace Add a process backtrace to the database process.
--kagent-logs Add the *KAgent* logs to the archive, up to the point at which they are collected.
--log-lines \ Specify the number of lines to collect from the log. The first 100 lines are always saved. Use 0 to collect the entire log or ERROR to collect only error log messages. Default is 100,000 log lines.
--output-dir \ Specify the path where the log archive will be written. The directory must be writable by the **gpudb** user on the *KAgent* host.
--package-verify Verify the installed *Kinetica* packages.
Show database configuration properties of the cluster with the given `name`. Show logger and logging level for the cluster with the given `name`. To list the available loggers, run: ```bash theme={null} kagent cluster get-logger --ranks 0 ```
Option Description
--logger \ Specify the name of the logger to show.
--ranks \ Specify the number of the rank from which to retrieve logging config.
Initialize a new cluster with the given `name`.
Option Description
--ring \ Specify the name of the ring in which to place this cluster.
\< -k | --ssh-key > \ Specify the path to the SSH private key to use for cluster operations.
\< -u | --ssh-user > \ Specify the SSH username to use for cluster operations. This overrides the KAGENT\_SSH\_USER environment variable.
\< -p | --ssh-password > \ Specify the SSH password to use for the SSH user. This overrides the KAGENT\_SSH\_PASS environment variable.
\< -su | --sudo-user > \ Specify the sudo username to use for cluster operations, in the case where root logins are not allowed.
--sudo-password \ Specify the sudo password to use for the sudo user. This overrides the KAGENT\_SUDO\_PASSWORD environment variable.
\< -admpass | --admin-pass > \ Specify the *Kinetica* admin user password.
--connect-via \ Specify whether to connect to each node's internal IP address (ip\_addr) or public IP address (public\_ip\_addr).
\< -inf | --infrastructure-provider > \ Specify the cluster's infrastructure provider:
  • onprem - On-premise (bare-metal) installation, or a cloud-based installation not provisioned via *KAgent*
\< -lic | --lic-key > \ Specify the license key to use for this cluster.
--aws-access-key \ Specify the *AWS* access key to use for cluster provisioning and operations. This overrides the KAGENT\_AWS\_ACCESS\_KEY environment variable.
--aws-secret-key \ Specify the *AWS* secret key to use for cluster provisioning and operations. This overrides the KAGENT\_AWS\_SECRET\_KEY environment variable.
--aws-ssh-key-name \ Specify the name of the SSH key to use to log into cluster nodes. If none is provided, a key will be created.
--azure-client-id \ Specify the client id from the *Azure* login profile, usually found in /.azure/credentials. This overrides the KAGENT\_AZURE\_CLIENT\_ID environment variable.
--azure-secret \ Specify the secret from the *Azure* login profile, usually found in /.azure/credentials. This overrides the KAGENT\_AZURE\_SECRET environment variable.
--azure-subscription-id \ Specify the subscription id from the *Azure* login profile, usually found in /.azure/credentials. This overrides the KAGENT\_AZURE\_SUBSCRIPTION\_ID environment variable.
--azure-tenant \ Specify the tenant from the *Azure* login profile, usually found in /.azure/credentials. This overrides the KAGENT\_AZURE\_TENANT environment variable.
--cloud-region \ Specify the *AWS* region, *Azure* location, or *GCP* zone for the cluster.
--cloud-ssh-user \ Specify the username to create a login for on *Azure* or *GCP* provisioned instances.
--cloud-ssh-public-key-file \ Specify the path to the public key to use for authentication on *Azure* or *GCP* instances.
--gcp-project \ Specify the *GCP* project with which this cluster should be associated.
--gcp-service-account-file \ Specify the *GCP* service account file (JSON) for the user.
Inspect the details of the cluster with the given `name`. Install *Kinetica* on a new cluster. **Note:** specifying any offline installer will switch the install to offline mode.
Option Description
--auto-config \ Whether to update (yes) or not update (no) the configuration on the cluster during install. Default is to update the configuration.
\< -c | --cuda > \ Whether to use a CUDA (GPU) build (yes) or Intel (CPU) build (no).
--k8s-config-file \ Specify the path to the kubeconfig file of the external K8s cluster which KML will use.
--k8s-public-ip \ Specify the IP address at which the K8s cluster is accessible by the *Kinetica* cluster.
\< -nv | --nvidia > \ Whether to install (yes) or not install (no) the Nvidia driver when none is detected.
--open-firewall-ports \ Whether to open (yes) or not open (no) relevant firewall ports if an enabled firewall is detected.
--offline-aaw-installer \ Specify the file path or URL of the location for the *KML* installer package (rpm,deb).
--offline-core-installer \ Specify the file path or URL of the location for the *gpudb* installer package (rpm,deb).
--offline-kagent-installer \ Specify the file path or URL of the location for the *KAgent* installer package (rpm,deb).
--offline-nvidia-installer \ Specify the file path or URL of the location for the *Nvidia* installer package (rpm,deb).
--offline-rabbit-installer \ Specify the file path or URL of the location for the *gpudb HA* installer package (rpm,deb).
--reserve-k8s-gpus \ Specify the number of GPUs to reserve for K8s/UDF usage.
List all managed clusters. List the contents of a backup on the cluster with the given `name`.
Option Description
--backup-path \ Specify the path to the backup directory.
--restore-from \ Specify the backup whose contents will be listed; this will be the name of a backup directory under the path given in --backup-path.
List the available backups on the cluster with the given `name`.
Option Description
--backup-path \ Specify the path to the backup directory.
List all of the tables on the cluster with the given `name`. Detect/regenerate environment settings for running *KAgent* commands on the cluster with the given `name`. Remove the cluster with the given `name`. Restore the contents of a backup to the cluster with the given `name`.
Option Description
--backup-path \ Specify the path to the backup directory.
--preserve-persist \ Whether to move (yes) or not move (no) the existing database persist folder to a safe location before overwriting. Default is no.
--restore-from \ Specify the backup to restore; this will be the name of a backup directory under the path given in --backup-path.
--table-list \ Specify a space-delimited set of tables to restore from the backup.
Secure the cluster with the given `name` by enabling HTTPS and/or authentication via *LDAP*, *Active* *Directory*, *Kerberos*, or *OAuth2*. **Note:** All parameters relevant to the desired authentication mechanism must be specified upon each invocation of this command--no existing settings will be used as defaults.
Option Description
--ssl \ Whether to enforce (yes) or not enforce (no) SSL connections to the cluster via https.
--generate-certs \ Whether to generate (yes) or not generate (no) self-signed certificates. Certificates can also be assigned directly to each node with the [kagent node](/content/admin/kagent/kagent#kagent-cli-node) command.
--authentication \ Specify the type of authentication to use:
  • none
  • ad
  • kerberos
  • ldap
  • oauth2
--connection-type \ When using *LDAP*, the type to use (ldap | ldaps).
--ldaps-cert \ When using *LDAPS* and a certificate is necessary, the path of the *LDAP* certificate.
--ldap-host \ When using *LDAP*, the name of the *LDAP* bind host.
--ldap-port \ When using *LDAP*, the port to bind to.
--ldap-base-filter \ When using *LDAP*, the filter to use when searching the directory for logins.
--ldap-bind-user \ When using *LDAP*, the username of the account to use when connecting to the directory.
--ldap-bind-pwd \ When using *LDAP*, the password of the account to use when connecting to the directory. This overrides the KAGENT\_LDAP\_BIND\_PWD environment variable.
--kerberos-realm \ When using *Kerberos*, the realm to authenticate against. For example: MY-REALM.ACME.COM.
--kerberos-service-name \ When using *Kerberos*, specify the *Kerberos* service location. For example: HTTP/kerb-server.acme.com.
--kerberos-keytab \ When using *Kerberos*, specify the path to the keytab file to use.
--external-auth-role-maps-file \ When using *LDAP* or *AD*, the path to the JSON file containing the role maps used to limit authorization, mapping certain groups to *Kinetica* roles. The mapping file should have the following format: .. code-block:: json \{ "role1": \["cn=g1,dc=abc,dc=com"], "role2": \[ "cn=g1,dc=abc,dc=com", "cn=g2,dc=abc,dc=com" ] }
--ui-auth-type \ The type of authentication to use when logging in to the UIs:
  • none
  • openid-connect - use with --authentication oauth2 setups
--oauth-metadata-url \ When using *OAuth*, the url that identifies the *OAuth* server settings.
--oauth-user-claim \ When using *OAuth*, the name of the claim on the *OAuth* token representing the user's username in *Kinetica*.
--oauth-cliend-id \ When using *OAuth*, the id of the client used to connect to the *OAuth* server.
--oauth-client-secret \ When using *OAuth*, the secret of the client used to connect to the *OAuth* server.
--oauth-db-roles-claim \ When using *OAuth*, the name of the claim on the *OAuth* token that contains a comma-separated list of database roles that the user should be assigned.
--oauth-reveal-roles-claim \ When using *OAuth*, the name of the claim on the *OAuth* token that contains a comma-separated list of *Reveal* roles that the user should be assigned.
--oauth-gadmin-redirect-uri \ When using *OAuth*, the url that can be used as a return redirect for *GAdmin* from the *OAuth* server, necessary when the hostname or port the user is using to access *GAdmin* is different than those found on the standard public-facing URL.
--oauth-reveal-redirect-uri \ When using *OAuth*, the url that can be used as a return redirect for *Reveal* from the *OAuth* server, necessary when the hostname or port the user is using to access *Reveal* is different than those found on the standard public-facing URL.
--oauth-workbench-redirect-uri \ When using *OAuth*, the url that can be used as a return redirect for *Workbench* from the *OAuth* server, necessary when the hostname or port the user is using to access *Workbench* is different than those found on the standard public-facing URL.
--offline-httpd-oauth-installer \ When using *OAuth*, the path of the file or URL for the add-on *OAuth* httpd module installer package (rpm, deb).
Set database configuration properties for the cluster with the given `name`.
Option Description
--properties-map \ Specify a map of key-value pairs of database configuration parameters to set. For example: .. code-block:: json \{"np1.load\_vectors\_on\_migration":"always"}
Set logger and logging level for the cluster with the given `name`.
Option Description
--level \ Specify the level of logging for the selected logger(s). One of:
  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • FATAL
  • OFF
--logger \ Specify the name of the logger to modify.
--ranks \ Specify the number of the rank to where the logging modification will be applied. A comma-separated list of rank numbers can be used to specify multiple ranks to modify; e.g., 0,3,4. Use -1 to apply the modification across the cluster.
Remove the cluster with the given `name`, including all components except this instance of *KAgent*. Modify select parameters of the cluster with the given `name`.
Option Description
--connect-via \ Specify whether to connect to each node's internal IP address (ip\_addr) or public IP address (public\_ip\_addr).
--is-installed \ Whether to mark (yes) or not mark (no) this cluster as installed.
--move-to-ring \ Specify the name of an existing ring to move this cluster into.
Verify connectivity and basic configuration of the cluster with the given `name`.
Option Description
--include-dependency Include info from related cluster services like *RabbitMQ*.
--status-only Only gather the service status on the nodes.
Write out an inventory file for the cluster with the given `name`.
Option Description
\< -i | --inventory-dir > \ The path to write the inventory file to. Default is ./ansible-inventory-\.
--vault-password \ Specify the password to use for the Ansible vault. This overrides the KAGENT\_VAULT\_PASSWORD environment variable.
### Node The form of the command to manage nodes is as follows: ```bash theme={null} kagent node ``` Attempt to auto-discover (and update) the hostname of the node with the given `name`. Download the logs from the node with the given `name` to a destination on the *KAgent* host.
Option Description
--backtrace Add a process backtrace to the database process.
--kagent-logs Add the *KAgent* logs to the archive, up to the point at which they are collected.
--log-lines \ Specify the number of lines to collect from the log. The first 100 lines are always saved. Use 0 to collect the entire log or ERROR to collect only error log messages. Default is 100,000 log lines.
--output-dir \ Specify the path where the log archive will be written. The directory must be writable by the **gpudb** user on the *KAgent* host.
--package-verify Verify the installed *Kinetica* packages.
Initialize a new node with the given `name` and IP `addr` on the given `cluster`. The `name` must be unique across all nodes in the cluster.
Option Description
--cloud-instance-name \ Specify an optional name for the node.
--cloud-instance-type \ Specify the type of the node, based on the cloud provider.
--data-size \ Specify the size of the storage to allocate for the node in GB.
--gcp-gpu-card \ Specify the GPU card to attach to the node (if available and using *GCP* as the provider).
--public-ip-addr \ Specify the IP addr of the node accessible outside the DMZ, if applicable.
--public-hostname \ Specify the hostname of the node accessible outside the DMZ, if applicable.
--roles \ Specify a comma-separated list of roles for the node.
Role Description
head Head node for the cluster
worker One of the worker nodes in the cluster
graph [Graph](/content/graph_solver/network_graph_solver) node
kml [KML](/content/ml/concepts) node
ha\_queue *RabbitMQ* node for [ring resiliency](/content/ha)
kagent Bootstrapped in-cluster *KAgent* for cluster/ring management
--ssh-port \ Specify the port to use for SSH connections to the node.
--ssl-cert \ Specify the path to the SSL certificate for the node.
--ssl-key \ Specify the path to the SSL key for the node.
Inspect the details of the node with the given `name`. List all managed nodes. Remove the node with the given `name`.
Option Description
\< -f | --force > Always remove the node, even if some aspect of the removal fails.
Modify select parameters of the node with the given `name`.
Option Description
--public-hostname \ Specify the hostname of the node accessible outside the DMZ, if applicable.
--ssl-cert \ Specify the path to the SSL certificate for the node.
--ssl-key \ Specify the path to the SSL key for the node.
### Log The form of the command to manage *KAgent* logs is as follows: ```bash theme={null} kagent log ``` Show a list of *KAgent* log events.
Option Description
\< -n | --number > \ Specify the maximum number of log events to show.
### Check This command is used to ensure that all the nodes of a cluster are up by checking for connectivity and then interjecting *spare* nodes, if available, to fill in any gaps. The form of the command to perform this check is as follows: ```bash theme={null} kagent check [options] ``` Specify the `number` of connectivity check retries before failing over nodes. Specify the `seconds` to wait between each connectivity check retry. ### Factory Reset This command uninstalls all *Kinetica* packages and resets *KAgent* configurations to an out-of-the-box condition. No directories will be removed unless requested. The form of the command to perform a factory reset is as follows: ```bash theme={null} kagent factory-reset [options] ``` Whether to remove (`yes`) or not remove (`no`) directories left by the installation. Default is to not remove directories. Whether to automatically proceed (`yes`) or ask for confirmation (`no`) before performing a reset. ### Monitor This command sets a monitor for checking cluster connectivity. The form of the command is as follows: ```bash theme={null} kagent monitor [options] ``` Specify how often the check command will be run, in crontab format. Default is `*/5 * * * *`. Specify the `number` of check retries before failing over a node. Specify the `seconds` to wait between each check retry. ### Refresh Config This command forces a refresh of the cluster configuration and roles, given its current status. The form of the command is as follows: ```bash theme={null} kagent refresh-config ``` ### Update This command updates global *KAgent* settings. The form of the command is as follows: ```bash theme={null} kagent update [options] ``` Whether to mark this *KAgent* as bootstrapped (`yes`) or not (`no`). A bootstrapped *KAgent* is one that is deployed into a cloud-provisioned cluster during installation. This marking will determine which set of IPs this *KAgent* will use in connecting via SSH to the cluster nodes. Whether to remove (`yes`) or not remove (`no`) the lock placed on this *KAgent* if it had been used to bootstrap an in-cluster *KAgent*. # Manage Source: https://docs.kinetica.com/content/admin/kagent/manage The **Manage** page allows users to install new clusters, add existing clusters, review *KAgent* logs and jobs, manage cluster [high availability](/content/ha/ha_architecture) rings, and more. The **Manage** page has two main views depending on whether there is a cluster in *KAgent* or not. If no clusters have been added to *KAgent* yet, the **Welcome** page will appear by default allowing you to quickly jump into [adding a cluster](/content/admin/kagent/manage#manage-add-cluster). If there are clusters in *KAgent*, the [Clusters](#clusters) page will appear by default. * Click **Rings** to view *KAgent* rings * Click **Jobs** to view *KAgent* [jobs](/content/admin/kagent/manage#kagent-ui-jobs). * Click **Logs** to view *KAgent* [logs](/content/admin/kagent/manage#kagent-ui-logs). * Click **Console** to open the *KAgent* [console log](/content/admin/kagent/manage#kagent-ui-console). ## Add Cluster The **Add Cluster** interface allows users to install a new cluster or add an existing cluster; this page will only appear if this instance of *KAgent* is not currently managing any *Kinetica* clusters. For full details on installing a cluster using *KAgent*, visit [Kinetica Installation with KAgent](/content/install/kagent_install). For more information about adding an existing cluster, see [Adding a Cluster to KAgent](/content/admin/adding_cluster_kagent). ../images/add_cluster_ui.png ## Clusters The **Clusters** page is the home page for the *KAgent* management UI and displays all existing clusters. This page is only accessible if a cluster has been previously added to or installed with *KAgent*. * Click **+ Cluster** to begin adding a cluster. See [Add Cluster](/content/admin/kagent/manage#manage-add-cluster) for more information. * Click **Clone** to begin cloning an existing cluster. See [Clone](/content/admin/kagent/manage#kagent-ui-clone) for more information. * Click **Refresh** to refresh the cluster list. * Click the headnode icon in the **Nodes** column to open a browser tab to the head node's *Admin Application* ([GAdmin](/content/admin/gadmin) -- `http://:8080`) * Click **Apps** to open a small menu containing links to the Kinetica-related applications available on this cluster; e.g., *GAdmin* or [Reveal](/content/bi/reveal) * Click **Manage** next to a cluster to open the [management](/content/admin/kagent/manage#kagent-manage) options for the cluster. * Click **Logging** to open a window where you can enable additional SQL Analyzer logging for the cluster. * Click **Logs** to open the **Gather Logs** modal, which will assist in *KAgent* log gathering, *KAgent* package verification, and a process backtracing for the `gpudb` service of the selected cluster. Select the desired options and click **Gather Logs** to initiate the process; a download link will be presented once processing is complete. * Click **X** to remove the cluster from *KAgent*. This will **not** uninstall *Kinetica* or any other services. ../../images/kagent_clusters.png ### Clone **Clone** provides the ability to clone a cluster's authentication settings, users, and/or data to another cluster. To clone a cluster: 1. From the **Clusters** page, click **Clone**. 2. Select a **Source Cluster** from the drop-down menu. 3. Select a **Target Cluster** from the drop-down menu. 4. Select the **Clone Options**: * **Authentication**: the source cluster's authentication settings (LDAP, Kerberos, etc.) will be cloned to the target cluster * **Users**: the source cluster's users and permissions setup will be cloned to the target cluster * **Data**: the source cluster's data will be cloned to the target cluster * **Graph**: the source cluster's persisted [graphs](/content/graph_solver) will be cloned to the target cluster 5. Click **Clone**. Cloning a cluster should be performed during downtime as cloning a cluster while modifying any of the related data can lead to inconsistencies between the two clusters. ../images/kagent_manage_clone.png ### Manage Users can manage cluster nodes, security, backups, and more from a particular cluster's management interface. Click **Refresh** to refresh the management page. #### Nodes **Nodes** is divided into three tabs: **List**, **Switchover**, **Failover Configuration**. * *List* -- Provides a summary of the nodes and services enabled in the cluster. Click **Remove Node** to remove a node from the cluster. Click **Add Spare** to bring additional nodes into the cluster. * *Switchover* -- No longer used * *Failover Configuration* -- No longer used ../../images/kagent_nodes.png #### Detail **Detail** provides basic information about the cluster, including ring (HA), SSL, license, and more. ../../images/kagent_detail.png #### Security **Security** provides the ability to adjust the existing security configuration for the cluster. To update the security configuration: 1. Select an **SSL Update Mode**: * **Cert/key setup not required** -- no SSL certificate/key creation/upload required and no updates to security configuration settings * **User-provided cert/key per node** -- user must upload an SSL certificate and key and optionally a public hostname for each node; *Kinetica* copies the cert/key pair to /opt/gpudb/certs, enables HTTPD, and configures HTTPD to use HTTPS * **Generate self-signed cert/key per node** -- *KAgent* generates a self-signed certificate and key for each node and places it in /opt/gpudb/certs, enables HTTPD, and configures HTTPD to use HTTPS 2. Click **Update SSL**. This will override any existing configuration. 3. Select an **Authentication** type and fill the fields as necessary: * **None** -- no authentication or authorization * **LDAP** -- configures *Kinetica* to authenticate via *LDAP*; requires authentication to connect to the database, enables authorization, enables external authentication, automatically creates users in the database for *LDAP* users, and automatically grants roles in the database to *LDAP* users * **Active Directory** -- configures *Kinetica* to authenticate via *Microsoft Active Directory*; requires authentication to connect to the database, enables authorization, enables external authentication, automatically creates users in the database for *Active Directory* users, and automatically grants roles in the database to *Active Directory* users * **Kerberos** -- configures *Kinetica* to authenticate via *Kerberos*; requires authentication to connect to the database, enables authorization, enables external authentication, automatically creates users in the database for *Kerberos* users, and automatically grants roles in the database to *Kerberos* users For more information on security configurations and settings as well as how to manually configure *Kinetica* for a secure setup, see [Security Configuration](/content/security/sec_configuration) 4. Click **Update**. This will override any existing configuration. ../../images/kagent_security.png #### Backups **Backups** provides the ability to schedule backups of your entire database. In this section, the system can also be restored from a previous snapshot. Consult [Backing Up/Restoring Kinetica](/content/admin/backup_restore) for information on backing up Kinetica using KAgent from the command line. ../../images/kagent_backups.png

Schedule

To schedule a backup in the future: 1. Provide a **Backup Path**. This directory should be accessible on all nodes and to the `gpudb` user. 2. Select the **Hour**, **Day**, or **Month** tab. 3. Select one of the options: * For backups every *hour | day | month* * For backups every `` *hour(s) | day(s) | month(s)* starting with *hour | day | month* `` * For backups during specific *hour(s) of the day | day(s) of the week | month(s) of the year* 4. Optionally, select as many tables to backup as desired in the **Table List**. Only the records in the tables selected will be available upon restoring from backup. All other tables that existed at the time of backup will be restored but they will have no records. 5. Click **Update**. To clear an existing scheduled backup: 1. Click **Clear**. To backup immediately: 1. Click **Backup Now**. 2. Optionally, provide a **Backup Path**. This directory should be accessible on all nodes and to the `gpudb` user. If no directory is provided, `/opt/backups` will be used. If this path provided differs from the path for the scheduled backups, users will not be able to restore from this backup via *KAgent*. 3. Optionally, select as many tables to backup as desired in the **Table List**. Only the records in the tables selected will be available upon restoring from backup. All other tables that existed at the time of backup will be restored but they will have no records. 4. Click **Backup Now**.

Snapshots

By default, **Snapshots** displays all backups in the set backup path directory. * Provide a backup directory path to **View Backup Path** and click **Refresh** to display any backups located in the given path. * Click **Restore** and confirm to restore the database from a snapshot. ../../images/kagent_snapshots.png #### Config **Config** allows users to edit the `external_files_directory` [config parameter](/content/config#config-main-external-files). This parameter is used for setting the directory that stores the files upon which [external tables](/content/concepts/external_tables) are based and restricts the path of files accessed via [/insert/records/fromfiles](/content/api/rest/insert_records_fromfiles_rest) and the `SQL LOAD INTO` command. To update the directory: 1. Adjust the directory in the **external\_files\_directory** field as necessary. The provided directory must exist prior to the update. 2. Click **Update**. 3. Confirm the cluster restart by clicking **Yes**. The cluster will restart and the setting will be updated.
#### Admin **Admin** provides the ability to start, stop, or restart any of the Kinetica-managed services. *KAgent* must first check for the installed services across the cluster, then each service can be managed. Click **Refresh** to refresh the list of system services. The **Admin** tab also provides access to the **Clone** utility. ../../images/kagent_admin.png

Clone

**Clone** provides the ability to clone a cluster's authentication settings, users, and/or data to another cluster. To clone a cluster: 1. Select a **Target Cluster** from the drop-down menu. 2. Select the **Clone Options**: * **Authentication**: the source cluster's authentication settings (LDAP, Kerberos, etc.) will be cloned to the target cluster * **Users**: the source cluster's users and permissions setup will be cloned to the target cluster * **Data**: the source cluster's data will be cloned to the target cluster 3. Click **Clone Cluster**. Cloning a cluster should be performed during downtime as cloning a cluster while modifying any of the related data can lead to inconsistencies between the two clusters. ../../images/kagent_cluster_clone.png
## Rings The **Rings** page allows users to add and configure [high availability](/content/ha/ha_architecture) (*HA*) rings and create immediate ring backups. * Click **+ Ring** to create a ring. * Click **Refresh** to refresh the list of rings. * Click **Upgrade** to proceed with a [ring upgrade](/content/admin/upgrade). * Click **Clusters** to display the [Clusters](#clusters) page. * Click **Enable HA** to enable [ring resiliency](/content/ha) for the desired ring. * Click **Config HA** (once *ring resiliency* is enabled) to configure the most important *high availability (HA)* settings. See [High Availability Configuration & Management](/content/ha/ha_configuration) for more information. * Click **Backup** to initiate a backup operation immediately; similar to the **Backup Now** functionality in [Backups](#backups). * Click **Logs** to open the **Gather Logs** modal, which will assist in *KAgent* log gathering, *KAgent* package verification, and a process backtracing for the `gpudb` service of the selected cluster. Select the desired options and click **Gather Logs** to initiate the process; a download link will be presented once processing is complete. * Click **X** to delete the ring. For more information on enabling and configuring *HA* rings, see [High Availability Configuration & Management](/content/ha/ha_configuration). ../images/manage_rings.png ## Jobs The **Jobs** page displays all historical and currently active *KAgent* jobs. * Click **Refresh** to refresh the list of jobs. * Click a job's **Name** to open a status window for the job. * Click **Cancel** to cancel a running job. * Click **Clear Log** to clear the log for this job. ../../../install/img/kagent_jobs.png ## Logs The **Logs** page hosts the logs for each *KAgent* command and result during the verification and installation processes as well as any later interactions with *KAgent*. Click **Refresh** to refresh the log. ../../../install/img/kagent_logs.png ## Console The **Console** window hosts a running log of *KAgent's* activity while it interacts with the local/provisioned instances to install or upgrade Kinetica and its components, create backups, and more. Click **Show Details** to display detailed information about each interaction. ../../../install/img/kagent_console.png # Queries Source: https://docs.kinetica.com/content/admin/kagent/queries The **Queries** page in *KAgent* hosts a running log of all queries made against the database. ../images/queries.png ## Actions The available actions on the **Queries** page are as follows: * Refresh the list of queries by clicking **Refresh** * Update any of the **Advanced Filter** fields and click **Apply Filter** to filter the queries list based on the provided values. Click **Clear** to remove the filter. * Open a detailed view of a query by clicking **Detail** next to the desired query: ../images/queries_details.png # Events Timeline Source: https://docs.kinetica.com/content/admin/kagent/shared/events_timeline The **Events Timeline** displays events that have occurred within the selected timeframe. A red cursor continuously moves through the timeline, denoting seconds as they pass. Events will appear along the timeline in real time. ../images/dashboard_events_timeline.png First, click the **Events Timeline**, then: * Scroll to zoom in and out on the timeline * Click and drag left and right to move the timeline backward and forward respectively * Click an event dot to open detailed information, including the source of the event, the [event code](/content/admin/event_codes), the timestamp of the event, and more: ../images/dashboard_event_details.png # Usage Source: https://docs.kinetica.com/content/admin/kagent/usage The **Usage** page in *KAgent* hosts detailed system and [resource group](/content/rm) usage statistics and metrics. ## System The **System** tab under the **Usage** page displays several system usage metric and statistics graphs as well as an [Events Timeline](#events-timeline). * Click one of the timeframe control buttons or select a date-time range to adjust the event timeline and the metric graphs to the selected duration * Adjust the **Ring**, **Cluster**, and/or **Node** drop-down menus to filter the graphs for the selected ring / cluster / node * Point the cursor to a graph to see the value at that time ../images/usage.png ### Events Timeline The **Events Timeline** displays events that have occurred within the selected timeframe. A red cursor continuously moves through the timeline, denoting seconds as they pass. Events will appear along the timeline in real time. ../images/dashboard_events_timeline.png First, click the **Events Timeline**, then: * Scroll to zoom in and out on the timeline * Click and drag left and right to move the timeline backward and forward respectively * Click an event dot to open detailed information, including the source of the event, the [event code](/content/admin/event_codes), the timestamp of the event, and more: ../images/dashboard_event_details.png ## Resource Groups The **Resources Groups** tab under the **Usage** page displays metrics and statistics graphs for select configured storage tiers as well as an [Events Timeline](#events-timeline). * Click one of the timeframe control buttons or select a date-time range to adjust the event timeline and the metric graphs to the selected duration * Adjust the **Ring**, **Cluster**, and/or **Node** drop-down menus to filter the graphs for the selected ring / cluster / node * Point the cursor to a graph to see the value at that time ../images/usage_resource_groups.png # Custom Logging Source: https://docs.kinetica.com/content/admin/logging The default core *Kinetica* log that records database interactions, startup/shutdown, error information, and more is located at `/opt/gpudb/core/logs/gpudb.log`. This log file can be configured to use a custom format that conforms to a rolling logging standard, enable various appenders and/or loggers, change the logging level, and more using the `/opt/gpudb/core/etc/gpudb_logger.conf` file. ## Customizing the Log 1. Review the available [Log Levels](/content/admin/logging#log-levels). * `OFF` * `FATAL` * `ERROR` * `WARN` * `UERR` * `INFO` * `DEBUG` * `TRACE` * `NOTSET` 2. Review the available [Appenders](/content/admin/logging#appenders). * `ToConsole` * `ToSysLog` * `ToFile` * `ToRollingFile` * `ToRollingDatedFile` * `ToBacktraceFile` 3. Review the available [Loggers](/content/admin/logging#loggers). 4. Open `/opt/gpudb/core/etc/gpudb_logger.conf` with a text editor. 5. Update the `rootLogger` setting with the desired level and appender(s): ``` log4cplus.rootLogger=, [, , ..., ] ``` 6. Uncomment the desired appender setting section(s): ``` # --------------------------------------------------------------------------- # Rolling dated log file appender. # ... log4cplus.appender.ToRollingDatedFile=log4cplus::RollingDatedFileAppender ... ``` 7. Adjust the appender settings as necessary, e.g., log size, threshold, file name, etc. 8. Adjust additional logger levels and/or appender(s) as necessary: ``` # =========================================================================== # Loggers # ... # Log memory info, logs at DEBUG. log4cplus.logger.MEMORY=, [, , ..., ] ... ``` 9. Save and exit the file. 10. Restart the [host manager](/content/admin/host_manager) and the database: ``` service restart gpudb_host_manager && service restart gpudb ``` ## Log Levels Log levels can be attributed to the `rootLogger` (the base logger, default level is `INFO`), the individual loggers at the bottom of the file, or as the threshold for an appender. The log levels can be ranked in order from least information to most information logged like so: `OFF`, `FATAL`, `ERROR`, `WARN`, `UERR`, `INFO`, `DEBUG`, `TRACE`. Some loggers will not provide their information unless a certain level is set. | Level | Description | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OFF` | Does not log at all. | | `FATAL` | Logs unrecoverable errors that occur and cause the database or a component to exit. | | `ERROR` | Logs serious and unexpected errors that may severely impact the database, e.g., network errors, disk full, etc. | | `WARN` | Logs unfavorable conditions or states that may impair the database, e.g., network outage, slow disks, etc. | | `UERR` | Logs malformed user requests or requests that could not be processed, e.g., invalid table names, bad options, etc. | | `INFO` | Logs informational messages recorded during startup and shutdown. There are two `INFO` logs per request by the head node: one when the request is received and one when the request is completed. | | `DEBUG` | Logs verbose messages about program processing and state. | | `TRACE` | Logs even more verbose messages about program processing and state. | | `NOTSET` | Logs at the level of the next logger in the chain, up to the `rootLogger`. This is equivalent to commenting out the logger. | Some loggers may have chained sub loggers; these sub loggers will use the same level as the next logger up the chain (if set). If none of the loggers or sub loggers in the chain are set, the logger will use the `rootLogger` level. For example, if the following sub logger is `NOTSET`: ``` log4cplus.logger.GlobalManager.pub.socket=NOTSET ``` It will use the level of the next logger up the chain: ``` log4cplus.logger.GlobalManager.pub=INFO ``` ## Appenders The gpudb\_logger.conf file comes with preconfigured appenders that can be used to create different log types. Multiple appenders can be used if necessary as long as the appropriate settings are uncommented and the appender name is added to the `rootLogger` appender list. Default database setups have the `ToConsole` appender enabled. For sizing considerations, a request typically logs for about 500 bytes, but [joins](/content/concepts/joins) and multi-step queries will log quite a bit more. ### ToConsole The Console appender pipes the output of the `/opt/gpudb/core/bin/gpudb` script to a `/opt/gpudb/core/logs/gpudb--.log` file. This file is symbolically linked to `/opt/gpudb/core/logs/gpudb.log`. | Setting | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | ### ToSysLog The SysLog appender sends the log output to the centralized SysLog host. | Setting | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | | `syslogHost` | Hostname for the SysLog host. | | `Facility` | Source of the log messages. | | `Threshold` | The level of messages to log. See [Log Levels](/content/admin/logging#log-levels) for more information. | ### ToFile The File appender sends each *Kinetica* process' (rank and host manager) logs to a separate file. This appender is demanding in terms of disk space. | Setting | Description | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `File` | The name and directory of the files to which to send the logs. The files will have an `-r` or `-hm` appended for each rank and the host manager respectively. | | `Threshold` | The log level required to log messages. See [Log Levels](/content/admin/logging#log-levels) for more information. | | `Append` | Enables appending log messages to the end of the files. Leave as `true`. | | `ImmediateFlush` | Enables flushing the output stream to the files with each append operation. | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | | `UseLockFile` | Enables the use of a logger lockfile to create a single log file per host.
Setting this value to `true` results in slower performance as the system will need to check the file lock for each append. It's recommended this setting be left as `false`. | ### ToRollingFile The Rolling File appender processes logs to a rolling log file where a new log file is created once the previous log file reaches the maximum file size. The maximum file size and number of files to keep is configurable. | Setting | Description | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `File` | The name and directory of the files to which to send the logs. The files will have an `-r` or `-hm` appended for each rank and the host manager respectively. As files are periodically replaced, older files are renamed `.1` to `.n` where `n` is equal to `MaxBackupIndex`. | | `Threshold` | The log level required to log messages. See [Log Levels](/content/admin/logging#log-levels) for more information. | | `MaxFileSize` | The maximum file size a log file can reach before a new one is created. | | `MaxBackupIndex` | The maximum number of log files to keep until older files are deleted to make room for new ones. Note that this setting defines the maximum backup index for each process, e.g., if `MaxBackupIndex` is set to 4, the host manager can have up to four files, rank 0 can have up to four files, etc. | | `Append` | Enables appending log messages to the end of the file. Leave as `true`. | | `ImmediateFlush` | Enables flushing the output stream to the file with each append operation. | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | | `UseLockFile` | Enables the use of a logger lockfile to create a single log file per host.
Setting this value to `true` results in slower performance as the system will need to check the file lock for each append. It's recommended this setting be left as `false`. | ### ToRollingDatedFile The Rolling Dated File appender processes logs to a dated rolling log file where a new log file is created (with the time the file is created appended to the name) once the previous log file reaches the maximum file size. The maximum file size and number of files to keep is configurable. | Setting | Description | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `File` | The name and directory of the files to which to send the logs. The files will have an `-r` or `-hm` appended for each rank and the host manager respectively. As files are periodically replaced, older files are renamed `-1` to `-n` where `n` is equal to `MaxBackupIndex`. | | `Threshold` | The log level required to log messages. See [Log Levels](/content/admin/logging#log-levels) for more information. | | `MaxFileSize` | The maximum file size a log file can reach before a new one is created. | | `MaxBackupIndex` | The maximum number of log files to keep until older files are deleted to make room for new ones. Note that this setting defines the maximum backup index for each process, e.g., if `MaxBackupIndex` is set to 4, the host manager can have up to four files, rank 0 can have up to four files, etc. | | `Append` | Enables appending log messages to the end of the file. Leave as `true`. | | `ImmediateFlush` | Enables flushing the output stream to the file with each append operation. | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | | `UseLockFile` | Enables the use of a logger lockfile to create a single log file per host.
Setting this value to `true` results in slower performance as the system will need to check the file lock for each append. It's recommended this setting be left as `false`. | ### ToBacktraceFile The Backtrace File appender redirects the backtrace logs generated by the `ErrorBacktrace` logger so they do not appear in the `rootLogger` output. Add the `ERROR` log level and the `ToBacktraceFile` appender to the `ErrorBacktrace` like so to properly setup this appender: ``` log4cplus.ErrorBacktrace=ERROR, ToBacktraceFile ``` It's advised that this appender also be added to the `rootLogger` so that logs with a threshold of `ERROR` are also logged to give context to a backtrace. | Setting | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `File` | The name and directory of the file to which to send the logs. | | `Threshold` | The log level required to log messages. See [Log Levels](/content/admin/logging#log-levels) for more information. | | `Append` | Enables appending log messages to the end of the file. Leave as `true`. | | `ImmediateFlush` | Enables flushing the output stream to the file with each append operation. | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | | `additivity` | If using an alternate appender for the `ErrorBacktrace` logger, set the additivity to `false` to avoid duplicated the backtrace logs in the `rootLogger` output. |
## Loggers Loggers control specific types of information. Each logger can have its own [log level](/content/admin/logging#log-levels) and [appender](/content/admin/logging#appenders). If the level or appender are not specified, the `rootLogger` level and/or appender(s) are used. Loggers are divided into sections: * System and process information -- memory, CPU * GlobalManager and GlobalRegistry -- publish and subscribe sockets * All ranks (not exclusive to a particular rank) -- filter planner, job manager, security manager * Head node -- endpoint manager, graph client, WMS * Worker nodes -- bytes and GPU manager, queue, tasks ## Auditing The location of the request auditor logs can also be controlled via the gpudb\_logger.conf file. Auditing must be enabled before the logging can be configured; see [Auditing](/content/security/auditing) for more information. The auditor uses its own appender to separate audit messages from other log messages. All audit messages are at the `INFO` or `ERROR` [level](/content/admin/logging#log-levels); it's recommended the audit log level be kept to at least `INFO`. If desired, the auditor can use a different appender. The audit log comes with a few preconfigured [appender types](/content/admin/logging#audit-appenders) that are similar to the `rootLogger` [appenders](/content/admin/logging#appenders). ### Customizing the Log 1. Review the available [Log Levels](/content/admin/logging#log-levels). * `OFF` * `FATAL` * `ERROR` * `WARN` * `UERR` * `INFO` * `DEBUG` * `TRACE` * `NOTSET` 2. Review the available [Appenders](/content/admin/logging#appenders). * `ToConsole` * `ToSysLog` * `ToFile` * `ToRollingFile` * `ToRollingDatedFile` * `ToBacktraceFile` 3. Open `/opt/gpudb/core/etc/gpudb_logger.conf` with a text editor. 4. Adjust the default `logger.Audit` setting as necessary: ``` log4cplus.logger.Audit=INFO, AuditAppender ``` 5. Optionally, update the `additivity` setting if audit information is desired in both the `rootLogger` and the audit log. In most cases, this will not need to be updated. 6. Optionally, uncomment one of the other audit appenders (File or Rolling File). If uncommenting a new appender, the Console appender will need to be commented out. 7. Adjust the appender settings as necessary, e.g., log size, threshold, file name, etc. 8. Save and exit the file. 9. Restart the [host manager](/content/admin/host_manager) and the database: ``` service restart gpudb_host_manager && service restart gpudb ``` ### Audit Appenders #### Console The Console appender for the audit log will direct output to the `rootLogger` file(s). | Setting | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | #### File The File appender for the audit log will direct output to a file. | Setting | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `File` | The name and directory of the files to which to send the logs. The files will have an `-r` or `-hm` appended for each rank and the host manager respectively. | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | #### Rolling File The Rolling File appender for the audit log will direct output to a rolling file. | Setting | Description | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `File` | The name and directory of the files to which to send the logs. The files will have an `-r` or `-hm` appended for each rank and the host manager respectively. As files are periodically replaced, older files are renamed `.1` to `.n` where `n` is equal to `MaxBackupIndex`. | | `MaxFileSize` | The maximum file size a log file can reach before a new one is created. | | `MaxBackupIndex` | The maximum number of log files to keep until older files are deleted to make room for new ones. Note that this setting defines the maximum backup index for each process, e.g., if `MaxBackupIndex` is set to 4, the host manager can have up to four files, rank 0 can have up to four files, etc. | | `Append` | Enables appending log messages to the end of the file. Leave as `false`. | | `layout` | Dictates the type of layout the logging of which the logging will take form. | | `layout.ConversionPattern` | The log4cplus pattern to use for the layout. See the `PatternLayout` class [reference documentation](https://log4cplus.github.io/log4cplus/docs/log4cplus-2.1.0/doxygen/classlog4cplus_1_1PatternLayout.html) for details. | # Monitoring and Alerting Source: https://docs.kinetica.com/content/admin/monitoring_alerting Kinetica's monitoring and alerting features are available via the [KAgent](/content/admin/kagent/kagent) application. Detailed cluster, usage, and query statistics and metrics are available to assist administrators in monitoring their Kinetica environment. Administrators can configure alerts that are triggered when specific performance metric thresholds are exceeded ([Metric Alerts](/content/admin/monitoring_alerting#metric-alerts-concept)) or by specific system events ([Event Alerts](/content/admin/monitoring_alerting#event-alerts-concept)). Administrators can then choose who should be notified when those alerts fire by configuring [Recipients](/content/admin/monitoring_alerting#recipients-concept) and [Delivery Channels](/content/admin/monitoring_alerting#delivery-channels-concept) for alert delivery. Visit [KAgent](/content/admin/kagent/kagent) for an overview of the *KAgent* (and Monitoring and Alerting) user interface. For information on simpler alerting via *Host Manager*, see [Alerting](/content/admin/alerting). ## Monitoring Monitoring in *Kinetica* is enabled via the detailed cluster and ring metrics and information on the [Dashboard](/content/admin/kagent/dashboard), usage statistics and metrics in [Usage](/content/admin/kagent/usage), and query logging in [Queries](/content/admin/kagent/queries). ## Alerting Alerting in *Kinetica* consists of sending notifications at regular intervals to desired recipients when a given event or metric alert is triggered. ### Delivery Channels Delivery channels determine how and/or where notifications are sent. Review the [Channels](/content/admin/kagent/alerts#channels-ui) interface documentation for more information on accessing the existing delivery channel configuration settings. The supported delivery channels are as follows: * *Email* -- An SMTP host can be configured to send notifications when alerts are triggered * *Slack* -- A *Slack* application's incoming Webhook URL can be provided to send notifications to a channel in the specified workplace when alerts are triggered #### Configure Email 1. From the **Channels** tab on the **Alerts** page in *KAgent*, click the **Email Settings** sub-tab. 2. Provide a **Host** and **From** value. 3. Optionally, provide a **Hello** hostname. 4. For the **Authentication** settings, provide at least a **Username** and **Password** **or** an **Identity** and **Secret**. 5. For the **TLS Options**, adjust and provide values as necessary.

Example

To configure notifications to be sent using your *Gmail* account: 1. [Generate a Custom App Password](https://support.google.com/mail/answer/185833) using the desired *Gmail* account. 2. For the **Host**, input `smtp.gmail.com:587`. 3. For the **From**, input the address from which the email alert will be sent. 4. For the **Authentication**: 1. Provide the **Username** for the *Gmail* account used to generate the *App Password*. 2. Input the *App Password* into the **Password** field. 5. Under **TLS Options**, enable the **Use TLS** slider. 6. Click **Save**. ../kagent/images/example_email_settings.png
#### Configure Slack Configuring *Slack* to receive *KAgent* alerts involves creating an app using the *Slack* API. Follow the [incoming Webhook creation documentation](https://api.slack.com/messaging/webhooks) on the *Slack* API website. Once the webhook URL is available, copy it and provide it when [creating a Slack recipient](/content/admin/monitoring_alerting#create-recipient). ### Recipients Recipients determine to whom notifications are sent when an alert is triggered. Review the [Recipients](/content/admin/kagent/alerts#recipients-ui) interface documentation for more information on accessing the currently configured recipients. The supported types of recipients are as follows: * *Web* -- A notification will be displayed in the *KAgent* [notifications pane](/content/admin/kagent/kagent#kagent-ui-notifications) for the selected recipient * *Email* -- A notification will be sent via email using the configured SMTP server for the selected recipient * *Slack* -- A notification will be sent to a given *Slack* channel using the configured *Slack* incoming Webhook URL #### Create a Recipient 1. From the **Recipients** tab on the **Alerts** page in *KAgent*, click **+ Add Recipient**. 2. Select a recipient type: * *Email*: Provide an **Email Address**. A distribution list can also be provided if multiple people should be notified. * *Web*: Provide a valid **Username**. The provided user must have system admin permissions to access [KAgent](/content/admin/kagent/kagent). * *Slack*: Provide an incoming Webhook URL. See [Configure Slack](/content/admin/monitoring_alerting#config-slack) for more information. 3. Click **OK**. The recipient will be created but must be added to the alerts via the **Event Alerts** or **Metric Alerts** lists. ../kagent/images/add_recipient.png

Example

To add `sys_admn`, a user with the `system_admin` role, as a *Web* recipient: 1. Click **+ Add Recipient**. 2. Select the **Web** tab. 3. Input `sys_admn` for the **Username** field. 4. Click **OK**.
### Metric Alerts Metric Alerts are triggered when specific performance metric thresholds are exceeded, such as CPU utilization, memory usage, or rate of API requests. Review the [Metric Alerts](/content/admin/kagent/alerts#metric-alerts-ui) interface documentation for more information on accessing the currently configured metric alerts. #### Create a Metric Alert 1. From the **Metric Alerts** tab on the **Alerts** page in [KAgent](/content/admin/kagent/kagent):, click **+ Add Metric Alert**. 2. Provide a **Name** for the alert. This will be used when generating a notification, so this value should be short but relevant 3. Select a **Severity** for the alert. 4. Provide a **Description** for the alert. This will be used when generating a notification, so this value should be short but relevant 5. Define the **Trigger** condition that will cause the alert to fire: 1. First, select a **When** condition and an **Of** *metric*. 2. Next, select an **Is** comparative condition and input a value for the given units associated with the selected *metric*. 3. Select an **On** condition to determine to which (or any/all) ring, cluster, and/or node this alert applies. 4. Select an **For** condition to determine for how long the selected metric must be consistently meeting the configured condition. Set the value to `0` to send an alert as soon as the condition is met. 6. Optionally, click **Recipients** and select an available recipient to send the notification to when the alert triggered. A recipient can also be set via the **Metric Alerts** list. 7. Click **Save**. ../kagent/images/add_metric_alert.png

Examples

To create a warning metric alert for high (> 90%) CPU usage on any node within a ring/cluster for 5 minutes (or more): 1. Click **+ Add Metric Alert**. 2. For the **Name**, input `High CPU Usage`. 3. For the **Severity**, select **WARNING** from the drop-down menu. 4. For the **Description**, input `CPU usage has been greater than 90% for 5 minutes (or more)`. 5. For the **Trigger**: 1. Leave **When** as **Value**. 2. For the **Of** *metric*, select **CPU Usage** from the drop-down menu. Notice the **units** will automatically change to **%**. 3. Update the **Is** comparative condition to **Greater than** and set the associated value to `90`. 4. For **On**, select **Any Ring, Cluster, or Node** from the drop-down menu. 5. Leave the default values for **For**. 6. Click **Save**. If a recipient has already been created, click **Recipient** next to the new metric alert, then select the desired recipient for the alert. ../kagent/images/example_metric_alert.png To create a fatal metric alert for average memory usage of 100% across a given cluster for 0 minutes (triggering an immediate notification upon meeting the condition): 1. Click **+ Add Metric Alert**. 2. For the **Name**, input `Max Memory Usage`. 3. For the **Severity**, select **FATAL** from the drop-down menu. 4. For the **Description**, input `Average memory usage across cluster is 100%`. 5. For the **Trigger**: 1. For the **When**, select **Average** from the drop-down menu. 2. For the **Of** *metric*, select **Memory Usage** from the drop-down menu. Notice the **units** will automatically change to **%**. 3. Leave the **Is** comparative condition as **Equal to**, but set the associated value to `100`. 4. For **On**, select the desired ring then a desired cluster from the drop-down menu. 5. Set the **For** value to `0`. 6. Click **Save**. If a recipient has already been created, click **Recipient** next to the new metric alert, then select the desired recipient for the alert. ../kagent/images/example_metric_alert_mem_usage.png
### Event Alerts Event Alerts are triggered when specific system events occur, such as nodes terminating or data ingestion completing. Review the [Event Alerts](/content/admin/kagent/alerts#event-alerts-ui) interface documentation for more information on accessing the currently configured event alerts. Review the list of [Event Codes](/content/admin/event_codes) to see the available events. #### Create an Event Alert 1. From the **Event Alerts** tab on the **Alerts** page in *KAgent*, click **+ Add Event Alert**. 2. Select a system event from the **Events** drop-down menu. 3. Optionally, select a ring from the **Ring** drop-down menu. 4. Optionally, select a cluster from the **Cluster** drop-down menu. 5. Optionally, select a node from the **Node** drop-down menu. 6. Optionally, select an available recipient to send the notification to when the alert triggered. A recipient can also be set via the **Event Alerts** list. 7. Click **OK**. ../kagent/images/add_event_alert.png

Example

To create an event alert for when a rank crashes in a given cluster: 1. Click **+ Add Event Alert**. 2. For the **Event**, select **Rank crashed** from the drop-down menu. 3. Select the desired **Ring** and **Cluster**. Leave **Node** as the default value. 4. Click **OK**. If a recipient has already been created, click **Recipient** next to the new event alert, then select the desired recipient for the alert. ../kagent/images/example_event_alert.png # Managing Kinetica Services Source: https://docs.kinetica.com/content/admin/services Typical maintenance of the system may require starting & stopping of Kinetica services. * [Managing Database Services](/content/admin/services#manage-db) * [Managing System Processes](/content/admin/services#manage-sys) * [Managing All Services](/content/admin/services#manage-all) A variety of [service status checks](/content/admin/services#status-check) are available for assessing the health of the system and troubleshooting.
## Managing Database Services * [Start Database Services](/content/admin/services#start-db) * [Stop Database Services](/content/admin/services#stop-db) ### Start Database Services The following database services can be started via *GAdmin* or command-line: * Database * *httpd* * *Query Service* * *Text Search* * *Reveal* * *Graph Service* All services can be started via *KAgent*. Consult [Admin](/content/admin/kagent/manage#kagent-ui-admin) for details. #### Database Services Startup There are two methods of starting database services: * [GUI Startup](#gui-startup) * [Command-Line Startup](#command-line-startup)

GUI Startup

If *GAdmin* is not running, [start system management processes](/content/admin/services#start-sys) first. 1. Log in to [GAdmin](/content/admin/gadmin) 2. Click **Admin** on the left menu 3. Click **Start** 4. On the **Start Service?** pop-up, click **Start** 5. Click **Continue** when the database has started

Command-Line Startup

This method will automatically start system management processes, if they are not already running. Run the following as the root user: ``` systemctl start gpudb ``` Verify that Kinetica is running by browsing to `http://:8080/gadmin`
### Stop Database Services The following database services can be stopped via *GAdmin* or command-line: * *Reveal* * *Graph Service* * Database * *httpd* * *Query Service* * *Text Search* All services can be stopped via *KAgent*. Consult [Admin](/content/admin/kagent/manage#kagent-ui-admin) for details. #### GUI Stop 1. Log in to [GAdmin](/content/admin/gadmin) 2. Click **Admin** on the left menu 3. Click **Stop** 4. On the **Stop Service?** pop-up, click **Stop** 5. Click **Continue** when the database has stopped #### Command-Line Stop Run the following as the root user: ``` systemctl stop gpudb ``` ## Managing System Processes * [Start System Management Processes](/content/admin/services#start-sys) * [Stop System Management Processes](/content/admin/services#stop-sys) ### Start System Management Processes If the cluster was installed via *KAgent*, the statistics/metrics process and optional high-availability queues need to be started first. Run the following as the root user. 1. Start the statistics/metrics manager on the *KAgent* node (usually head node): ``` systemctl start kinetica_stats ``` 2. If this is a cluster in a High-Availability ring, start *RabbitMQ* on every node running it: ``` systemctl start gpudb-mq ``` 3. Start all system management processes (*Host Manager*, *GAdmin*) on every node: ``` systemctl start gpudb_host_manager ``` ### Stop System Management Processes If the cluster was installed via *KAgent*, the statistics/metrics process and optional high-availability queues need to be stopped last. Run the following as the root user. 1. Stop all system management processes (*Host Manager*, *GAdmin*) on every node: ``` systemctl stop gpudb_host_manager ``` This will, in turn, [stop database services](/content/admin/services#stop-db), as well 2. If this is a cluster in a High-Availability ring, stop *RabbitMQ* on every node running it: ``` systemctl stop gpudb-mq ``` 3. Stop the statistics/metrics manager on the *KAgent* node (usually head node): ``` systemctl stop kinetica_stats ``` ## Managing All Services For [KAgent](/content/admin/kagent/kagent) installations, the following sections detail how to manage system processes via CLI. * [Start All Processes](/content/admin/services#start-all) * [Stop All Processes](/content/admin/services#stop-all) ### Start All Processes Run the following commands as the root user. Start the statistics/metrics manager on the *KAgent* node (usually head node): ``` systemctl start kinetica_stats ``` If this is a cluster in a High-Availability ring, start *RabbitMQ* on every node running it: ``` systemctl start gpudb-mq ``` Start the *Host Manager* on every node: ``` systemctl start gpudb_host_manager ``` Start the database services on the head node: ``` systemctl start gpudb ``` ### Stop All Processes Run the following commands as the root user. Stop the database services on the head node: ``` systemctl stop gpudb ``` Stop the *Host Manager* on every node: ``` systemctl stop gpudb_host_manager ``` If this is a cluster in a High-Availability ring, stop *RabbitMQ* on every node running it: ``` systemctl stop gpudb-mq ``` Stop the statistics/metrics manager on the *KAgent* node (usually head node): ``` systemctl stop kinetica_stats ``` ## Managing Individual Components The `/opt/gpudb/core/bin/gpudb` script has several directives available to assist in managing the individual *Kinetica* components. The `/opt/gpudb/core/bin/gpudb` script should always be run as the `gpudb` user ### Directives | Directive | Description | | ----------------------- | ------------------------------------------------------------------------------------------------ | | `-start` | Starts the given component if it's not currently running | | `-stop` | Stop the given component if it's not stopped | | `-restart` | Stop the given component if it's not stopped then start it | | `-status` | Prints status information, including the process IDs it is using | | `-pids` | Prints the process IDs the component is using | | `-enabled` | Returns `1` is the component is enabled and `0` otherwise. Used internally by the `gpudb` script | | `-installed` | Returns `1` is the component is enabled and `0` otherwise. Used internally by the `gpudb` script | ### Components | Component | Description | | --------------- | ------------------------------------------------------------------------ | | `host-manager` | [Host Management Services](/content/admin/host_manager) | | `gpudb` | Database Service | | `graph` | [Graph Service](/content/graph_solver/network_graph_solver) | | `httpd` | Web Server | | `query-planner` | SQL Service | | `reveal` | [Reveal Analytic Desktop](/content/bi/reveal) | | `stats` | Statistics Services, available via [GAdmin](/content/admin/gadmin/stats) | | `text-search` | [Full Text Search](/content/concepts/full_text_search) Services | | `tomcat` | [GAdmin](/content/admin/gadmin) Web Application | ### Examples To restart the stats server: ``` /opt/gpudb/core/bin/gpudb stats-restart ``` * If `external_text_search = true` in the `/opt/gpudb/core/etc/gpudb.conf` file, then the text search server can be managed using the directives above. If `external_text_search = false`, then the text search server will not be able to be managed individually. * The *Host Manager* service manages the *HTTPD* and *ODBC* components. It's possible to stop these components, but *Host Manager* will restart them immediately. Stopping *Host Manager* and attempting to start these components individually will not work. ## System Status Checks There are several means to check the status of system components: * [Processes](#processes) * [GAdmin](#gadmin) * [API](#api) ### Processes To check the status of the database processes: * *Host Manager* * *GAdmin* * Stats Services * Database * *httpd* * *Query Service* * *Text Search* * *Reveal* * *Graph Service* Run the following as the root or gpudb user: ``` service gpudb status ``` ### GAdmin The [Kinetica Administration Application (GAdmin)](/content/admin/gadmin) provides a GUI for monitoring various aspects of the system: * [Cluster Health ](/content/admin/gadmin/cluster) * [Running Jobs ](/content/admin/job_manager) * [Information & Diagnostics](/content/admin/gadmin/info) ### API To determine whether the *REST* endpoint services are operating, the *Python* API can be invoked, as follows: ``` $ /opt/gpudb/bin/gpudb_python /opt/gpudb/kitools/gadmin_sim.py -u -p --table --summary +-----------------+--------------------------------+----------------------+----------------------+-------+ | Schema | Table/View | Records | Type ID | TTL | +=================+================================+======================+======================+=======+ | SYSTEM | | 1 | | | | SYSTEM | ITER | 1 | UNSET_TYPE_ID | -1 | +-----------------+--------------------------------+----------------------+----------------------+-------+ +---------------------------+----------------------+ | Object Type | Count | +===========================+======================+ | Schemas | 1 | | Tables & Views | 1 | | Records | 1 | | Records + Track Elements | 1 | +---------------------------+----------------------+ ``` ## Statuses The tables below list the various statuses you could experience in GAdmin or in logs for the system itself, the nodes and ranks employed by the system, or all three. It's likely you won't see many of the node and rank statuses in GAdmin as they are transient and only last for a few seconds during start up or shut down. ### System | Status | Description | | ---------------- | ------------------------------------------------------------------------------------ | | `init` | The `INIT` signal has been received and the system is initializing | | `rebalancing` | The system is rebalancing data due to the addition/subtraction of ranks | | `running` | The system is up and available for requests | | `shutdown` | The system has shut down and is not available | | `starting` | The system is in the process of starting up | | `stopped` | The system has stopped all requests and is preparing for shutdown | | `system_limited` | Something is interfering with the systems's ability to communicate between all ranks | ### Node | Status | Description | | ---------------------- | ------------------------------------------------------------------------------------ | | `enum_hardware` | The node is processing the hardware being used and checking the license | | `establishing_cluster` | The node is ensuring its connection to the system and the other hosts in the cluster | | `fatal_init_error` | An error occurred while validating the `gpudb.conf` configuration file | | `init` | The `INIT` signal has been received and the node is initializing | | `parsed_conf` | The node has parsed configuration files for any changes | | `post` | The node has started and informed the system | | `ready` | The node has successfully shutdown and is ready to be started | | `running` | The node is up and available for requests | | `shutdown` | The node has shut down and is not available | | `shutting_down` | The node is in the process of shutting down and will not take requests | | `started` | The node has been started and is nearly ready for requests | | `starting` | The node is in the process of starting up | | `stopping` | The node is stopping all requests and preparing for shutdown | | `validating_cluster` | The node and any other nodes in the cluster are being validated by the system | ### Rank | Status | Description | | ------------------ | --------------------------------------------------------------------------------------------- | | `enum_hardware` | The rank is processing the hardware being used and checking the license | | `fatal_init_error` | An error occurred while validating the `gpudb.conf` configuration file | | `init` | The `INIT` signal has been received and the rank is initializing | | `initialized` | The rank has been primed for start-up | | `loaded_data` | The rank has successfully loaded data from the persist directory(ies) | | `loading_data` | The rank is in the process of loading data from the persist directory(ies) | | `not_responding` | The rank is currently not responding to requests | | `parsed_conf` | The rank has parsed configuration files for any changes | | `post` | The rank has started and informed the system | | `running` | The rank is up and available for requests | | `shutdown` | The rank has shut down and is not available | | `shutting_down` | The rank is in the process of shutting down and will not take requests | | `start` | The rank has received a start signal | | `started` | The rank has been started and is nearly ready for requests | | `starting` | The rank is in the process of starting up | | `syncing` | The rank is in the process of syncing types, tables, records, etc. | | `terminated` | The rank has encountered an error and was terminated; the rank will often restart if possible | # Database Backup Source: https://docs.kinetica.com/content/admin/shared/database_backup ## Database Backup [SQL commands](/content/sql/backup_restore) can be used to initiate hot *backups*, with *full*, *incremental*, & *differential snapshots*, and restorations of schema objects & data within the database. | Objects Backed Up | Objects Not Backed Up | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | \* [Credentials](/content/sql/ddl/create-credential#sql-create-credential)
\* [Data Sinks](/content/sql/ddl/create-data-sink#sql-create-data-sink)
\* [Data Sources](/content/sql/ddl/create-data-source#sql-create-data-source)
\* [Resource Groups](/content/sql/resource_group)
\* [Roles](/content/sql/security#sql-security-role-mgmt)
\* [SQL Procedures](/content/sql/procedure#sql-procedures)
\* [SQL-GPT Contexts](/content/sql/sqlgpt#sql-gpt-create-context)
\* [Streams](/content/sql/ddl/create-stream#sql-create-stream)
\* [Tables](/content/sql/ddl/create-table#sql-create-table)
\* [UDFs](/content/sql/udf)
\* [UDF Environments](/content/sql/udf#sql-create-function-environment)
\* [Users](/content/sql/security#sql-security-user-mgmt)
\* [Views](/content/sql/ddl/create-view#sql-create-view) | \* [Graphs](/content/sql/graph)
\* [KiFS Files](/content/sql/kifs)
\* [ML Models/Containers](/content/sql/ml)
\* [Symbols](/content/api/rest/insert_symbol_rest) | * For the set of SQL commands for database *backup*, see [Database Backup/Restore](/content/sql/backup_restore). * For a full system backup, see [System Backup](/content/admin/backup_restore#system-backup). ### Snapshot Types Three types of *snapshots* are supported for database objects & data: * **full** - *snapshot* of the given database objects & data * **incremental** - *snapshot* of the changes in the database objects & data since the last *snapshot* of any kind * **differential** - *snapshot* of the changes in the database objects & data since the last *full snapshot* ### Backup Storage Database *backup* files will be transferred to the target specified in the given [data sink](/content/sql/ddl/create-data-sink#sql-create-data-sink). There, they will be stored under two levels of directories: the top-level directory will be the name of the database *backup* and the subdirectory will be the timestamp the *snapshot* was taken; e.g.: ``` //ki_backup_info.json //.mdb ///.mdb ///rank-/tom-/* ``` A new *backup* will result in the creation of a directory with the corresponding *backup* name, as well as a *snapshot* timestamp directory with the *full snapshot* files. An *incremental* or *differential snapshot* for a given *backup* will result in the creation of another *snapshot* timestamp directory, under the *backup* directory, containing all the files for that *snapshot*. A [data source](/content/sql/ddl/create-data-source#sql-create-data-source) is required to retrieve detail about *backups* and restore database objects & data from them. The *data source* must point to the same remote store as the *data sink* through which a *backup* was created in order to access and restore from it. ### Backup Use Case A typical usage of the backup feature is: * create a *backup*, taking an initial *full snapshot* * schedule iterative *incremental* or *differential snapshots* * restore a *backup* #### Initial Backup To create the initial *backup*, run a [CREATE BACKUP](/content/sql/backup_restore#sql-backup-create) statement, in SQL, that specifies: * the name to use for the *backup*--the backed-up database object set * the [data sink](/content/sql/ddl/create-data-sink#sql-create-data-sink) that will be used to transfer the backed-up files to the remote store (e.g., s3) * the set of database objects to back up For example, to create an initial *backup* with the following parameters: * `daily_backup` - name of the *backup* * `backup_ds` - *data sink* targeting the remote file service * `example_backup` - name of the [schema](/content/sql/ddl/create-schema#sql-create-schema) to back up ```sql Create Initial Backup Example theme={null} CREATE BACKUP daily_backup DATA SINK = backup_ds OBJECTS (ALL = example_backup) ``` #### Schedule Iterative Snapshots To schedule iterative *snapshots* after the initial *backup* is done, create a [SQL procedure](/content/sql/procedure) that specifies: * the name of the backed-up database object set (same as the initial *backup*) * the [data sink](/content/sql/ddl/create-data-sink#sql-create-data-sink) that will be used to transfer the *snapshots* to the remote store (same as the initial *backup*) * the schedule for running the incremental *snapshots* For example, to schedule incremental *snapshots* with the following parameters: * `daily_backup` - name of the *backup* to which *snapshots* will be added * `backup_ds` - *data sink* targeting the remote file service * `1 DAY` - daily *snapshot* interval * `STARTING AT...2025-01-01` - starting at a date in the past causes the first *snapshot* to be taken at the next possible time interval * `STARTING AT...00:00:00` - schedule the *snapshot* to be taken at midnight ```sql Schedule Iterative Snapshots Example theme={null} CREATE PROCEDURE scheduled_backup BEGIN BACKUP daily_backup DATA SINK = backup_ds END EXECUTE FOR EVERY 1 DAY STARTING AT '2025-01-01 00:00:00'; ``` #### Restore Backup To restore database objects and table data from the latest *snapshot* in a *backup*, using the following parameters: * `daily_backup` - name of the *backup* to restore * `restore_ds` - *data source* targeting the remote file service * `example_backup` - name of the [schema](/content/sql/ddl/create-schema#sql-create-schema) to restore * `replace` - any exising database object will be overwritten by its counterpart from the *backup* ```sql Restore Backup Example theme={null} RESTORE BACKUP daily_backup DATA SOURCE = restore_ds OBJECTS (ALL = example_backup) WITH OPTIONS (RESTORE_POLICY = 'replace') ``` # Upgrade Source: https://docs.kinetica.com/content/admin/upgrade Upgrading to *Kinetica* **7.2** is facilitated through the use of [KAgent](/content/admin/kagent/kagent). *KAgent* **7.2** provides the ability to upgrade existing *Kinetica* clusters managed by *KAgent* **7.1** or clusters that are not managed at all. Upgrading requires the system be *Kinetica* **7.1** or newer. If running a *Kinetica* version prior to that, refer to the [Kinetica 7.1 Upgrade instructions](https://legacydocs.kinetica.com/7.1/admin/upgrade/) for details on upgrading to **7.1** first, and then refer back to this guide to complete the upgrade to version **7.2**. ## Migration Guide See [Migrating To Kinetica 7.2](/content/install/migration_guide) for considerations that should be made before deciding to upgrade. ## Pre-Upgrade Actions Before upgrading to *Kinetica* **7.2** perform the following checks & tasks to ensure the system is ready to be upgraded. ### Checks * Ensure that the system being upgraded is *Kinetica* **7.1**. * Ensure that 8GB of disk space is available on the directory mount used for installation on each node. * If performing an offline upgrade, ensure that all installation packages are available to the machine initiating the upgrade (the one that will log into *KAgent* and kick off the installation).
### Tasks * [Back up](/content/admin/backup_restore#backrest-backup) data & configuration files. * If [AAW](https://legacydocs.kinetica.com/7.1/aaw/overview/) is being used, terminate all [ingests](https://legacydocs.kinetica.com/7.1/aaw/data/) and [deployed models](https://legacydocs.kinetica.com/7.1/aaw/deployments/). ## Upgrade Actions If upgrading an on-premise *Kinetica* ring or one hosted in the cloud, the ring can be upgraded in place. The upgrade path is dependent upon whether the *Kinetica 7.1* cluster is currently being managed by *KAgent*. * [Managed Cluster Upgrade](#managed-cluster-upgrade) * [Unmanaged Cluster Upgrade](#unmanaged-cluster-upgrade) ### Managed Cluster Upgrade If the cluster to upgrade is already managed by *KAgent* **7.1**, upgrade *KAgent* to version **7.2**, and then upgrade the cluster. 1. Upgrade KAgent. *KAgent* can be upgraded in place, whether it resides on a server inside or outside the cluster. After copying the *KAgent* package to the server hosting *KAgent*, upgrade the package using the standard procedures for a local package: 1. Stop the current *KAgent* process: ``` service kagent stop ``` 2. Upgrade the *KAgent* application based on host operating system: * On RHEL: ``` sudo yum upgrade ./kagent-..rpm ``` * On Debian/Ubuntu: ``` sudo apt upgrade ./kagent-..deb ``` This upgrades the package in the directory /opt/gpudb/kagent and starts the `kagent_ui` service. 2. Start *KAgent*. ../../install/img/kagent_start.png To access the [KAgent UI](/content/admin/kagent/kagent): 1. Ensure the *KAgent* service is started: ``` service kagent_ui status ``` 2. Browse to the *KAgent* application using IP or host name: ``` http://:8081/kagent ``` 3. If *KAgent* is associated with one or more *Kinetica* clusters, log in using the credentials for that cluster. If *KAgent* has not been associated with any clusters yet, the application will load without prompting. 3. Click **Upgrade Ring**. 4. For each ring to upgrade, click **Upgrade** on that ring, and follow these steps to upgrade the ring: 1. Confirm that all tasks under **Tasks** have been performed, then check the checkboxes and click **Start**. 2. If performing an offline upgrade, upload all the *Kinetica* **7.2** install packages. When done, or if performing an online upgrade, click **Next**. 3. Click **Upgrade** and then click **Yes** to begin the *Kinetica* **7.2** upgrade process. 4. Click **Close** when the upgrade is complete. ### Unmanaged Cluster Upgrade If the cluster to upgrade is **not** managed by *KAgent* **7.1**, install *KAgent* **7.2**, add the cluster, and upgrade it to **7.2**. 1. Install *KAgent*. *KAgent* can be deployed as a RHEL, Ubuntu, or SUSE installation package on any server inside or outside the cluster. Automatically download & install the latest *KAgent* version using these commands: ```bash RHEL 8 theme={null} KAGENT_REPO=https://repo.kinetica.com/yum/7.2/CentOS/8/x86_64 KAGENT_PKG=$(wget -q -O - ${KAGENT_REPO} | sed 's/<[^>]*>//g' | grep -o "kagent.*ga.*rpm " | sort -V | tail -1) wget ${KAGENT_REPO}/${KAGENT_PKG} sudo yum install ./${KAGENT_PKG} ``` ```bash Ubuntu 20 theme={null} KAGENT_REPO=https://repo.kinetica.com/debian/7.2/Ubuntu/focal/binary-amd64 KAGENT_PKG=$(wget -q -O - ${KAGENT_REPO} | sed 's/<[^>]*>//g' | grep -o "kagent.*ga.*deb " | sort -V | tail -1) wget ${KAGENT_REPO}/${KAGENT_PKG} sudo apt install ./${KAGENT_PKG} ``` ```bash Ubuntu 22 theme={null} KAGENT_REPO=https://repo.kinetica.com/debian/7.2/Ubuntu/jammy/binary-amd64 KAGENT_PKG=$(wget -q -O - ${KAGENT_REPO} | sed 's/<[^>]*>//g' | grep -o "kagent.*ga.*deb " | sort -V | tail -1) wget ${KAGENT_REPO}/${KAGENT_PKG} sudo apt install ./${KAGENT_PKG} ``` ```bash SUSE 15 theme={null} KAGENT_REPO=https://repo.kinetica.com/yum/7.2/SUSE/15.3/x86_64 KAGENT_PKG=$(wget -q -O - ${KAGENT_REPO} | sed 's/<[^>]*>//g' | grep -o "kagent.*ga.*rpm " | sort -V | tail -1) wget ${KAGENT_REPO}/${KAGENT_PKG} sudo zypper install ./${KAGENT_PKG} ``` Alternatively, visit the `KAGENT_REPO` link below to search for a specific version of *KAgent*, change `KAGENT_PKG` to that version on **line 2**, and then run the modified commands to download & install that version: ```bash RHEL 8 theme={null} KAGENT_REPO=https://repo.kinetica.com/yum/7.2/CentOS/8/x86_64 KAGENT_PKG=kagent-7.2.0.4.20240326024429.ga-0.x86_64.el8.rpm wget ${KAGENT_REPO}/${KAGENT_PKG} sudo yum install ./${KAGENT_PKG} ``` ```bash Ubuntu 20 theme={null} KAGENT_REPO=https://repo.kinetica.com/debian/7.2/Ubuntu/focal/binary-amd64 KAGENT_PKG=kagent_7.2.0.4.20240326024429.ga-0_amd64.ubuntu20.04.deb wget ${KAGENT_REPO}/${KAGENT_PKG} sudo apt install ./${KAGENT_PKG} ``` ```bash Ubuntu 22 theme={null} KAGENT_REPO=https://repo.kinetica.com/debian/7.2/Ubuntu/jammy/binary-amd64 KAGENT_PKG=kagent_7.2.0.4.20240326024429.ga-0_amd64.ubuntu22.04.deb wget ${KAGENT_REPO}/${KAGENT_PKG} sudo apt install ./${KAGENT_PKG} ``` ```bash SUSE 15 theme={null} KAGENT_REPO=https://repo.kinetica.com/yum/7.2/SUSE/15.3/x86_64 KAGENT_PKG=kagent-7.2.0.4.20240326024429.ga-0.x86_64.sles15.3.rpm wget ${KAGENT_REPO}/${KAGENT_PKG} sudo zypper install ./${KAGENT_PKG} ``` This installs the package to the directory /opt/gpudb/kagent and registers and starts the `kagent_ui` service. *KAgent* will open port `8081` on the local firewall (if enabled). 2. Start *KAgent*. ../../install/img/kagent_start.png To access the [KAgent UI](/content/admin/kagent/kagent): 1. Ensure the *KAgent* service is started: ``` service kagent_ui status ``` 2. Browse to the *KAgent* application using IP or host name: ``` http://:8081/kagent ``` 3. If *KAgent* is associated with one or more *Kinetica* clusters, log in using the credentials for that cluster. If *KAgent* has not been associated with any clusters yet, the application will load without prompting. 3. [Add the cluster to upgrade to KAgent](/content/admin/adding_cluster_kagent), choosing the *on-premise* deployment method, regardless of the way in which the cluster is actually provisioned. 4. For each additional cluster to upgrade: 1. Click **+ Cluster** 2. [Add the cluster to upgrade to KAgent](/content/admin/adding_cluster_kagent#admin-add-cluster), choosing the *on-premise* deployment method 5. Click **Rings** at the top of the page. 6. Click **Upgrade** on the ring to upgrade to *Kinetica* **7.2** 7. If performing an offline upgrade, upload all the *Kinetica* **7.2** install packages. When done, or if performing an online upgrade, click **Upgrade** and then click **Yes** to begin the *Kinetica* **7.2** upgrade process. ## Post-Upgrade Actions * If [AAW](https://legacydocs.kinetica.com/7.1/aaw/overview/) was being used in the *ring* that was upgraded: * recreate all [ingests](/content/ml/concepts#ml-data) that were previously active * redeploy all [models](/content/sql/ml#sql-ml-import-model) that were previously active * [Upgrade database clients](/content/admin/upgrade#upgrade-database-clients), if needed. ### Upgrading Database Clients Any native API clients or ODBC/JDBC drivers can be updated to take advantage of new features in *Kinetica* **7.2**. #### Native APIs The instructions for upgrading to the latest APIs can be found in their respective manuals: * [C++ Developer Guide](/content/guides/cpp_guide) * [Java Developer Guide](/content/guides/java_guide) * [JavaScript Developer Guide](/content/guides/js_guide) * [Node.js Developer Guide](/content/guides/nodejs_guide) * [Python Developer Guide](/content/guides/python_guide) #### JDBC See [JDBC](/content/connectors/sql_guide#jdbc) for the latest JDBC clients and related configuration. #### ODBC Be sure to remove older versions of the driver before installing new ones.

Remove Previous Windows ODBC Drivers

To remove the old drivers: 1. Launch **ODBC Data Source Administrator** *(64-bit or 32-bit, as needed)*. 2. Select any entry with a **Driver** name of `Kinetica ODBC Driver`. 3. Optionally, click the **Configure** button to open up the driver properties window and record any settings that could be reused with the new driver (username, SSL Certificate path, etc.). 4. Click the **Remove** button. 5. Click the **Yes** button to confirm the removal. 6. Repeat this process until all older drivers have been removed.

Install New ODBC/JDBC Drivers

See [ODBC](/content/connectors/sql_guide#odbc) for the latest ODBC clients and related configuration. # Kinetica Workbench Source: https://docs.kinetica.com/content/admin/workbench/index The *Kinetica Workbench* is the primary interface for interacting with the *Kinetica* database. Here, you will find: * The *Data Object Explorer*, which shows you all of the database objects in your database * *SQL Workbooks*, which organize and store your SQL code and visualizations * An *Import/Export Wizard*, which helps you import data into the system in a guided workflow images/wb.workbench.png ## Workbench Components * [Workbench UI](/content/admin/workbench/ui) * [Using Workbooks in Workbench](/content/admin/workbench/workbooks)
## Connecting to the Kinetica Workbench You can connect to the *Workbench* by opening up the hostname in a browser on its default port; for example: ``` http://localhost:8000 ``` # Explore Source: https://docs.kinetica.com/content/admin/workbench/ui/explore/index The *Explore* interface is situated in the right-hand pane of *Kinetica's* [Workbench](/content/admin/workbench) administration application. It can be used to import data into the database from a variety of sources. ../../images/wb.explore.png To access the *Explore* page, in *Workbench*, click the **Explore** menu item. This will open the list of your *workbooks* in the right-hand pane, as well as a button for creating a new *workbook*. Additionally, at the top, are several action buttons: | Action | Description | | ----------------------------- | -------------------------------------------------------------------------- | | **Refresh Examples** | Update the sample workbooks to their latest versions | | **Import** | Import a *workbook* from a JSON file | | **Export All** | Export all *workbooks* listed under **My Workbooks** to a single JSON file | | wb_icon_refresh | Update the list of displayed *workbook* panels | | **+ Create** | Create a new *workbook* | Clicking on any *workbook* panel will open that *workbook* in the right-hand pane. ## Workbooks When a *workbook* is selected, its first *worksheet* is displayed, along with a corresponding tab for each of its other *worksheets*. Click the tabs to switch between *worksheets*, and click the **+** to create a new *worksheet*. ../../images/wb.workbook.png There is also a set of *workbook*-level actions at the top: | Action | Description | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Share** | Toggle sharing of this *workbook* with all other users in the cluster | | wb_icon_copy | Make a duplicate of this *workbook*, appending *Copy* to the end of the *workbook's* name | | wb_icon_embed | Display two means of referencing this *workbook*:

\* **URL** - a URL that can be used to link directly to this *workbook*, opening it in *Workbench*
\* **HTML** - an HTML snippet that can be used to embed this *workbook* as an *iFrame* within another web page; note that this will require logging into *Workbench* in that frame to access the embedded *workbook* | | wb_icon_export | Export this *workbook* in either JSON format or as a series of SQL statements in a text file | | wb_icon_refresh | Refresh the displayed blocks of this *workbook* | | wb_icon_edit | Modify the name or description of this *workbook* | | wb_icon_delete | Delete this *workbook* | | wb_icon_close | Close this *workbook* and return to the *Explore* landing page | ## Worksheets The active *worksheet* displays the [SQL-GPT](#sql-gpt) interface at the top, followed by its contained blocks in the order they are defined within the *worksheet*. Block types include: * [SQL Blocks](#sql-blocks) * [Text Blocks](#text-blocks) * [Image Blocks](#image-blocks) * [HTML Blocks](#html-blocks) * [Map Blocks](#map-blocks) * [Graph Blocks](#graph-blocks) ../../images/wb.worksheet.png At the top of the *worksheet* are a set of applicable action buttons: | Action | Description | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | ws_icon_left | Move this *worksheet* closer to the front of the *workbook* | | ws_icon_right | Move this *worksheet* closer to the back of the *workbook* | | ws_icon_edit | Modify the name or description of this *worksheet* | | ws_icon_copy | Make a duplicate of this *worksheet* in either the current *workbook* or another *workbook*, appending *Copy* to the end of the *workbook's* name | | ws_icon_block | Add a new block of the selected type to the end of this *worksheet* | | ws_icon_report | Download a performance report of all queries run within the *worksheet* | | ws_icon_print | Display a printable version of the *worksheet* | | ws_icon_clear | Clear all query results in *SQL Blocks* on this *worksheet* | | ws_icon_run | Run all *SQL Blocks* on this *worksheet* in the sequence in which they appear on the *worksheet* | To the right of the blocks is a column of numbers corresponding to each of the numbered blocks. Click any one of the numbers to jump to that block.
### SQL-GPT Each *worksheet* within *Workbench* has an interface for interacting with SQL-GPT at the top. ../../images/wb.explore_ws_sqlgpt.png A natural-language question can be entered into the SQL-GPT text box in order to generate an equivalent SQL query that can be run to get an answer. The result will be added as a new *SQL Block* at the bottom of the *worksheet*. Available SQL-GPT actions include: | Action | Description | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | wsg_icon_gen | Generate a corresponding SQL query for the natural language question entered into the SQL-GPT text box, and add it to a *SQL Block* as the last block on the *worksheet* | | wsg_icon_config | Open the SQL-GPT configuration page | | wsg_icon_info | Learn more about how to configure & use SQL-GPT | #### SQL-GPT Configuration The *SQL-GPT Configuration* page allows one or more [SQL-GPT contexts](/content/sql-gpt/concepts#sql-gpt-overview-context) to be assigned to this *worksheet*. ../../images/wb.explore_ws_sqlgpt_config.png Click on a *SQL-GPT context* on the left and then click the right arrow to assign the *context* to the current *worksheet*. Click a *context* on the right and click the left arrow to unassign the *context* from the current *worksheet*. Available SQL-GPT configuration actions include: | Action | Description | | ----------------- | -------------------------------------------------------------------------------- | | **Clear History** | Delete the question history, which is shown when the SQL-GPT text box is clicked | | **Update** | Save the configuration | | **Cancel** | Don't update the configuration | ### SQL Blocks Each *SQL Block* allows one or more SQL statements to be added or modified within it. ../../images/wb.explore_wsb_sql.png The block-specific actions are as follows: | Action | Description | | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | wsb_icon_run | Run the SQL statement(s) in this *SQL Block*, and output the result set of the final query (if one exists) at the bottom of this block, in either data grid or chart form | | wsb_icon_job | View the job status for the query executing in this *SQL Block*; the status will be displayed at the bottom of the block | | wsb_icon_expand | Expand or collapse this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_eye | Hide or show this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_sqlgpt | Insert a SQL-GPT text box for generating SQL into this *SQL Block* | | wsb_icon_explain | Display the explain plan of the final query in this *SQL Block*, if one exists:

\* **Explain Plan** - display the basic execution plan
\* **Run and Analyze** - run the final query and display the execution plan with a statistical analysis | | wsb_icon_runall | Run all *SQL Blocks* from this one onwards, until the end of the *worksheet* | | wsb_icon_add | Add a new block of the selected type below this one | | wsb_icon_shrink | Collapse this block, showing only one line of it configuration; click again to expand the block | | wsb_icon_up | Move this block one block above its current position on this *worksheet* | | wsb_icon_down | Move this block one block below its current position on this *worksheet* | | wsb_icon_delete | Remove this block from this *worksheet* | If the *SQL Block* contains any queries, the result set of the final one can be displayed at the bottom of the *SQL Block* in either a grid view (on the **Data** tab) or as a chart (on the **Visualization** tab). #### Data Tab The **Data** tab displays a grid view of the result set of the final query in a *SQL Block*, when run. ../../images/wb.explore_wsb_sql_data.png **Data** tab actions include: * **Export CSV** - export the result set to a comma-separated values (CSV) file and download the file * **Clear** - remove the result set portion of the *SQL Block* #### Visualization Tab The **Visualization** tab allows the result set of the final query in a *SQL Block* to be displayed as a visualization, when run. ../../images/wb.explore_wsb_sql_vis.png Several visualization types are available: * Bar Chart * Line Chart * Pie Chart * Scatter Plot * Big Number * Graph * Map After selecting a visualization type, two actions are available: | Action | Description | | ------------ | --------------------------------------------------------------------------------------------------------------------------------------- | | **Save PNG** | For most visualizations, save the visualization to a PNG file | | **Config** | Configure the selected visualization with options that are specific to the type selected; click **Update** to display the visualization | | **X** | Delete the current visualization and select from the available types again |
### Text Blocks A *Text Block* can be used to document the surrounding blocks. ../../images/wb.explore_wsb_text.png Some formatting and other actions are available: | Action | Description | | ----------------------------- | ----------------------------------------------------------------------------------------------- | | wsb_icon_bold | Apply bold styling to the highlighted text | | wsb_icon_ital | Apply italics styling to the highlighted text | | wsb_icon_ul | Underline the highlighted text | | wsb_icon_eye | Hide or show this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_add | Add a new block of the selected type below this one | | wsb_icon_shrink | Collapse this block, showing only one line of it configuration; click again to expand the block | | wsb_icon_up | Move this block one block above its current position on this *worksheet* | | wsb_icon_down | Move this block one block below its current position on this *worksheet* | | wsb_icon_delete | Remove this block from this *worksheet* | ### Image Blocks An *Image Block* can be used to display a static or animated URL-accessible image. ../../images/wb.explore_wsb_image.png Available actions include: | Action | Description | | ----------------------------- | ----------------------------------------------------------------------------------------------- | | wsb_icon_cfg | Open the image configuration page | | wsb_icon_eye | Hide or show this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_add | Add a new block of the selected type below this one | | wsb_icon_shrink | Collapse this block, showing only one line of it configuration; click again to expand the block | | wsb_icon_up | Move this block one block above its current position on this *worksheet* | | wsb_icon_down | Move this block one block below its current position on this *worksheet* | | wsb_icon_delete | Remove this block from this *worksheet* | #### Image Configuration The *Image Configuration* page allows the associated image to be configured. The image needs to be specified with an accessible URL and alignment within the block. It can optionally be given a title and a scaling height & width. ### HTML Blocks An *HTML Block* can be used to display user-entered HTML. ../../images/wb.explore_wsb_html.png Available actions include: | Action | Description | | ----------------------------- | ----------------------------------------------------------------------------------------------- | | wsb_icon_cfg | Open the HTML configuration page | | wsb_icon_eye | Hide or show this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_add | Add a new block of the selected type below this one | | wsb_icon_shrink | Collapse this block, showing only one line of it configuration; click again to expand the block | | wsb_icon_up | Move this block one block above its current position on this *worksheet* | | wsb_icon_down | Move this block one block below its current position on this *worksheet* | | wsb_icon_delete | Remove this block from this *worksheet* | #### HTML Configuration The *HTML Configuration* page allows the HTML source and title to be modified. HTML tags that may pose security risks will remain in the user-entered source, but not be displayed in the *HTML Block*. HTML tags are not supported for the title. ### Map Blocks A *Map Block* is an empty zoomable & pannable world map, upon creation, that can be configured to display geospatial data from any table or view. ../../images/wb.explore_wsb_map.png Available actions include: | Action | Description | | ----------------------------- | ----------------------------------------------------------------------------------------------- | | wsb_icon_ref | Refresh the map, reloading any data from the source, if configured | | wsb_icon_dl | Download a copy of this map at its current zoom level and pan position | | wsb_icon_cfg | Configure a source table to plot on this map, as well as other map-related settings | | wsb_icon_eye | Hide or show this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_full | Pop up a near full-screen configurable view of this map | | wsb_icon_add | Add a new block of the selected type below this one | | wsb_icon_shrink | Collapse this block, showing only one line of it configuration; click again to expand the block | | wsb_icon_up | Move this block one block above its current position on this *worksheet* | | wsb_icon_down | Move this block one block below its current position on this *worksheet* | | wsb_icon_delete | Remove this block from this *worksheet* | #### Rendering Modes *Kinetica* supports two different geospatial rendering modes: * [Heatmap](/content/api/rest/wms_rest#wms-heatmap): A gradient of color that represents the density of features/shapes * [Raster](/content/api/rest/wms_rest#wms-raster): Discrete colorization of each feature/shape * [Class Break](/content/api/rest/wms_rest#wms-cbraster): A class (range) based colorization of each feature/shape * [Track](/content/api/rest/wms_rest#wms-raster): A rasterization of features/shapes containing track information * [Contour](/content/api/rest/wms_rest#wms-contour): A 3-dimensional planar graph, where each plane is bounded by isolines and contains data with the same *z* value There are several categories of options to configure for each map: * *Table Options* - Source table & columns, along with the rendering mode * *Map-Specific Options* - Options that are specific to each map type * *Viewport Options* - Latitude, longitude, & altitude upon which the map is centered * *Advanced Options* - WMS key/value pairs that can be set to override or extend the map configuration. See [Web Map Service](/content/api/rest/wms_rest) for details. Here is an example of some of the map configuration options that you have to style the output of geospatial data on a map, followed by a sample map. ../../images/wb.workbook_vis_map_config.png ../../images/wb.workbook_vis_map.png ### Graph Blocks A *Graph Block* is a visual [graph](/content/graph_solver/network_graph_solver) of a given graph-oriented data set. ../../images/wb.explore_wsb_graph.png Available actions include: | Action | Description | | ----------------------------- | ----------------------------------------------------------------------------------------------- | | wsb_icon_ref | Refresh the graph, reloading any data from the source | | wsb_icon_cfg | Open the graph configuration page | | wsb_icon_eye | Hide or show this block when the enclosing *workbook* is embedded in another web page | | wsb_icon_add | Add a new block of the selected type below this one | | wsb_icon_shrink | Collapse this block, showing only one line of it configuration; click again to expand the block | | wsb_icon_up | Move this block one block above its current position on this *worksheet* | | wsb_icon_down | Move this block one block below its current position on this *worksheet* | | wsb_icon_delete | Remove this block from this *worksheet* | #### Graph Configuration The *Graph Configuration* page allows the graph source data set to be specified and modified. ../../images/wb.explore_wsb_graph_config.png The most straightforward way to configure a graph is to create a graph via SQL, and then configure the graph to use the output table of the graph creation. For an example of configuring a *Graph Block*, see [Graph Blocks](/content/admin/workbench/workbooks#wb-graph-block). # Data Explorer Source: https://docs.kinetica.com/content/admin/workbench/ui/explorer/data The *Data Explorer* can be used to manage most object types. ../../../images/wb.explorer_data.png To access the *Data Explorer*, in [Workbench](/content/admin/workbench), click the **Data** tab of the left-hand navigation pane. ## General Features At the top of the *Data Explorer* tab are actions not tied to a specific object type: * Search box - filters displayed objects across all three domains, by keyword * Refresh icon - refreshes the list of displayed objects * **+** icon - adds a new data object ## Tables & Views This section of the *Data Explorer* shows the list of accessible [schemas](/content/sql/ddl/create-schema#sql-create-schema) at the top level, and beneath each, the set of accessible [tables](/content/sql/ddl/create-table#sql-create-table) and [views](/content/sql/ddl/create-view#sql-create-view). Clicking the **+** next to this section's header will open the context menu, allowing any of the following objects to be created, via wizard: * [Schema](/content/sql/ddl/create-schema#sql-create-schema) * [Table](/content/sql/ddl/create-table#sql-create-table) * [External Table](/content/sql/ddl/create-external-table#sql-create-ext-table) ### Schema Services Clicking on a schema will open a context menu with the following options: * **Add New Table** - create a table under this schema * **Rename** - rename this schema * **Delete** - delete this schema and all tables & views within ### Table/View Services Clicking on a table or view will open up a menu with these options: * **Info** - display general information about this object and its composition * **Data Preview** - display a grid-style view of this object's data * **WMS Preview** - display a map-style view of this object, if it contains geospatial data * Click **Config** to modify the settings of the map * Click **Update** to view the map * Click **Save PNG** to save a local copy of the rendered map * Click the refresh icon to update the data on the map * **Configure** - [modify](/content/admin/workbench/ui/explorer/data#wb-explorer-data-tv-config) the structure of and access to this object * **Add Record** - add a single record to this table * **Export File** - exports the table to [KiFS](/content/admin/workbench/ui/explorer/files) * **SQL DDL** - display the SQL `CREATE` statement used to construct this object * **Statistics** - generate a per-column statistical analysis of this object * **Refresh** - refresh the data in a [materialized view](/content/sql/ddl/create-materialized-view#sql-create-materialized-view) or [external table](/content/sql/ddl/create-external-table#sql-create-ext-table) * **Rename** - rename this object * **Move** - move this object to a different schema * **Delete** - delete this object permanently * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode #### Configuring a Table/View A table can be configured upon creation and subsequently modified, from the [Data Explorer](/content/admin/workbench/ui/explorer/data) in [Workbench](/content/admin/workbench), including setting [column-level security](/content/security/sec_concepts#sec-concepts-perm-table-col) on the table. Both creating and modifying a table go through the same two steps. In the first step the following can be modified: * **Schema** - name of the schema to put this table in (only available for new tables) * **Name** - new name for the table (must meet [table naming criteria](/content/concepts/tables#table-naming-criteria)) * Via the **Advanced** button, the following can be viewed: * **Chunk Size** - the designated number of records per block of allocated memory for this table * **Dimension Table** - whether or not this table is [replicated](/content/concepts/tables#replicated), as dimension tables in a star or snowflake schema will usually be * **Temporary Table** - whether or not this table will be removed upon cluster restart * **Time To Live** - the [TTL](/content/concepts/ttl) (expiration time, in minutes) for the table; leave blank for permanent table * **Foreign Keys** - one or more [foreign key](/content/concepts/tables#foreign-key) definitions, of the form: ```sql theme={null} () REFERENCES () [AS ] [,...] ``` * **Foreign Shard Key** - one or more *foreign shard key* definitions * **Partitioning** - optional [partition](/content/concepts/tables#partitioning) definition: * **Type** - type of *partitioning* scheme to use * **Keys** - column(s) and/or column expression(s) that will be used to determine the designated *partition* for each record * **Definitions** - type-specific definitions for the set of *partitions* or the *partition* creation scheme Clicking **Next** will bring up the second step, where the table structure and column security are defined. * **+ Add Column** - add a new column to the end of the table, where the following are specified: * **Name** - name of this column (must meet [column naming criteria](/content/concepts/tables#table-naming-criteria)) * **Type** - [data type](/content/concepts/types#types-chart) of this column * **Nullable** - whether this column can accept null values * **Primary Key** - optionally designate this column as a [primary key](/content/concepts/tables#primary-key) or a member of a *composite primary key* * **Shard Key** - optionally designate this column as a [shard key](/content/concepts/tables#shard-key) or a member of a *composite shard key* * **Dictionary Encode** - whether to apply [dictionary encoding](/content/concepts/dictionary_encoding) to this column [full-text searchable](/content/concepts/full_text_search) * **Init with Now** - whether this column's value should be initialized to the current date/time if blank when inserted * **Init with UUID** - whether this column's value should be initialized to a *universally unique identifier* (UUID) if blank when inserted * **Text Search** - whether this column should be * tv_icon_colsec - set [column-level security](/content/admin/workbench/ui/explorer/data#wb-explorer-data-tv-config-cls) on this column for users/roles * tv_icon_delete - remove this column from the table

Column-Level Security

When the *Column Permissions* tv_icon_colsec is clicked for a column on the table create/edit *Column Definitions* page, the **Column Permissions** pop-up will appear. Click the name of a user or role on the left pane to show the corresponding *column-level permissions* that user/role has on this table in the right pane, and configure them: * **Enabled** - toggle whether *column-level permissions* on this table's column are active for the selected user/role; this will grant the selected user access to this column's data * **Filter** - enter the filter expression that should be used to define the records in this column the selected user **can** access; effectively adding *row-level security* to this column * **Transform Type** - optionally, character-based column values can have one of two transform functions applied in order to conceal the true values from the user/role to whom the access is granted: * **Obfuscate** - conceal text values by converting them to "random" whole numbers, where all occurrences of a given text value will convert to the same number * **Mask** - conceal text values by replacing one or more sequential characters in the text value with a single "masking" character: * **Start Position** - the 1-based position of the first character to mask * **# of Masked Characters** - the number of characters after (and including) the first one to replace with the masking character * **Mask Character** - the character used to replace column value characters Click **OK** once all *column-level security* modifications have been made. See [Column-Level Security](/content/security/sec_concepts#sec-concepts-perm-table-col) for details.
## Data Sources This section of the *Data Explorer* shows the list of accessible [data sources](/content/sql/ddl/create-data-source#sql-create-data-source). Clicking the **+** next to this section's header will open the **Create Data Source** wizard. Provide a name, source provider/service, and the relevant connection information, and then click **Create** to create the data source. Clicking on a data source will open a context menu with the following options: * **Configure** - modify this data source's reference to its external source * **Import** - opens the [Import](/content/admin/workbench/ui/import) tool specific to this data source * **History** - displays the history of load commands issued through this data source * **Delete** - delete this data source, provided it is unused by any other objects * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode ## Data Sinks This section of the *Data Explorer* shows the list of accessible [data sinks](/content/sql/ddl/create-data-sink#sql-create-data-sink). Clicking the **+** next to this section's header will open the **Create Data Sink** wizard. Provide a name, target provider/service, and the relevant connection information, and then click **Create** to create the data sink. Clicking on a data sink will open a context menu with the following options: * **Configure** - modify this data sink's reference to its external target * **Stream** - opens the **Create Stream** wizard using this data sink as its target * **Delete** - delete this data sink, provided it is unused by any other objects * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode ## Streams This section of the *Data Explorer* shows the list of accessible [streams](/content/sql/ddl/create-stream#sql-create-stream). Clicking the **+** next to this section's header will open the **Create Stream** wizard. Provide a name, target data sink, source object and streaming configuration, and then click **Create** to create the stream. Clicking on a stream will open a context menu with the following options: * **Info** - view this stream's configuration * **Delete** - delete this stream * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode ## Graphs This section of the *Data Explorer* shows the list of accessible [graphs](/content/sql/graph#sql-graph-create). Clicking the **+** next to this section's header will open the **Create Graph** wizard. Select whether to create a graph manually from an existing table or to create a graph as an extract from the *OpenStreetMap (OSM)* dataset. * For a manual graph: * On the **Configure** page, provide a name, directedness, and graph structure options. Click the drop-down next to **Nodes**, **Edges**, **Weights**, and/or **Restrictions** to select the [identifier combination](/content/graph_solver/network_graph_solver#id-combos) to use for this component of the graph and click **+ Add** to use it. Then enter the source database columns (or constants) to use for each [identifier](/content/graph_solver/network_graph_solver#identifiers) listed. Click the trash can icon to remove the selected identifier combination. To proceed, click: * **Next** to continue to the **Options** page * **Change Mode** to return to the mode selection page * **Cancel** to not create the graph * On the **Options** page, specify any additional parameters that will define the graph. To proceed, click: * **Create Graph** to finish and create the graph * **Back** to return to the **Configure** page * **Change Mode** to return to the mode selection page * **Cancel** to not create the graph * For an OSM extract: * Provide a name for the graph and select a region on the map from which the graph will be created. Use the controls within the map widget to zoom and pan to the region of interest. Note that the default data set provided is the United States road network. To proceed, click: * **Create Graph** to finish and create the graph * **Change Mode** to return to the mode selection page * **Cancel** to not create the graph Clicking on a graph will open up a menu with these options: * **Info** - display general information about this graph and its composition * **Preview** - display a map-style view of this graph, if it contains geospatial data * **Delete** - delete this graph * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode ## Context This section of the *Data Explorer* shows the list of accessible [contexts](/content/sql/sqlgpt#sql-gpt-create-context). Clicking on a *context* will open a context menu with the following options: * **Info** - view this *context's* configuration * **Delete** - delete this *context* * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode ## Function Environments This section of the *Data Explorer* shows the list of accessible [Python UDF function environments](/content/udf/python/writing#udf-python-func-env). Clicking the **+** next to this section's header will open the **Create Function Environment** wizard, allowing an environment to be created containing user-specified Python packages & versions. Clicking on a *function environment* will open a context menu with the following options: * **Configure** - modify this *function environment* On the **Configure Function Environment** pop-up: * In the text input, enter one or more names & versions of packages to install and click **Install Package(s)** to install them * Click the delete icon to the right of any non-default package to uninstall * **Delete** - delete this *context* * **Multi-Select** - turn on multi-select mode, which allows multiple objects to be selected (by checking the boxes in front of them) and then deleted by clicking **Delete Selected**; click **Cancel** to turn off multi-select mode # File Explorer Source: https://docs.kinetica.com/content/admin/workbench/ui/explorer/files The *File Explorer* can be used to manage [directories](/content/tools/kifs_api#kifs-directory) & [files](/content/tools/kifs_api#kifs-file) in [Kinetica File System (KiFS)](/content/tools/kifs). ../../../images/wb.explorer_files.png To access the *File Explorer*, in [Workbench](/content/admin/workbench), click the **Files** tab of the left-hand navigation pane. ## General Features At the top of the *File Explorer* tab are several file/directory actions: * Search box - filter displayed files & directories, by name; directory matches will result in all files in that directory being displayed * Refresh icon - refresh the list of displayed files & directories * **+** icon - create a new directory or upload a file ## File List The *File Explorer* displays a list of top-level directories and the set of files contained within them. Each file is shown with its relative path to its containing directory and its total size on disk. Each directory shows the cumulative size of all files contained within it. Clicking on a directory will open a context menu with the following options: * **Upload New File** - upload a file into this directory * **Import** - open up the import wizard for this directory * **Delete** - delete this directory and any files contained within it Clicking on a file will open a context menu with the following options: * **Download** - download a local copy of this file * **Import** - open up the file import wizard for this file * **Delete** - delete this file from *KiFS* * **Multi-Select** - turn on multi-select mode and select this file, allowing for the deletion of multiple files at once # Workbench Explorer Source: https://docs.kinetica.com/content/admin/workbench/ui/explorer/index The *Workbench Explorer* is situated in the left-hand pane of *Kinetica's* [Workbench](/content/admin/workbench) administration application. It provides the following object-centric explorer views: * [Data Explorer](/content/admin/workbench/ui/explorer/data) * [Workbook Explorer](/content/admin/workbench/ui/explorer/workbooks) * [File Explorer](/content/admin/workbench/ui/explorer/files) ../../images/wb.explorer_data.png The *Workbench Explorer* is always available in the left-hand pane, though it can be collapsed by clicking the left-facing arrow at the top of the pane. # Workbook Explorer Source: https://docs.kinetica.com/content/admin/workbench/ui/explorer/workbooks The *Workbook Explorer* can be used to manage *Workbooks*. ../../../images/wb.explorer_workbooks.png To access the *Workbook Explorer*, in [Workbench](/content/admin/workbench), click the **Workbooks** tab of the left-hand navigation pane. ## General Features At the top of the *Workbook Explorer* tab are several workbook actions: * Search box - filters displayed workbooks, by name * Refresh icon - refreshes the list of displayed workbooks * **+** icon - adds a new workbook ## Workbook Lists The *Workbook Explorer* has two lists of workbooks: * **My Workbooks** - workbooks created by the current user * **Examples** - workbooks that are provided with *Workbench* for exploring the various features of *Kinetica* * **Shared With Me** - workbooks shared with the current user Clicking on the name of any workbook will open it in the right-hand pane. If a workbook is open in the right-hand pane, is will be marked **Open** in the *Workbook Explorer*. # Home Source: https://docs.kinetica.com/content/admin/workbench/ui/home *Home* serves as the landing page for [Workbench](/content/admin/workbench). ../../images/wb.home.png This landing page can be reached at any time by clicking on the **Home** menu item at the top. This will open several options in the right-hand pane, including: * **Getting Started** - links to various tutorials native API reference, and native API downloads * **Import** - links to the import & external table wizards, as well as to the various data source specific import wizards * **Connect** - sample code blocks for connecting to *Kinetica* with the various native API languages and JDBC * **Resources** - links to video tutorials # Azure Blob Storage Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/azure Using the *Azure Blob Storage Import* wizard, files located in *Azure Blob Storage* can be imported into *Kinetica*. To import a file from *Azure Blob Storage* into *Kinetica*, click on the **Azure Blob Storage** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **Azure Blob Storage Import** wizard appears in the right-hand pane. ../../../images/wb.import_azure.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from *Azure Blob Storage* * **History** - lists all of your previous *Azure Blob Storage* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to *Azure Blob Storage* is selected. * **Create New Data Source** - click to create a new *data source* that connects to *Azure Blob Storage*, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **Container Name** - enter the name of the *Azure Blob Storage* container to use * **Auth Type** - select an authorization scheme; this will prompt with the appropriate fields for the scheme selected * **Select Existing Data Source** - click to select an existing *data source* that connects to *Azure Blob Storage* and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to *Azure Blob Storage* and select one ## Source In this step, the source file is selected and the parser configured for the file, if necessary. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **File Path** - enter the path to the file located within *Azure Blob Storage*; click **Browse Files** to pop up the remote file browsing interface and make a selection from the available files, and click the `X` in the top corner when done selecting files * **Format** - select the format of the file from the drop-down If the source data is in a delimited text file, options for parsing the file can be specified (see [Delimited Text Options](/content/sql/load#sql-load-file-server-delim-opt) for details): * **Delimiter** - select the character that delimits field values in the source file: * `|` - default delimiter for .psv (pipe-separated value) files * `\t` - (tab) default delimiter for .tsv (tab-separated value) files * `,` - default delimiter for .csv (comma-separated value) files and all other types of text files * **Escape Character** - select the character used to escape special characters (like the field delimiter) found within field values; e.g., a `\` might be used to escape commas within field values in a .csv file * **Comment Identifier** - select the character(s) with which comment lines within the source file begin * **Quote Character** - select the character used to quote field values; e.g., a `"` might be used to quote field values containing commas in a .csv file * **Null Identifier** - select the character(s) used to identify *null* field values * **Has Header** - check the box if the source file contains a header row at the top Once the source file and parameters have been selected, click **Next** to proceed to the **Destination** selection page. ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the file's data. # HDFS Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/hdfs Using the *HDFS Import* wizard, files located in *HDFS* can be imported into *Kinetica*. To import a file from *HDFS* into *Kinetica*, click on the **HDFS** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **HDFS Import** wizard appears in the right-hand pane. ../../../images/wb.import_hdfs.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from *HDFS* * **History** - lists all of your previous *HDFS* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to *HDFS* is selected. * **Create New Data Source** - click to create a new *data source* that connects to *HDFS*, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **URL** - enter the host & port of the *HDFS* service to use * **Auth Type** - select an authorization scheme; this will prompt with the appropriate fields for the scheme selected * **Select Existing Data Source** - click to select an existing *data source* that connects to *HDFS* and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to *HDFS* and select one ## Source In this step, the source file is selected and the parser configured for the file, if necessary. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **File Path** - enter the path to the file located within *HDFS* * **Format** - select the format of the file from the drop-down If the source data is in a delimited text file, options for parsing the file can be specified (see [Delimited Text Options](/content/sql/load#sql-load-file-server-delim-opt) for details): * **Delimiter** - select the character that delimits field values in the source file: * `|` - default delimiter for .psv (pipe-separated value) files * `\t` - (tab) default delimiter for .tsv (tab-separated value) files * `,` - default delimiter for .csv (comma-separated value) files and all other types of text files * **Escape Character** - select the character used to escape special characters (like the field delimiter) found within field values; e.g., a `\` might be used to escape commas within field values in a .csv file * **Comment Identifier** - select the character(s) with which comment lines within the source file begin * **Quote Character** - select the character used to quote field values; e.g., a `"` might be used to quote field values containing commas in a .csv file * **Null Identifier** - select the character(s) used to identify *null* field values * **Has Header** - check the box if the source file contains a header row at the top Once the source file and parameters have been selected, click **Next** to proceed to the **Destination** selection page. ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the file's data. # Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/index The *Import* interface is situated in the right-hand pane of *Kinetica's* [Workbench](/content/admin/workbench) administration application. It can be used to import data into the database from a variety of sources. ../../images/wb.import.png To access the *Import* page, in *Workbench*, click the **Import** menu item. There are several mechanisms for importing data into *Kinetica*: * [File Upload Import](/content/admin/workbench/ui/import/upload) * [Kinetica FileSystem Import](/content/admin/workbench/ui/import/kifs) * [Azure Blob Storage Import](/content/admin/workbench/ui/import/azure) * [Amazon S3 Import](/content/admin/workbench/ui/import/s3) * [Kafka Stream Import](/content/admin/workbench/ui/import/kafka) * [HDFS Import](/content/admin/workbench/ui/import/hdfs) * [JDBC Import](/content/admin/workbench/ui/import/jdbc) * [Kinetica Import](/content/admin/workbench/ui/import/kinetica) * [JDBC Data Source Import](/content/admin/workbench/ui/import/jdbc_prov) Clicking on **History** in the top right corner of the *Import* page will open a dialog box displaying all of your previous imports. # JDBC Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/jdbc Using the *JDBC Import* wizard, tables located in another database can be imported into *Kinetica* via *JDBC*. To import a table from a remote database into *Kinetica*, click on the **Generic JDBC** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **JDBC Import** wizard appears in the right-hand pane. ../../../images/wb.import_jdbc.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from remote databases using *JDBC* * **History** - lists all of your previous *JDBC* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to the remote database is selected. * **Create New Data Source** - click to create a new *data source* that connects to the remote database, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **URL** - enter the JDBC connection string to connect to the remote database * **Username** - username for logging into the remote database * **Password** - password for logging into the remote database * **Driver Class** - name of the JDBC driver class to use in the specified JDBC driver JAR * **JAR Path Type** - select a JAR path specification type to use when specifying the **Driver JAR Path** * **Driver JAR Path** - specify the file path to the JDBC driver JAR file, based on the selected **JAR Path Type**: * **Manual** - specify a directory path manually * **KiFS** - click the control to open the *KiFS* file selector, which shows a list of the *KiFS* directories, and as each is clicked, the files contained within that directory; click the JAR containing the JDBC driver to use for the connection * **Select Existing Data Source** - click to select an existing *data source* that connects to the remote database and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to the remote database and select one ## Source In this step, the source table is selected or the source query entered. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **Remote Table** - enter the name of the table located within the remote database; click **Browse Tables** to pop up the remote table browsing interface and make a selection from the available tables, and click **Select** next to the table to import * **Remote Query** - enter a query to run on the remote database; click **Verify Remote Query** to ensure the query is able to be executed on the remote database * **Subscription Options** - check the **Enable** box to activate a subscription to the remote data * **Poll Interval** - the time (in seconds) between successive requests to the remote cluster for more data * **Increasing Column** - remote table/query column to use to determine whether a remote record is new and should be imported; only records with a higher value than the highest value from the last poll will be imported ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the table's data. # JDBC Data Source Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/jdbc_prov Using the *JDBC Data Source Import* wizard, tables located in another database can be imported into *Kinetica* via *JDBC*. To import a table from a remote database into *Kinetica*, click on any of the data source panels listed under **JDBC Data Sources** on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **JDBC Data Source Import** wizard appears in the right-hand pane, noting the specific source selected. ../../../images/wb.import_jdbc_prov.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from remote data sources using *JDBC* * **History** - lists all of your previous *JDBC Data Source* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to the remote database is selected. * **Create New Data Source** - click to create a new *data source* that connects to the remote data source, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **Connection String** - JDBC connection string used in connecting to the remote service; see [supported list](/content/concepts/jdbc_drivers) for provider detail * **Username** - username to use in connecting to the remote service; can be specified here or in the connection string * **Password** - password to use in connecting to the remote service; can be specified here or in the connection string * **Select Existing Data Source** - click to select an existing *data source* that connects to the remote data source and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to the remote data source and select one ## Source In this step, the source table is selected or the source query entered. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **Remote Table** - enter the name of the table located within the remote data source; click **Browse Tables** to pop up the remote table browsing interface and make a selection from the available tables, and click **Select** next to the table to import * **Remote Query** - enter a query to run on the remote data source; click **Verify Remote Query** to ensure the query is able to be executed on the remote data source * **Subscription Options** - check the **Enable** box to activate a subscription to the remote data * **Poll Interval** - the time (in seconds) between successive requests to the remote cluster for more data * **Increasing Column** - remote table/query column to use to determine whether a remote record is new and should be imported; only records with a higher value than the highest value from the last poll will be imported ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the table's data. # Kafka Stream Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/kafka Using the *Kafka Stream Import* wizard, data from a *Kafka* topic can be streamed into *Kinetica*. To stream data from *Kafka* into *Kinetica*, click on the **Kafka Stream** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **Kafka Stream Import** wizard appears in the right-hand pane. ../../../images/wb.import_kafka.png The wizard has two tabs: * **Import** - contains the 5-step process for streaming data from *Kafka* * **History** - lists all of your previous *Kafka* stream attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to *Kafka* is selected. * **Create New Data Source** - click to create a new *data source* that connects to *Kafka*, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **URL** - enter the host & port of the *Kafka* service to use * **Topic Name** - enter the name of the *Kafka* topic from which data will be streamed * **Auth Type** - select an authorization scheme; this will prompt with the appropriate fields for the scheme selected To authenticate to *Kafka* services via other authentication schemes, create a [Kafka Credential](/content/sql/ddl/create-credential#sql-create-credential) via SQL (in a [Workbook](/content/admin/workbench/workbooks), for example) and then create a [Kafka Data Source](/content/sql/ddl/create-data-source#sql-create-data-source) that uses the credential * **Select Existing Data Source** - click to select an existing *data source* that connects to *Kafka* and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to *Kafka* and select one ## Source In this step, the source data options are configured, if necessary. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **Format** - pre-selected as JSON * **Poll Interval** - the time (in seconds) between successive requests to *Kafka* for more data * **Store Points As X/Y** - check the box to store GeoJSON data as separate X, Y, & Z columns, instead of a WKT-based format Once the source configuration is complete, click **Next** to proceed to the **Destination** selection page. ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the data stream configuration has been confirmed, click **Import** to begin streaming data. # Kinetica FileSystem Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/kifs Using the *Kinetica FileSystem (KiFS) Import* wizard, files staged in [KiFS](/content/tools/kifs) can be imported into *Kinetica*. To import a file from *KiFS* into *Kinetica*, click on the **Kinetica FileSystem** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **Kinetica FileSystem Import** wizard appears in the right-hand pane. ../../../images/wb.import_kifs.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from *KiFS* * **History** - lists all of your previous *KiFS* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the file to import from *KiFS* is selected. * **File** - click the control to open the *KiFS* file selector, which shows a list of the *KiFS* directories, and as each is clicked, the files contained within that directory; click any file to select for import Once the file to upload has been specified, click **Next** to proceed to the **Source** selection page to configure the file parser for the file selected. ## Source In this step, the parser is configured for the selected *KiFS* file. * **Source** - pre-selected as *Kinetica Filesystem* * **File Path** - pre-selected as a *KiFS* reference to the file chosen in the previous step * **Format** - select the format of the *KiFS* file from the drop-down If the source data is in a delimited text file, options for parsing the file can be specified (see [Delimited Text Options](/content/sql/load#sql-load-file-server-delim-opt) for details): * **Delimiter** - select the character that delimits field values in the source file: * `|` - default delimiter for .psv (pipe-separated value) files * `\t` - (tab) default delimiter for .tsv (tab-separated value) files * `,` - default delimiter for .csv (comma-separated value) files and all other types of text files * **Escape Character** - select the character used to escape special characters (like the field delimiter) found within field values; e.g., a `\` might be used to escape commas within field values in a .csv file * **Comment Identifier** - select the character(s) with which comment lines within the source file begin * **Quote Character** - select the character used to quote field values; e.g., a `"` might be used to quote field values containing commas in a .csv file * **Null Identifier** - select the character(s) used to identify *null* field values * **Has Header** - check the box if the source file contains a header row at the top Once the source file and parameters have been selected, click **Next** to proceed to the **Destination** selection page. ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the file's data. # Kinetica Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/kinetica Using the *Kinetica Import* wizard, tables located in another *Kinetica* cluster can be imported into *Kinetica*. To import a table from a remote *Kinetica* into a local one, click on the **Kinetica** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **Kinetica Import** wizard appears in the right-hand pane. ../../../images/wb.import_kinetica.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from *Kinetica* * **History** - lists all of your previous *Kinetica* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to *Kinetica* is selected. * **Create New Data Source** - click to create a new *data source* that connects to *Kinetica*, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **URL** - select either an assisted or manual scheme for entering connection information * **Assisted** - enter the parameters for connecting to the remote *Kinetica* cluster; the JDBC connection string will be built automatically and displayed in the preview box * **Manual** - enter the JDBC connection string to connect to the remote *Kinetica* cluster * **Select Existing Data Source** - click to select an existing *data source* that connects to *Kinetica* and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to *Kinetica* and select one ## Source In this step, the source table is selected or the source query entered. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **Remote Table** - enter the name of the table located within the remote *Kinetica* cluster; click **Browse Tables** to pop up the remote table browsing interface and make a selection from the available tables, and click **Select** next to the table to import * **Remote Query** - enter a query to run on the remote *Kinetica* cluster; click **Verify Remote Query** to ensure the query is able to be executed on the remote cluster * **Subscription Options** - check the **Enable** box to activate a subscription to the remote data * **Poll Interval** - the time (in seconds) between successive requests to the remote cluster for more data * **Increasing Column** - remote table/query column to use to determine whether a remote record is new and should be imported; only records with a higher value than the highest value from the last poll will be imported ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the table's data. # Amazon S3 Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/s3 Using the *Amazon S3 Import* wizard, files located in *Amazon S3* can be imported into *Kinetica*. To import a file from *Amazon S3* into *Kinetica*, click on the **Amazon S3** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **Amazon S3 Import** wizard appears in the right-hand pane. ../../../images/wb.import_s3.png The wizard has two tabs: * **Import** - contains the 5-step process for importing files from *Amazon S3* * **History** - lists all of your previous *Amazon S3* import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the [data source](/content/sql/ddl/create-data-source#sql-create-data-source) used to connect to *Amazon S3* is selected. * **Create New Data Source** - click to create a new *data source* that connects to *Amazon S3*, then enter its configuration and click **Create** to create the *data source* and proceed to the **Source** selection page: * **Name** - enter a unique name for the *data source* * **Bucket Name** - enter the name of the *Amazon S3* bucket to use * **Region** - enter the region in which the *Amazon S3* bucket exists * **Auth Type** - select an authorization scheme; this will prompt with the appropriate fields for the scheme selected * **Select Existing Data Source** - click to select an existing *data source* that connects to *Amazon S3* and then click **Next** to proceed to the **Source** selection page: * **Data Source** - click to open a drop-down of available *data sources* that connect to *Amazon S3* and select one ## Source In this step, the source file is selected and the parser configured for the file, if necessary. * **Source** - pre-selected as the name of the *data source* chosen in the previous step * **File Path** - enter the path to the file located within *Amazon S3*; click **Browse Files** to pop up the remote file browsing interface and make a selection from the available files, and click the `X` in the top corner when done selecting files * **Format** - select the format of the file from the drop-down If the source data is in a delimited text file, options for parsing the file can be specified (see [Delimited Text Options](/content/sql/load#sql-load-file-server-delim-opt) for details): * **Delimiter** - select the character that delimits field values in the source file: * `|` - default delimiter for .psv (pipe-separated value) files * `\t` - (tab) default delimiter for .tsv (tab-separated value) files * `,` - default delimiter for .csv (comma-separated value) files and all other types of text files * **Escape Character** - select the character used to escape special characters (like the field delimiter) found within field values; e.g., a `\` might be used to escape commas within field values in a .csv file * **Comment Identifier** - select the character(s) with which comment lines within the source file begin * **Quote Character** - select the character used to quote field values; e.g., a `"` might be used to quote field values containing commas in a .csv file * **Null Identifier** - select the character(s) used to identify *null* field values * **Has Header** - check the box if the source file contains a header row at the top Once the source file and parameters have been selected, click **Next** to proceed to the **Destination** selection page. ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the file's data. # Import Configure Source: https://docs.kinetica.com/content/admin/workbench/ui/import/shared/configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. # Import Destination Source: https://docs.kinetica.com/content/admin/workbench/ui/import/shared/destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. # Import Overview Source: https://docs.kinetica.com/content/admin/workbench/ui/import/shared/overview When importing, the following five steps will need to be completed: * Setup\_ * Source\_ * Destination\_ * Configure\_ * Summary\_ At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active # Import Source Source: https://docs.kinetica.com/content/admin/workbench/ui/import/shared/source If the source data is in a delimited text file, options for parsing the file can be specified (see [Delimited Text Options](/content/sql/load#sql-load-file-server-delim-opt) for details): * **Delimiter** - select the character that delimits field values in the source file: * `|` - default delimiter for .psv (pipe-separated value) files * `\t` - (tab) default delimiter for .tsv (tab-separated value) files * `,` - default delimiter for .csv (comma-separated value) files and all other types of text files * **Escape Character** - select the character used to escape special characters (like the field delimiter) found within field values; e.g., a `\` might be used to escape commas within field values in a .csv file * **Comment Identifier** - select the character(s) with which comment lines within the source file begin * **Quote Character** - select the character used to quote field values; e.g., a `"` might be used to quote field values containing commas in a .csv file * **Null Identifier** - select the character(s) used to identify *null* field values * **Has Header** - check the box if the source file contains a header row at the top Once the source file and parameters have been selected, click **Next** to proceed to the **Destination** selection page. # Import Summary Source: https://docs.kinetica.com/content/admin/workbench/ui/import/shared/summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. # File Upload Import Source: https://docs.kinetica.com/content/admin/workbench/ui/import/upload Using the *File Upload Import* wizard, local files can be staged in [KiFS](/content/tools/kifs) and imported into *Kinetica*. Once in *KiFS*, they can subsequently be imported via the [Kinetica Filesystem import wizard](/content/admin/workbench/ui/import/kifs) or via SQL's [LOAD INTO](/content/sql/load#sql-load-into) command, or be made the source of data for an [external table](/content/sql/ddl/create-external-table#sql-create-ext-table), among other uses. To upload a local file to *KiFS* and import the data into *Kinetica*, click on the **File Upload** panel on the [Import](/content/admin/workbench/ui/import) landing page in [Workbench](/content/admin/workbench). The **File Upload Import** wizard appears in the right-hand pane. ../../../images/wb.import_file_upload.png The wizard has two tabs: * **Import** - contains the 5-step process for uploading & importing files * **History** - lists all of your previous file upload import attempts ## Import Overview When importing, the following five steps will need to be completed: * [Setup](#setup) * [Source](#source) * [Destination](#destination) * [Configure](#configure) * [Summary](#summary) At any step, the following actions are available at the bottom of the screen: * **Next** - proceed to the next step * **Back** - return to the previous step * **Cancel** - exit the import process * **Import** - once enough information has been specified to begin importing data, the **Import** button will become active ## Setup In this step, the local file is uploaded to *KiFS*. * **Folder** - enter the name of a top-level directory within *KiFS* to store the uploaded file * **File** - drag & drop a file onto this control, or click **Browse** to browse your local file system for the file * Optionally, enter a **File name override** that will be the new name of the file within *KiFS* Once the file to upload has been specified, click the **Upload** button that appears. When the upload completes, click **Next** to proceed to the **Source** selection page to identify the uploaded file as the import source. ## Source In this step, the local file uploaded to *KiFS* is selected for import. * **Source** - pre-selected as *Kinetica Filesystem* * **File Path** - pre-selected as a *KiFS* reference to the file just uploaded * **Format** - select the format of the uploaded file from the drop-down If the source data is in a delimited text file, options for parsing the file can be specified (see [Delimited Text Options](/content/sql/load#sql-load-file-server-delim-opt) for details): * **Delimiter** - select the character that delimits field values in the source file: * `|` - default delimiter for .psv (pipe-separated value) files * `\t` - (tab) default delimiter for .tsv (tab-separated value) files * `,` - default delimiter for .csv (comma-separated value) files and all other types of text files * **Escape Character** - select the character used to escape special characters (like the field delimiter) found within field values; e.g., a `\` might be used to escape commas within field values in a .csv file * **Comment Identifier** - select the character(s) with which comment lines within the source file begin * **Quote Character** - select the character used to quote field values; e.g., a `"` might be used to quote field values containing commas in a .csv file * **Null Identifier** - select the character(s) used to identify *null* field values * **Has Header** - check the box if the source file contains a header row at the top Once the source file and parameters have been selected, click **Next** to proceed to the **Destination** selection page. ## Destination In this step, the target table to import into is selected. * **Schema** - name of the schema containing the target table; if blank, the user's [default schema](/content/concepts/schemas#schema-default) will be used * **Table** - name of the target table, which must meet [table naming criteria](/content/concepts/tables#table-naming-criteria); *Workbench* will suggest a table name here, if possible * **Batch Size** - number of records from the source to insert into the database at a time; this can be used to tune the ingest speed for source data with many records or wide columns * **Abort on Error** - check, to have the import stop at the first record import failure; any records imported by this point will remain in the target table * **Bad Records Table** - when **Abort on Error** is unchecked, the errant records will be written to the specified table * **Schema** - schema in which the bad records table should reside * **Table** - name for the bad records table Once the destination has been specified, click **Next** to proceed to the **Configure** page. ## Configure In this step, the target table's structure can be specified, if the table does not exist. Not specifying any structure will cause the import process to infer the table's structure from the source data. To specify a table structure, click **+ Add Column** once for each field in the source data, then enter the specification for each column, including: * **Name** - name of the column, which must meet the standard [naming criteria](/content/concepts/tables#table-naming-criteria) * **Type** - type of the column, and sub-type, if applicable * **Nullable** - check the box if the column should allow *null* values * **Properties** - check any properties that should apply to this column: * **Primary Key** - make this column the [primary key](/content/concepts/tables#primary-key) or part of a *composite primary key* * **Shard Key** - make this column the [shard key](/content/concepts/tables#shard-key) or part of a *composite shard key* * **Dict. Encoded** - apply [dictionary encoding](/content/concepts/dictionary_encoding) to the column's values, reducing storage used for columns with more often repeated data * **Init. with Now** - replace empty or invalid values inserted into this column with the current date/time * **Init. with UUID** - replace empty values inserted into this column with a universally unique identifier (UUID) * **Text Search** - make this column [full-text searchable](/content/concepts/full_text_search), using [FILTER\_BY\_STRING](/content/sql/query/string-functions#sql-string-functions-fts) in *search* mode To remove a column from the proposed target table, click the trash can icon at the far right of the column's definition. Once the table configuration has been established, click **Next** to proceed to the **Summary** page. ## Summary In this step, the import configuration will be displayed. All **Source**, **Destination**, & **Error Handling** configuration will be displayed in their respective sections. The **Generated SQL** section will contain the SQL [LOAD INTO](/content/sql/load#sql-load-into) command corresponding to the import operation that will take place. The copy-to-clipboard icon can be used to copy the SQL statement for subsequent use, to re-import data from the same file into the same table. Once the import configuration has been confirmed, click **Import** to import the file's data. # Workbench UI Source: https://docs.kinetica.com/content/admin/workbench/ui/index The *Kinetica Workbench* provides a rich user interface for accessing data. ../images/wb.workbench.png *Workbench* consists of two panes: * *left pane* - contains [Workbench Explorer](/content/admin/workbench/ui/explorer) * *right pane* - contains content associated primarily with top-level menu items The top-level menu items are as follows: * [Home](/content/admin/workbench/ui/home) * [Explore](/content/admin/workbench/ui/explore) * [Import](/content/admin/workbench/ui/import) * [Jobs](/content/admin/workbench/ui/jobs) * **Manage** * **Workbench** - opens a dialog to change various settings within *Workbench* * **Running** - the current status of the system * wb_icon_help - displays the database version number as well as links to various help sources * *\* (displays username) * **Usage** - displays database resource usage metrics * **Preferences** - allows switching between light & dark mode themes * **Logout** - ends the current session with *Workbench* The left & right panes act independently from each other, allowing for the exploration of data across domains (tables, workbooks, files, etc.) from any part of the application (*Home*, *Import*, etc.). # Jobs Source: https://docs.kinetica.com/content/admin/workbench/ui/jobs The *Jobs* interface is situated in the right-hand pane of *Kinetica's* [Workbench](/content/admin/workbench) administration application. It can be used to view the status of the user-initiated and system-level jobs running within the database. ../../images/wb.jobs.png To access the *Jobs* page, in *Workbench*, click the **Jobs** menu item. This will open the list of running jobs in the right-hand pane. Additionally, there are several action buttons: * **Cancel Selected** - stop any selected jobs from running * wb_icon_refresh - refresh the displayed list of jobs Three tabs allow separate viewing of the different job types: * **Running** - jobs currently being executed within the database * **Perpetual** - subscriptions made via [Kafka data sources](/content/load_data/by_source/kafka). * **UDFs** - both user-defined and system-level [UDFs](/content/sql/udf); click **View** to display detail about the corresponding UDF, as well as its execution history # Using Workbooks in Workbench Source: https://docs.kinetica.com/content/admin/workbench/workbooks ## Explorer Panel On the left side of the screen, you will see a tabbed panel, which we call the *Explorer*. The *Explorer* has three main views: *Data*, *Workbooks*, & *Files*. The [Data Explorer UI](/content/admin/workbench/ui/explorer/data) displays all of the data you have in *Kinetica*, like tables, views, graphs, and data sources. The data objects are sorted by type, allowing you to minimize or expand each section, and filter through the object names using a text input. The [Workbook Explorer UI](/content/admin/workbench/ui/explorer/workbooks) provides a means to organize a SQL-based set of commands or workflows for development or presentation purposes. The [File Explorer UI](/content/admin/workbench/ui/explorer/files) allows browsing of the [Kinetica FileSystem (KiFS)](/content/tools/kifs), where data files uploaded to *Kinetica* reside. ### Data Explorer When a data object is created using the UI-based wizard, it will appear in the *Data Explorer* automatically. When creating an object using a *SQL Block*, the *Data Explorer* will refresh automatically after the statement has been executed. Any queries executed in a worksheet that do not return rows will trigger a refresh of the *Data Explorer* to ensure you have the latest information about the system. The *Data Explorer* will show newly created objects, but if you do not see one listed, use the **Refresh** button at the top right of the *Data Explorer* to retrieve the latest information manually. ../images/wb.explorer_data.png #### Creating and Modifying Data Objects Create new data objects, like tables, data sources, or graphs, by clicking the plus **+** button at the top of the *Data Explorer*, or next to any of the data object type headings. You will be walked through options in a wizard. To modify an existing object, click the object and select **Configure**. ../images/wb.explorer_data_popup.png ../images/wb.create_table.png #### Previewing Objects You can preview an object’s data by clicking and selecting **Data Preview**. For tabular data, you will be shown a table view of the data. ../images/wb.data_preview_grid.png You can also preview geospatial tabular data on a map by selecting **WMS Preview**. Abstract graphs, like social graphs cannot be previewed in the *Workbench*. Previewing a geospatial graph will display a map of the graph. ../images/wb.data_preview_wms.png #### Deleting Objects To delete an object, click the object and select **Delete**. ### Workbook Explorer The *Workbook Explorer* contains two lists of *workbooks*: * **My Workbooks** - a list of *workbooks* you've created, and the *Quick Start Guide*, which comes with each *Kinetica* deployment * **Examples** - workbooks that are provided with *Workbench* for exploring the various features of *Kinetica* * **Shared With Me** - a list of *workbooks* others have created and made available to you ../images/wb.explorer_workbooks.png #### Creating a New Workbook To create a new *workbook*, select the **Workbook** tab in the *Explorer*, then click the plus **+** button. Alternatively, you can create a new *workbook* using the large button on the **Explore** landing page. After giving it a name, the new *workbook* will be displayed in the right-hand pane with a single empty *SQL Block* to start. ../images/wb.workbook_new.png #### Example Workbook *Kinetica* ships with a *workbook* that showcases an end-to-end analytics example through SQL. In this *workbook*, you will ingest data from S3, perform several analytic queries, and finally visualize the output on a map. To open the example *workbook*, click the **Workbooks** tab in the *Explorer* and select **Quick Start Guide**. #### Exporting/Importing Workbooks You can export and import *workbooks* to share your SQL. Right-click on a *workbook* in the *Workbook Explorer* and select the **Export** menu option. Choose **Workbook JSON** to initiate the download in JSON format. ../images/wb.workbook_export.png To import a *workbook*, select the plus **+** button at the top right of the *Workbook Explorer*. This will open a dialog window that allows you to drag and drop a previously exported *workbook*. ../images/wb.workbook_import.png ### File Explorer The *File Explorer* can be used to manage [directories](/content/tools/kifs_api#kifs-directory) & [files](/content/tools/kifs_api#kifs-file) that reside in [Kinetica File System (KiFS)](/content/tools/kifs). This feature facilitates uploading local data files to import their data into *Kinetica*. ../images/wb.explorer_files.png #### Uploading a File To upload a data file, select the **Files** tab in the *Explorer* to reach the *File Explorer*. Then, proceed either one of two ways: * Click the plus **+** button at the top of the *File Explorer* panel and then click **Upload New File** * Right-click the *directory* to upload the file into, and then click **Upload New File** At this point a modal will open up, prompting the selection of a data file to upload from the local file system. Choose a file and then click **Open**. Then enter (or confirm) the name of the *directory* to upload the file to and, optionally, choose a different name for the uploaded file in *KiFS*. Click **Upload** to complete the file upload, and **Close** to close the modal. ../images/wb.explorer_files_upload.png #### Importing a File To import a *file* from *KiFS*, select the **Files** tab in the *Explorer* to reach the *File Explorer*. Then, right-click the name of the *file* to upload and click **Import**. The *Kinetica Filesystem Import* wizard will be displayed with the name of the *file* to import already populated in the **File** field. ../images/wb.explorer_files_import_setup.png Click **Import** at any step of the wizard to import the *file* with the default options, along with any that have been configured in previous steps. See [Import Data Wizard](/content/admin/workbench/workbooks#wb-import-wiz) for the step-by-step walkthrough of the wizard. ## SQL Workbooks and Worksheets *Workbooks* can be accessed via the *Explore* page, using the top navigation. This page will be used in the future to import *workbooks* from *Kinetica’s Workbook Repository*. ../images/wb.explore.png ### Workbooks A *workbook* is a container for *worksheets*. Each *worksheet* begins with the [SQL-GPT interface](/content/admin/workbench/workbooks#wb-sql-gpt), followed by one or more *data blocks* and *presentation blocks*: * *Data blocks* - blocks that interact with the database and display the results of queries and/or operations; these include: * [SQL Blocks](/content/admin/workbench/workbooks#wb-sql-block) * [Map Blocks](/content/admin/workbench/workbooks#wb-map-block) * [Graph Blocks](/content/admin/workbench/workbooks#wb-graph-block) * [Presentation blocks](/content/admin/workbench/workbooks#wb-presentation-block) - blocks that display static content, usually used when converting a *workbook* to a presentation medium, where these *block* types can help explain a workflow and provide insight into the results of surrounding *data blocks* that do query the database; these include: * *Text Blocks* * *Image Blocks* * *HTML Blocks* Any type of *block* can be moved up or down in the *block* ordering or removed using the buttons in the upper right corner of the *block*. You can also add another *block* directly below an existing one by using the plus **+** button in the upper right menu. ../images/wb.workbook.png ### SQL-GPT A [SQL-GPT](/content/sql-gpt/concepts) interface is present at the top of each *worksheet* within a *workbook* to facilitate natural language queries of data. To use *SQL-GPT* to answer a question about your data: 1. Enter a natural-language question into the *SQL-GPT* textbox. 2. Click **Generate SQL**. A new *SQL Block* will be created at the bottom of the *worksheet*, pre-populated with the query *SQL-GPT* generated to answer the question posed. 3. Click wsb_icon_run in that new *SQL Block* to run the generated query. *SQL-GPT* will generate more accurate queries when it is given more context for the data it is querying. To provide *SQL-GPT* insight into the data and relationships between the data, see [SQL-GPT Concepts](/content/sql-gpt/concepts) for a *SQL-GPT* overview and [SQL-GPT Syntax](/content/sql/sqlgpt) for the complete SQL syntax supporting *SQL-GPT*. Once a custom *SQL-GPT context* has been created, click **Configure** to assign the *context* to the current *worksheet*, and ask the natural-language question again. ### SQL Blocks A *SQL Block* should contain a single SQL statement, which can be independently evaluated. Each *SQL Block* has a play button on the left side that allows you to run the SQL contained in the block. Alternatively, you can run all the *SQL Blocks* in a *worksheet* in sequence by clicking the **Run All** button at the top of the screen. If you want to create a visualization for a *SQL Block*, you will first need to create and run a `SELECT` statement. See [Visualizations](/content/admin/workbench/workbooks#wb-vis) for directions on how to create visualizations in your *workbook*. ../images/wb.workbook_sql_block.png #### Type-ahead *SQL Blocks* feature a type-ahead capability that will suggest SQL syntax and database object names. When you begin typing, keywords will appear, and you will be able to select one of the items using the arrow keys. Pressing **Enter** while one of these keywords is highlighted will add it to your *SQL Block*. For database objects, simply type a schema name and a dot (.); you should see all the tables and views in that schema appear in a dropdown list. #### Running Individual Blocks To run a *SQL Block*, click the play button next to it. When the job has finished, you will see an output notifying you of the success or failure. If you run a `SELECT` statement, you will see the result data presented in a data grid format, along with other visualization options. The data grid and visualizations are directly tied to the corresponding `SELECT` statement in the *SQL Block*. #### Running All Blocks You may also run the entire *workbook* from start to finish, in sequence, by clicking the **Run All** button in the upper right of the *worksheet*. As each *SQL Block* completes, the next will run until an error or the end of the *workbook* is reached. #### Canceling Jobs If you want to stop a long-running query or a long sequence of *SQL Blocks*, you can easily cancel the running jobs associated with each query. Use the **Queries** button at the top of the screen. This will open a modal with a list of all the running jobs in the system, any of which can be stopped by checking the box next to the job and pressing the **Cancel Selected** button. ../images/wb.jobs.png #### Visual Explain Plan The explain plan visualizer is a graphical complement to using the `EXPLAIN` keyword in a given query, providing visual detail to the SQL query's execution plan, execution time, and native API translation(s). In a given *SQL Block*, use the hierarchy icon to select **Explain Plan**. This will not execute the query but allow the database to walk through the native actions necessary to execute the query and show the plan. Use the hierarchy icon to select **Run and Analyze** to execute the query and display the execution time for each step in the plan. ../images/wb.workbook_sql_explain.png ### Map Blocks A *Map Block* starts out as an empty map but can be configured to display geospatial data from a table. Click on **Configure** to pick a source table and longitude & latitude columns. Then click **Update** to display the data on the map. ../images/wb.workbook_vis_map.png ### Graph Blocks A *Graph Block* starts out as a blank page but can be configured to display graph data from a graph output table. Click on **Configure** to pick a source graph table and specify the relevant node & edge columns. Then, click **Update** to display the graph within the block. ../images/wb.explore_wsb_graph.png #### Graph Example Given a `person` table of names & roles of people and a `connection` table linking those people together, a social graph of those people and their relations can be created by entering the following SQL into a *SQL Block* and clicking wsb_icon_run: ```sql CREATE GRAPH Example theme={null} CREATE or REPLACE directed GRAPH kgraph ( NODES => INPUT_TABLE ( SELECT name AS NAME, CONCAT(CONCAT(role,':'),locale) AS LABEL FROM person ), EDGES => INPUT_TABLE ( SELECT person_a AS NODE1_NAME, person_b AS NODE2_NAME FROM connection ), OPTIONS => KV_PAIRS(graph_table = 'kgraph_table') ) ``` This will generate two output tables, which can be used to generate the graph: * `kgraph_table` - the set of all edges (connections between people) in the data set * `kgraph_table_nodes` - the set of all nodes (people) in the data set

Graph Example - Edges Only

To create the graph with just the names of people related to each other, define: | Field | Value | Description | | ---------------------- | ----------------- | -------------------------------------------------- | | **Edge Table Name** | `kgraph_table` | Name of the edge table | | **Edge Source Column** | `EDGE_NODE1_NAME` | Name of the person on one side of a relation | | **Edge Target Column** | `EDGE_NODE2_NAME` | Name of the person on the other side of a relation |

Graph Example - Edges & Nodes

To create the graph with the names of people related to each other and additional information about the people, both the edge & node table will need to be referenced in the configuration. The data in the two tables will be linked together using their respective `ID` columns: * `kgraph_table.EDGE_NODE1_ID` * `kgraph_table.EDGE_NODE2_ID` * `kgraph_table_nodes.NODE_ID` | Field | Value | Description | | ---------------------- | -------------------- | ------------------------------------------------- | | **Edge Table Name** | `kgraph_table` | name of the edge table | | **Edge Source Column** | `EDGE_NODE1_ID` | ID of the person on one side of a relation | | **Edge Target Column** | `EDGE_NODE2_ID` | ID of the person on the other side of a relation | | **Node Table Name** | `kgraph_table_nodes` | name of the nodes table | | **Node ID Column** | `NODE_ID` | ID of a person | | **Node Name Column** | `NODE_NAME` | Name of a person | | **Node Label Column** | `NODE_LABEL` | Label containing extra information about a person | When using both the edge & node tables, the column values for the **Node ID Column** must match those for the **Edge Source Column** & **Edge Target Column** in that they should all be referencing either their respective `ID` or respective `NAME` columns.
### Presentation Blocks *Presentation blocks* help you annotate, elaborate on, and provide insight into the *data blocks* on your *worksheet*. These blocks can be moved up and down, independently of other *blocks* and provide rich flexibility in presenting your results. For more information on interacting with these blocks, see: * [Text Blocks](/content/admin/workbench/ui/explore#wb-explore-ws-tb) * [Image Blocks](/content/admin/workbench/ui/explore#wb-explore-ws-ib) * [HTML Blocks](/content/admin/workbench/ui/explore#wb-explore-ws-hb) ## Visualizations Once you have run a *SQL Block* that contains a `SELECT` statement, you have the option to visualize the result data. By default, the data will be displayed as a grid in the **Data** tab below the *SQL Block*. If you select the **Visualization** tab, you can visualize the data using one of the following modes: * [Bar Chart](/content/admin/workbench/workbooks#wb-vis-bar) * [Line Chart](/content/admin/workbench/workbooks#wb-vis-line) * [Pie Chart](/content/admin/workbench/workbooks#wb-vis-pie) * [Scatter Plot](/content/admin/workbench/workbooks#wb-vis-scatter) * [Big Number](/content/admin/workbench/workbooks#wb-vis-bignum) * [Graph](/content/admin/workbench/workbooks#wb-vis-graph) * [Map](/content/admin/workbench/workbooks#wb-vis-map) ../images/wb.workbook_vis.png Choose a visualization style, click **Configure** to set up the graph, and then click **Update** to display the graph. ### Bar Chart The *Bar Chart Visualization* allows you to view volumes of data by group. ../images/wb.workbook_vis_bar.png ### Line Chart The *Line Chart Visualization* shows you trends across a dimension. ../images/wb.workbook_vis_line.png ### Pie Chart The *Pie Chart Visualization* shows you the numeric proportion of values across several groups. ../images/wb.workbook_vis_pie.png ### Scatter Plot The *Scatter Plot Visualization* shows you two dimensions compared against each other or two values compared to (or categorized by) a third value, plotted on a coordinate system. ../images/wb.workbook_vis_scatter.png ### Big Number The *Big Number Visualization* simply shows the result of a query in a large font. Multiple records are shown as a comma-delimited list of values. ../images/wb.workbook_vis_bignum.png ### Graph The *Graph Visualization* is equivalent in interface to the [graph block](/content/admin/workbench/workbooks#wb-graph-block). ### Map The *Map Visualization* is equivalent in interface to the [map block](/content/admin/workbench/workbooks#wb-map-block). ## Importing Data Whether you’re importing directly via SQL, or using the import wizard, loading data into *Kinetica* is easy. Several data sources are supported when ingesting data through either mechanism. See [Data Sources](/content/concepts/data_sources) for more information on *data sources* or [CREATE DATA SOURCE](/content/sql/ddl/create-data-source#sql-create-data-source) for managing them in SQL. ### Import Data Wizard Importing data via the wizard can be done in several easy steps. 1. Click **Import** on the top menu to reach the *Importing Your Data* page. 2. Choose the import mechanism to use: * **File Upload** - Import data from a file on your local file system * **Kinetica Filesystem** - Import data from a file that has already been uploaded to *KiFS* * **Azure Blob Storage**, **Amazon S3**, **Kafka Stream**, **HDFS** - Import data from one of these external providers. * **Generic JDBC** - Import data from a remote database using a generic JDBC driver * **Kinetica** - Import data from another Kinetica cluster using the Kinetica JDBC driver * **JDBC Data Sources** - Import data from a remote system using any of the available data source drivers 3. If ingesting from a external provider like *S3*, you can either select an existing [data source](/content/sql/ddl/create-data-source#sql-create-data-source) corresponding to that provider or create a new one. 4. Enter the path to the file, and choose the file format. 5. Next, select the [schema](/content/sql/ddl/create-schema#sql-create-schema) in which your new table should be created. Then give your new table a name. By default, records that fail to be parsed or loaded correctly will be skipped and the import process will proceed to the subsequent records. To stop the import if an error occurs on a record, check the appropriate box. Optionally, define the structure of the target table if that table does not yet exist. If the table doesn't exist and the structure is not defined here, it will be intuited by analyzing the source file headers & data. 6. Once the ingest has been configured, the corresponding SQL statement for loading the data will be displayed, which you can copy into a *worksheet* for use later. Click **Import** to begin the import immediately, and wait for the job to complete. You can see the status of jobs in the **History** tab, and you can see error messages to help you troubleshoot the import there as well. For a more detailed look at the configuration options available through the *Import Wizard*, see [Import](/content/admin/workbench/ui/import). ../images/wb.import.png ../images/wb.importing_data_summary.png ### Import via SQL You can use the SQL generated by the *Import Data Wizard* in your SQL *Worksheets*, or you can write your own ingest statements. When importing from a remote location, like *S3*, you will need to create a *data source* first. See [CREATE DATA SOURCE](/content/sql/ddl/create-data-source#sql-create-data-source) for the syntax used to create one. For example, to load taxi data from *S3*: ```sql Create an S3 Data Source theme={null} CREATE OR REPLACE DATA SOURCE quickstart LOCATION = 'S3' WITH OPTIONS ( BUCKET NAME = 'quickstartpublic', REGION = 'us-west-1' ) ``` Once you’ve created a data source, you can load data using the [LOAD INTO](/content/sql/load#sql-load-into) statement. ```sql Load Taxi Data from S3 theme={null} LOAD DATA INTO taxi_data_historical FROM FILE PATHS 'taxi_data.parquet' FORMAT PARQUET WITH OPTIONS ( DATA SOURCE = 'quickstart' ) ``` # AAW REST API Source: https://docs.kinetica.com/content/api/aaw/index # API Concepts Source: https://docs.kinetica.com/content/api/concepts ## Native * [C++ API Documentation](/content/api/cpp) | [C++ GitHub Repo](https://github.com/kineticadb/kinetica-api-cpp) * [C# API Documentation](/content/api/cs) | [C# GitHub Repo](https://github.com/kineticadb/kinetica-api-cs) * [Java API Documentation](/content/api/java) | [Java GitHub Repo](https://github.com/kineticadb/kinetica-api-java) * [JavaScript API Documentation](/content/api/javascript) | [JavaScript GitHub Repo](https://github.com/kineticadb/kinetica-api-javascript) * [Node.js API Documentation](/content/api/nodejs) | [Node.js GitHub Repo](https://github.com/kineticadb/kinetica-api-javascript) * [Python API Documentation](/content/api/python) | [Python GitHub Repo](https://github.com/kineticadb/kinetica-api-python) * [REST API Documentation](/content/api/rest) ## Connecting via API The following shows the means of connecting to *Kinetica* via the various APIs available. ### HTTP Connections ```c++ C++ theme={null} #include "gpudb/GPUdb.hpp" gpudb::GPUdb::Options options = gpudb::GPUdb::Options(); options.setUsername(""); options.setPassword(""); gpudb::GPUdb kinetica("http://:9191", options); ``` ```c# C# theme={null} using kinetica; Kinetica.Options options = new Kinetica.Options(); options.Username = ""; options.Password = ""; Kinetica kinetica = new Kinetica("http://:9191", options ); ``` ```java Java theme={null} import com.gpudb.GPUdb; GPUdb.Options options = new GPUdb.Options() .setUsername("") .setPassword(""); GPUdb kinetica = new GPUdb("http://:9191", options); ``` ```html JavaScript theme={null} ``` ```javascript Node.js theme={null} // To install Kinetica, first run this from the CLI: npm i @kinetica/gpudb var GPUdb = require("@kinetica/gpudb"); var kinetica = new GPUdb( ["http://:9191"], { username: "", password: "" } ); ``` ```python Python theme={null} import gpudb options = gpudb.GPUdb.Options() options.username = "" options.password = "" kinetica = gpudb.GPUdb( host=["http://:9191"], options = options ) ``` ```bash REST theme={null} # Example call invoking the /show/system/properties endpoint # and requesting the database's version number curl --location --request POST \ 'http://:9191/show/system/properties' \ --user : \ --data '{"options": {"properties": "version.gpudb_core_version"}}' \ --header 'cache-control: no-cache' \ --header 'content-type: application/json' ``` ### HTTPS Connections with Certificate Validation ```c++ C++ theme={null} #include "gpudb/GPUdb.hpp" gpudb::GPUdb::Options options = gpudb::GPUdb::Options(); options.setUsername(""); options.setPassword(""); gpudb::GPUdb kinetica("https://:8082/gpudb-0", options); ``` ```c# C# theme={null} using kinetica; Kinetica.Options options = new Kinetica.Options(); options.Username = ""; options.Password = ""; Kinetica kinetica = new Kinetica("https://:8082/gpudb-0", options ); ``` ```java Java theme={null} import com.gpudb.GPUdb; GPUdb.Options options = new GPUdb.Options() .setUsername("") .setPassword(""); // By default, the Java system CA trust store will be used; // to specify a different trust store, use these options: options.setTrustStoreFilePath(""); options.setTrustStorePassword(""); GPUdb kinetica = new GPUdb("https://:8082/gpudb-0", options); ``` ```html JavaScript theme={null} ``` ```javascript Node.js theme={null} // To install Kinetica, first run this from the CLI: npm i @kinetica/gpudb var GPUdb = require("@kinetica/gpudb"); var kinetica = new GPUdb( ["https://:8082/gpudb-0"], { username: "", password: "" } ); ``` ```python Python theme={null} import gpudb options = gpudb.GPUdb.Options() options.username = "" options.password = "" kinetica = gpudb.GPUdb( host=["https://:8082/gpudb-0"], options = options ) ``` ```bash REST theme={null} # Example call invoking the /show/system/properties endpoint # and requesting the database's version number curl --location --request POST \ 'https://:8082/gpudb-0/show/system/properties' \ --user : \ --data '{"options": {"properties": "version.gpudb_core_version"}}' \ --header 'cache-control: no-cache' \ --header 'content-type: application/json' ``` ### HTTPS Connections without Certificate Validation Using these setups, no certificate validation of any kind will be performed; not recommended for production deployments. To bypass certificate checks in JDBC, see [Secure Connections](/content/connectors/sql_guide#jdbc-connecting-secure). To bypass certificate checks in *KiSQL*, see [Parameterized Options](/content/tools/kisql#kisql-conn-opt). ```java Java theme={null} import com.gpudb.GPUdb; GPUdb.Options options = new GPUdb.Options() .setBypassSslCertCheck(true) .setUsername("") .setPassword(""); GPUdb kinetica = new GPUdb("https://:8082/gpudb-0", options); ``` ```python Python theme={null} import gpudb options = gpudb.GPUdb.Options() options.username = "" options.password = "" options.skip_ssl_cert_verification = True kinetica = gpudb.GPUdb( host=["https://:8082/gpudb-0"], options = options ) ``` ```bash REST theme={null} # Example call invoking the /show/system/properties endpoint # and requesting the database's version number curl --location --request POST \ 'https://:8082/gpudb-0/show/system/properties' \ --user : \ --data '{"options": {"properties": "version.gpudb_core_version"}}' \ --insecure \ --header 'cache-control: no-cache' \ --header 'content-type: application/json' ``` ### HTTPS Connections with OIDC/OAuth Authentication ```c++ C++ theme={null} #include "gpudb/GPUdb.hpp" gpudb::GPUdb::Options options = gpudb::GPUdb::Options(); options.setOauthToken(""); gpudb::GPUdb kinetica("https://:8082/gpudb-0", options); ``` ```c# C# theme={null} using kinetica; Kinetica.Options options = new Kinetica.Options(); options.OauthToken = ""; Kinetica kinetica = new Kinetica("https://:8082/gpudb-0", options ); ``` ```java Java theme={null} import com.gpudb.GPUdb; GPUdb.Options options = new GPUdb.Options() .setOauthToken(""); GPUdb kinetica = new GPUdb("https://:8082/gpudb-0", options); ``` ```html JavaScript theme={null} ``` ```javascript Node.js theme={null} // To install Kinetica, first run this from the CLI: npm i @kinetica/gpudb var GPUdb = require("@kinetica/gpudb"); var kinetica = new GPUdb( ["https://:8082/gpudb-0"], { oauth_token: "" } ); ``` ```python Python theme={null} import gpudb options = gpudb.GPUdb.Options() options.oauth_token = "" kinetica = gpudb.GPUdb( host=["https://:8082/gpudb-0"], options = options ) ``` ```bash REST theme={null} # Example call invoking the /show/system/properties endpoint # and requesting the database's version number curl --location --request POST \ 'https://:8082/gpudb-0/show/system/properties' \ --oauth2-bearer "" \ --data '{"options": {"properties": "version.gpudb_core_version"}}' \ --header 'cache-control: no-cache' \ --header 'content-type: application/json' ```
## Compatibility Matrix The following chart shows the version compatibilities between the various APIs and a target database server. While only the major & minor version numbers *(6.2, 7.0, 7.1, 7.2)* must match to achieve interoperability, the complete feature set for a given database version can only be utilized via the corresponding API version, depicted below. | Database | C++ | C# | Java | Javascript | Node.js | Python | | -------- | ------ | ------ | ------ | ---------- | ------- | ------ | | 6.2 | 6.2.\* | 6.2.\* | 6.2.\* | 6.2.\* | 6.2.\* | 6.2.\* | | 7.0.X | 7.0.X | 7.0.X | 7.0.X | 7.0.X | 7.0.X | 7.0.X | | 7.1.X | 7.1.X | 7.1.X | 7.1.X | 7.1.X | 7.1.X | 7.1.X | | 7.2.X | 7.2.X | 7.2.X | 7.2.X | 7.2.X | 7.2.X | 7.2.X |
## Dynamic Schemas When working with APIs, it is helpful to have an understanding of how data is returned by the database. For a detailed breakdown in Java & Python, see [Dynamic Schemas](/content/api/dynamic_schemas). # gpudb::BinaryHttpRequest Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1BinaryHttpRequest gpudb::BinaryHttpRequest — Kinetica C++ API

#include \<gpudb/Http.hpp>

Public Member Functions

  BinaryHttpRequest ()
 
  BinaryHttpRequest (const HttpUrl \&url)
 
const std::vector\< uint8\_t > \*  getRequestBody ()
 
void  setRequestBody (const std::vector\< uint8\_t > \*requestBody)
 
 Public Member Functions inherited from gpudb::HttpRequest
  HttpRequest ()
 
  HttpRequest (const HttpUrl \&url)
 
boost::asio::ssl::context \*  getSslContext ()
 
const HttpUrl getUrl () const
 
const std::string &  getRequestMethod () const
 
const std::string &  getRequestHeader (const std::string \&key) const
 
std::map\< std::string, std::string > &  getRequestHeaders ()
 
size\_t  getTimeout () const
 
void  setSslContext (boost::asio::ssl::context \*sslContext)
 
void  setBypassSslCertCheck (const bool value)
 
void  setUrl (const HttpUrl \&url)
 
void  setRequestMethod (const std::string \&method)
 
void  addRequestHeader (const std::string \&key, const std::string \&value)
 
void  setTimeout (const size\_t timeout)
 
void  send (HttpResponse \&response)
 

Protected Member Functions

virtual void  read (const void \*\&data, size\_t \&length) const
 

Additional Inherited Members

 Static Public Attributes inherited from gpudb::HttpRequest
static const std::string  GET
 
static const std::string  HEAD
 
static const std::string  POST
 

Detailed Description

Constructor & Destructor Documentation

◆ BinaryHttpRequest() \[1/2]

gpudb::BinaryHttpRequest::BinaryHttpRequest ( )

◆ BinaryHttpRequest() \[2/2]

gpudb::BinaryHttpRequest::BinaryHttpRequest ( const HttpUrl & url )

Member Function Documentation

◆ getRequestBody()

const std::vector\< uint8\_t > \* gpudb::BinaryHttpRequest::getRequestBody ( )

◆ read()

virtual void gpudb::BinaryHttpRequest::read ( const void \*& data,
size\_t & length ) const
protectedvirtual

Reimplemented from gpudb::HttpRequest.

◆ setRequestBody()

void gpudb::BinaryHttpRequest::setRequestBody ( const std::vector\< uint8\_t > \* requestBody )

The documentation for this class was generated from the following file:
# gpudb::BinaryHttpResponse Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1BinaryHttpResponse gpudb::BinaryHttpResponse — Kinetica C++ API

#include \<gpudb/Http.hpp>

Public Member Functions

const std::vector\< uint8\_t > &  getResponseBody () const
 
 Public Member Functions inherited from gpudb::HttpResponse
  HttpResponse ()
 
virtual  \~HttpResponse ()
 
const std::string &  getResponseVersion () const
 
unsigned int  getResponseCode () const
 
const std::string &  getResponseMessage () const
 
const std::string &  getResponseHeader (const std::string \&key) const
 
const std::map\< std::string, std::string > &  getResponseHeaders () const
 

Protected Member Functions

virtual void  write (const void \*data, const size\_t length)
 

Detailed Description

Definition at line 183 of file Http.hpp.

Member Function Documentation

◆ getResponseBody()

const std::vector\< uint8\_t > & gpudb::BinaryHttpResponse::getResponseBody ( ) const

◆ write()

virtual void gpudb::BinaryHttpResponse::write ( const void \* data,
const size\_t length )
protectedvirtual

Reimplemented from gpudb::HttpResponse.


The documentation for this class was generated from the following file:
# gpudb::FailbackPollerService Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1FailbackPollerService gpudb::FailbackPollerService — Kinetica C++ API

#include \<gpudb/FailbackPollerService.hpp>

Public Member Functions

  FailbackPollerService (const gpudb::GPUdb \&db, long pollingInterval)
 
  FailbackPollerService (const FailbackPollerService &)=delete
 
FailbackPollerService operator= (const FailbackPollerService &)=delete
 
virtual  \~FailbackPollerService ()
 
bool  isRunning ()
  Checks whether the poller is running and returns true or false.
 
void  start ()
  Starts the poller service.
 
void  stop ()
  Stops the poller service.
 
void  restart ()
 

Static Public Attributes

static const int  DEFAULT\_START\_DELAY
 
static const int  DEFAULT\_POLLING\_INTERVAL
 

Detailed Description

Definition at line 16 of file FailbackPollerService.hpp.

Constructor & Destructor Documentation

◆ FailbackPollerService() \[1/2]

gpudb::FailbackPollerService::FailbackPollerService ( const gpudb::GPUdb & db,
long pollingInterval )
inline

Definition at line 37 of file FailbackPollerService.hpp.

◆ FailbackPollerService() \[2/2]

gpudb::FailbackPollerService::FailbackPollerService ( const FailbackPollerService & )
delete

◆ \~FailbackPollerService()

virtual gpudb::FailbackPollerService::\~FailbackPollerService ( )
virtual

Member Function Documentation

◆ isRunning()

bool gpudb::FailbackPollerService::isRunning ( )

Checks whether the poller is running and returns true or false.

◆ operator=()

FailbackPollerService & gpudb::FailbackPollerService::operator= ( const FailbackPollerService & )
delete

◆ restart()

void gpudb::FailbackPollerService::restart ( )

◆ start()

void gpudb::FailbackPollerService::start ( )

Starts the poller service.

◆ stop()

void gpudb::FailbackPollerService::stop ( )

Stops the poller service.

Member Data Documentation

◆ DEFAULT\_POLLING\_INTERVAL

const int gpudb::FailbackPollerService::DEFAULT\_POLLING\_INTERVAL
static

Definition at line 19 of file FailbackPollerService.hpp.

◆ DEFAULT\_START\_DELAY

const int gpudb::FailbackPollerService::DEFAULT\_START\_DELAY
static

Definition at line 18 of file FailbackPollerService.hpp.


The documentation for this class was generated from the following file:
# gpudb::GPUdb Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdb gpudb::GPUdb — Kinetica C++ API

#include \<gpudb/GPUdb.hpp>

Inherits boost::noncopyable.

Classes

class   Options
 

Public Types

enum   HASynchronicityMode
  DEFAULT = 0 ,
  NONE ,
  SYNCHRONOUS ,
  SYNCHRONOUS\_PARALLEL ,
  ASYNCHRONOUS ,
  ASYNCHRONOUS\_PARALLEL
  A enumeration of high-availability synchronicity override modes. More...
 

Public Member Functions

  GPUdb (const HttpUrl \&url, const Options \&options=Options())
  Pass a single HttpURL and options to instantiate a GPUdb object.
 
  GPUdb (const std::string \&url, const Options \&options=Options())
  Pass a single or multiple, comma-separated URLs as a string and optional options to instantiate a GPUdb object.
 
  GPUdb (const std::vector\< HttpUrl > \&urls, const Options \&options=Options())
  Pass multiple HttpURLs and optional options to instantiate a GPUdb object.
 
  GPUdb (const std::vector\< std::string > \&urls, const Options \&options=Options())
  Pass multiple strings, each containing a single URL, and optional options to instantiate a GPUdb object.
 
  \~GPUdb ()
  Destructor.
 
const HttpUrl getUrl () const
 
const std::vector\< HttpUrl > &  getUrls () const
 
const HttpUrl getHmUrl () const
 
const std::vector\< HttpUrl > &  getHmUrls () const
 
boost::asio::ssl::context \*  getSslContext () const
 
bool  getBypassSslCertCheck () const
 
const std::string &  getUsername () const
 
const std::string &  getPassword () const
 
const std::string &  getOauthToken () const
 
const std::string &  getPrimaryURL () const
  Return a string containing the URL for the primary cluster; empty string otherwise.
 
bool  getUseSnappy () const
 
size\_t  getThreadCount () const
 
avro::ExecutorPtr  getExecutor () const
 
const std::map\< std::string, std::string > &  getHttpHeaders () const
 
HASynchronicityMode  getHASyncMode () const
 
size\_t  getTimeout () const
 
long  execute (const std::string \&sql)
  This method is used to execute a SQL statement (e.g., DML, DDL).
 
long  execute (const std::string \&sql, const std::string \¶meters)
  This method is used to execute a SQL statement (e.g., DML, DDL).
 
long  execute (const std::string \&sql, const std::string \¶meters, const std::map\< std::string, std::string > \&options)
  This method is used to execute a SQL statement (e.g., DML, DDL).
 
template\
long  execute (const std::string \&sql, const std::vector\< T > \¶meters)
 
template\
long  execute (const std::string \&sql, const std::vector\< T > \¶meters, const std::map\< std::string, std::string > \&options)
 
void  setHASyncMode (HASynchronicityMode mode)
  Sets the high-availability synchronization mode which will override the default mode.
 
void  addHttpHeader (const std::string \&header, const std::string \&value)
  Adds an HTTP header to the map of additional HTTP headers to send to GPUdb with each request.
 
void  removeHttpHeader (const std::string \&header)
  Removes the given HTTP header from the map of additional HTTP headers to send to GPUdb with each request.
 
void  updateHostManagerPort ()
  Update the host manager port by inquiring the server.
 
template\
TResponse &  submitRequest (const HttpUrl \&url, const TRequest \&request, TResponse \&response, const bool enableCompression=false) const
 
template\
TResponse &  submitRequest (const std::string \&endpoint, const TRequest \&request, TResponse \&response, const bool enableCompression=false) const
 
template\
TResponse &  submitRequest (const char \*endpoint, const TRequest \&request, TResponse \&response, const bool enableCompression=false) const
 
template\
TResponse &  submitRequestToHostManager (const std::string \&endpoint, const TRequest \&request, TResponse \&response, const bool enableCompression=false) const
  Submit an HTTP request to the host manager.
 
template\
TResponse &  submitRequestToHostManager (const char \*endpoint, const TRequest \&request, TResponse \&response, const bool enableCompression=false) const
  Submit an HTTP request to the host manager.
 
AdminAddHostResponse  adminAddHost (const AdminAddHostRequest \&request\_) const
  Adds a host to an existing cluster.
 
AdminAddHostResponse adminAddHost (const AdminAddHostRequest \&request\_, AdminAddHostResponse \&response\_) const
  Adds a host to an existing cluster.
 
AdminAddHostResponse  adminAddHost (const std::string \&hostAddress, const std::map\< std::string, std::string > \&options) const
  Adds a host to an existing cluster.
 
AdminAddHostResponse adminAddHost (const std::string \&hostAddress, const std::map\< std::string, std::string > \&options, AdminAddHostResponse \&response\_) const
  Adds a host to an existing cluster.
 
AdminAddRanksResponse  adminAddRanks (const AdminAddRanksRequest \&request\_) const
  Add one or more ranks to an existing Kinetica cluster.
 
AdminAddRanksResponse adminAddRanks (const AdminAddRanksRequest \&request\_, AdminAddRanksResponse \&response\_) const
  Add one or more ranks to an existing Kinetica cluster.
 
AdminAddRanksResponse  adminAddRanks (const std::vector\< std::string > \&hosts, const std::vector\< std::map\< std::string, std::string > > \&configParams, const std::map\< std::string, std::string > \&options) const
  Add one or more ranks to an existing Kinetica cluster.
 
AdminAddRanksResponse adminAddRanks (const std::vector\< std::string > \&hosts, const std::vector\< std::map\< std::string, std::string > > \&configParams, const std::map\< std::string, std::string > \&options, AdminAddRanksResponse \&response\_) const
  Add one or more ranks to an existing Kinetica cluster.
 
AdminAlterHostResponse  adminAlterHost (const AdminAlterHostRequest \&request\_) const
  Alter properties on an existing host in the cluster.
 
AdminAlterHostResponse adminAlterHost (const AdminAlterHostRequest \&request\_, AdminAlterHostResponse \&response\_) const
  Alter properties on an existing host in the cluster.
 
AdminAlterHostResponse  adminAlterHost (const std::string \&host, const std::map\< std::string, std::string > \&options) const
  Alter properties on an existing host in the cluster.
 
AdminAlterHostResponse adminAlterHost (const std::string \&host, const std::map\< std::string, std::string > \&options, AdminAlterHostResponse \&response\_) const
  Alter properties on an existing host in the cluster.
 
AdminAlterJobsResponse  adminAlterJobs (const AdminAlterJobsRequest \&request\_) const
  Perform the requested action on a list of one or more job(s).
 
AdminAlterJobsResponse adminAlterJobs (const AdminAlterJobsRequest \&request\_, AdminAlterJobsResponse \&response\_) const
  Perform the requested action on a list of one or more job(s).
 
AdminAlterJobsResponse  adminAlterJobs (const std::vector\< int64\_t > \&jobIds, const std::string \&action, const std::map\< std::string, std::string > \&options) const
  Perform the requested action on a list of one or more job(s).
 
AdminAlterJobsResponse adminAlterJobs (const std::vector\< int64\_t > \&jobIds, const std::string \&action, const std::map\< std::string, std::string > \&options, AdminAlterJobsResponse \&response\_) const
  Perform the requested action on a list of one or more job(s).
 
AdminBackupBeginResponse  adminBackupBegin (const AdminBackupBeginRequest \&request\_) const
  Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.
 
AdminBackupBeginResponse adminBackupBegin (const AdminBackupBeginRequest \&request\_, AdminBackupBeginResponse \&response\_) const
  Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.
 
AdminBackupBeginResponse  adminBackupBegin (const std::map\< std::string, std::string > \&options) const
  Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.
 
AdminBackupBeginResponse adminBackupBegin (const std::map\< std::string, std::string > \&options, AdminBackupBeginResponse \&response\_) const
  Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.
 
AdminBackupEndResponse  adminBackupEnd (const AdminBackupEndRequest \&request\_) const
  Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.
 
AdminBackupEndResponse adminBackupEnd (const AdminBackupEndRequest \&request\_, AdminBackupEndResponse \&response\_) const
  Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.
 
AdminBackupEndResponse  adminBackupEnd (const std::map\< std::string, std::string > \&options) const
  Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.
 
AdminBackupEndResponse adminBackupEnd (const std::map\< std::string, std::string > \&options, AdminBackupEndResponse \&response\_) const
  Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.
 
AdminHaOfflineResponse  adminHaOffline (const AdminHaOfflineRequest \&request\_) const
  Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.
 
AdminHaOfflineResponse adminHaOffline (const AdminHaOfflineRequest \&request\_, AdminHaOfflineResponse \&response\_) const
  Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.
 
AdminHaOfflineResponse  adminHaOffline (const bool offline, const std::map\< std::string, std::string > \&options) const
  Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.
 
AdminHaOfflineResponse adminHaOffline (const bool offline, const std::map\< std::string, std::string > \&options, AdminHaOfflineResponse \&response\_) const
  Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.
 
AdminHaRefreshResponse  adminHaRefresh (const AdminHaRefreshRequest \&request\_) const
  Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.
 
AdminHaRefreshResponse adminHaRefresh (const AdminHaRefreshRequest \&request\_, AdminHaRefreshResponse \&response\_) const
  Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.
 
AdminHaRefreshResponse  adminHaRefresh (const std::map\< std::string, std::string > \&options) const
  Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.
 
AdminHaRefreshResponse adminHaRefresh (const std::map\< std::string, std::string > \&options, AdminHaRefreshResponse \&response\_) const
  Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.
 
AdminOfflineResponse  adminOffline (const AdminOfflineRequest \&request\_) const
  Take the system offline.
 
AdminOfflineResponse adminOffline (const AdminOfflineRequest \&request\_, AdminOfflineResponse \&response\_) const
  Take the system offline.
 
AdminOfflineResponse  adminOffline (const bool offline, const std::map\< std::string, std::string > \&options) const
  Take the system offline.
 
AdminOfflineResponse adminOffline (const bool offline, const std::map\< std::string, std::string > \&options, AdminOfflineResponse \&response\_) const
  Take the system offline.
 
AdminRebalanceResponse  adminRebalance (const AdminRebalanceRequest \&request\_) const
  Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.
 
AdminRebalanceResponse adminRebalance (const AdminRebalanceRequest \&request\_, AdminRebalanceResponse \&response\_) const
  Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.
 
AdminRebalanceResponse  adminRebalance (const std::map\< std::string, std::string > \&options) const
  Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.
 
AdminRebalanceResponse adminRebalance (const std::map\< std::string, std::string > \&options, AdminRebalanceResponse \&response\_) const
  Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.
 
AdminRemoveHostResponse  adminRemoveHost (const AdminRemoveHostRequest \&request\_) const
  Removes a host from an existing cluster.
 
AdminRemoveHostResponse adminRemoveHost (const AdminRemoveHostRequest \&request\_, AdminRemoveHostResponse \&response\_) const
  Removes a host from an existing cluster.
 
AdminRemoveHostResponse  adminRemoveHost (const std::string \&host, const std::map\< std::string, std::string > \&options) const
  Removes a host from an existing cluster.
 
AdminRemoveHostResponse adminRemoveHost (const std::string \&host, const std::map\< std::string, std::string > \&options, AdminRemoveHostResponse \&response\_) const
  Removes a host from an existing cluster.
 
AdminRemoveRanksResponse  adminRemoveRanks (const AdminRemoveRanksRequest \&request\_) const
  Remove one or more ranks from an existing Kinetica cluster.
 
AdminRemoveRanksResponse adminRemoveRanks (const AdminRemoveRanksRequest \&request\_, AdminRemoveRanksResponse \&response\_) const
  Remove one or more ranks from an existing Kinetica cluster.
 
AdminRemoveRanksResponse  adminRemoveRanks (const std::vector\< std::string > \&ranks, const std::map\< std::string, std::string > \&options) const
  Remove one or more ranks from an existing Kinetica cluster.
 
AdminRemoveRanksResponse adminRemoveRanks (const std::vector\< std::string > \&ranks, const std::map\< std::string, std::string > \&options, AdminRemoveRanksResponse \&response\_) const
  Remove one or more ranks from an existing Kinetica cluster.
 
AdminRepairTableResponse  adminRepairTable (const AdminRepairTableRequest \&request\_) const
  Manually repair a corrupted table.
 
AdminRepairTableResponse adminRepairTable (const AdminRepairTableRequest \&request\_, AdminRepairTableResponse \&response\_) const
  Manually repair a corrupted table.
 
AdminRepairTableResponse  adminRepairTable (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&tableTypes, const std::map\< std::string, std::string > \&options) const
  Manually repair a corrupted table.
 
AdminRepairTableResponse adminRepairTable (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&tableTypes, const std::map\< std::string, std::string > \&options, AdminRepairTableResponse \&response\_) const
  Manually repair a corrupted table.
 
AdminSendAlertResponse  adminSendAlert (const AdminSendAlertRequest \&request\_) const
  Sends a user generated alert to the monitoring system.
 
AdminSendAlertResponse adminSendAlert (const AdminSendAlertRequest \&request\_, AdminSendAlertResponse \&response\_) const
  Sends a user generated alert to the monitoring system.
 
AdminSendAlertResponse  adminSendAlert (const std::string \&message, const std::string \&label, const std::string \&logLevel, const std::map\< std::string, std::string > \&options) const
  Sends a user generated alert to the monitoring system.
 
AdminSendAlertResponse adminSendAlert (const std::string \&message, const std::string \&label, const std::string \&logLevel, const std::map\< std::string, std::string > \&options, AdminSendAlertResponse \&response\_) const
  Sends a user generated alert to the monitoring system.
 
AdminShowAlertsResponse  adminShowAlerts (const AdminShowAlertsRequest \&request\_) const
  Requests a list of the most recent alerts.
 
AdminShowAlertsResponse adminShowAlerts (const AdminShowAlertsRequest \&request\_, AdminShowAlertsResponse \&response\_) const
  Requests a list of the most recent alerts.
 
AdminShowAlertsResponse  adminShowAlerts (const int32\_t numAlerts, const std::map\< std::string, std::string > \&options) const
  Requests a list of the most recent alerts.
 
AdminShowAlertsResponse adminShowAlerts (const int32\_t numAlerts, const std::map\< std::string, std::string > \&options, AdminShowAlertsResponse \&response\_) const
  Requests a list of the most recent alerts.
 
AdminShowClusterOperationsResponse  adminShowClusterOperations (const AdminShowClusterOperationsRequest \&request\_) const
  Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.
 
AdminShowClusterOperationsResponse adminShowClusterOperations (const AdminShowClusterOperationsRequest \&request\_, AdminShowClusterOperationsResponse \&response\_) const
  Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.
 
AdminShowClusterOperationsResponse  adminShowClusterOperations (const int32\_t historyIndex, const std::map\< std::string, std::string > \&options) const
  Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.
 
AdminShowClusterOperationsResponse adminShowClusterOperations (const int32\_t historyIndex, const std::map\< std::string, std::string > \&options, AdminShowClusterOperationsResponse \&response\_) const
  Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.
 
AdminShowJobsResponse  adminShowJobs (const AdminShowJobsRequest \&request\_) const
  Get a list of the current jobs in GPUdb.
 
AdminShowJobsResponse adminShowJobs (const AdminShowJobsRequest \&request\_, AdminShowJobsResponse \&response\_) const
  Get a list of the current jobs in GPUdb.
 
AdminShowJobsResponse  adminShowJobs (const std::map\< std::string, std::string > \&options) const
  Get a list of the current jobs in GPUdb.
 
AdminShowJobsResponse adminShowJobs (const std::map\< std::string, std::string > \&options, AdminShowJobsResponse \&response\_) const
  Get a list of the current jobs in GPUdb.
 
AdminShowShardsResponse  adminShowShards (const AdminShowShardsRequest \&request\_) const
  Show the mapping of shards to the corresponding rank and tom.
 
AdminShowShardsResponse adminShowShards (const AdminShowShardsRequest \&request\_, AdminShowShardsResponse \&response\_) const
  Show the mapping of shards to the corresponding rank and tom.
 
AdminShowShardsResponse  adminShowShards (const std::map\< std::string, std::string > \&options) const
  Show the mapping of shards to the corresponding rank and tom.
 
AdminShowShardsResponse adminShowShards (const std::map\< std::string, std::string > \&options, AdminShowShardsResponse \&response\_) const
  Show the mapping of shards to the corresponding rank and tom.
 
AdminShutdownResponse  adminShutdown (const AdminShutdownRequest \&request\_) const
  Exits the database server application.
 
AdminShutdownResponse adminShutdown (const AdminShutdownRequest \&request\_, AdminShutdownResponse \&response\_) const
  Exits the database server application.
 
AdminShutdownResponse  adminShutdown (const std::string \&exitType, const std::string \&authorization, const std::map\< std::string, std::string > \&options) const
  Exits the database server application.
 
AdminShutdownResponse adminShutdown (const std::string \&exitType, const std::string \&authorization, const std::map\< std::string, std::string > \&options, AdminShutdownResponse \&response\_) const
  Exits the database server application.
 
AdminSwitchoverResponse  adminSwitchover (const AdminSwitchoverRequest \&request\_) const
  Manually switch over one or more processes to another host.
 
AdminSwitchoverResponse adminSwitchover (const AdminSwitchoverRequest \&request\_, AdminSwitchoverResponse \&response\_) const
  Manually switch over one or more processes to another host.
 
AdminSwitchoverResponse  adminSwitchover (const std::vector\< std::string > \&processes, const std::vector\< std::string > \&destinations, const std::map\< std::string, std::string > \&options) const
  Manually switch over one or more processes to another host.
 
AdminSwitchoverResponse adminSwitchover (const std::vector\< std::string > \&processes, const std::vector\< std::string > \&destinations, const std::map\< std::string, std::string > \&options, AdminSwitchoverResponse \&response\_) const
  Manually switch over one or more processes to another host.
 
AdminVerifyDbResponse  adminVerifyDb (const AdminVerifyDbRequest \&request\_) const
  Verify database is in a consistent state.
 
AdminVerifyDbResponse adminVerifyDb (const AdminVerifyDbRequest \&request\_, AdminVerifyDbResponse \&response\_) const
  Verify database is in a consistent state.
 
AdminVerifyDbResponse  adminVerifyDb (const std::map\< std::string, std::string > \&options) const
  Verify database is in a consistent state.
 
AdminVerifyDbResponse adminVerifyDb (const std::map\< std::string, std::string > \&options, AdminVerifyDbResponse \&response\_) const
  Verify database is in a consistent state.
 
AggregateConvexHullResponse  aggregateConvexHull (const AggregateConvexHullRequest \&request\_) const
  Calculates and returns the convex hull for the values in a table specified by tableName.
 
AggregateConvexHullResponse aggregateConvexHull (const AggregateConvexHullRequest \&request\_, AggregateConvexHullResponse \&response\_) const
  Calculates and returns the convex hull for the values in a table specified by tableName.
 
AggregateConvexHullResponse  aggregateConvexHull (const std::string \&tableName, const std::string \&xColumnName, const std::string \&yColumnName, const std::map\< std::string, std::string > \&options) const
  Calculates and returns the convex hull for the values in a table specified by tableName.
 
AggregateConvexHullResponse aggregateConvexHull (const std::string \&tableName, const std::string \&xColumnName, const std::string \&yColumnName, const std::map\< std::string, std::string > \&options, AggregateConvexHullResponse \&response\_) const
  Calculates and returns the convex hull for the values in a table specified by tableName.
 
RawAggregateGroupByResponse  aggregateGroupByRaw (const AggregateGroupByRequest \&request\_) const
  Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.
 
RawAggregateGroupByResponse aggregateGroupByRaw (const AggregateGroupByRequest \&request\_, RawAggregateGroupByResponse \&response\_) const
  Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.
 
AggregateGroupByResponse  aggregateGroupBy (const AggregateGroupByRequest \&request\_) const
  Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.
 
AggregateGroupByResponse aggregateGroupBy (const AggregateGroupByRequest \&request\_, AggregateGroupByResponse \&response\_) const
  Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.
 
AggregateGroupByResponse  aggregateGroupBy (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.
 
AggregateGroupByResponse aggregateGroupBy (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, AggregateGroupByResponse \&response\_) const
  Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.
 
AggregateHistogramResponse  aggregateHistogram (const AggregateHistogramRequest \&request\_) const
  Performs a histogram calculation given a table, a column, and an interval function.
 
AggregateHistogramResponse aggregateHistogram (const AggregateHistogramRequest \&request\_, AggregateHistogramResponse \&response\_) const
  Performs a histogram calculation given a table, a column, and an interval function.
 
AggregateHistogramResponse  aggregateHistogram (const std::string \&tableName, const std::string \&columnName, const double start, const double end, const double interval, const std::map\< std::string, std::string > \&options) const
  Performs a histogram calculation given a table, a column, and an interval function.
 
AggregateHistogramResponse aggregateHistogram (const std::string \&tableName, const std::string \&columnName, const double start, const double end, const double interval, const std::map\< std::string, std::string > \&options, AggregateHistogramResponse \&response\_) const
  Performs a histogram calculation given a table, a column, and an interval function.
 
AggregateKMeansResponse  aggregateKMeans (const AggregateKMeansRequest \&request\_) const
  This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.
 
AggregateKMeansResponse aggregateKMeans (const AggregateKMeansRequest \&request\_, AggregateKMeansResponse \&response\_) const
  This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.
 
AggregateKMeansResponse  aggregateKMeans (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const int32\_t k, const double tolerance, const std::map\< std::string, std::string > \&options) const
  This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.
 
AggregateKMeansResponse aggregateKMeans (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const int32\_t k, const double tolerance, const std::map\< std::string, std::string > \&options, AggregateKMeansResponse \&response\_) const
  This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.
 
AggregateMinMaxResponse  aggregateMinMax (const AggregateMinMaxRequest \&request\_) const
  Calculates and returns the minimum and maximum values of a particular column in a table.
 
AggregateMinMaxResponse aggregateMinMax (const AggregateMinMaxRequest \&request\_, AggregateMinMaxResponse \&response\_) const
  Calculates and returns the minimum and maximum values of a particular column in a table.
 
AggregateMinMaxResponse  aggregateMinMax (const std::string \&tableName, const std::string \&columnName, const std::map\< std::string, std::string > \&options) const
  Calculates and returns the minimum and maximum values of a particular column in a table.
 
AggregateMinMaxResponse aggregateMinMax (const std::string \&tableName, const std::string \&columnName, const std::map\< std::string, std::string > \&options, AggregateMinMaxResponse \&response\_) const
  Calculates and returns the minimum and maximum values of a particular column in a table.
 
AggregateMinMaxGeometryResponse  aggregateMinMaxGeometry (const AggregateMinMaxGeometryRequest \&request\_) const
  Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.
 
AggregateMinMaxGeometryResponse aggregateMinMaxGeometry (const AggregateMinMaxGeometryRequest \&request\_, AggregateMinMaxGeometryResponse \&response\_) const
  Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.
 
AggregateMinMaxGeometryResponse  aggregateMinMaxGeometry (const std::string \&tableName, const std::string \&columnName, const std::map\< std::string, std::string > \&options) const
  Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.
 
AggregateMinMaxGeometryResponse aggregateMinMaxGeometry (const std::string \&tableName, const std::string \&columnName, const std::map\< std::string, std::string > \&options, AggregateMinMaxGeometryResponse \&response\_) const
  Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.
 
AggregateStatisticsResponse  aggregateStatistics (const AggregateStatisticsRequest \&request\_) const
  Calculates the requested statistics of the given column(s) in a given table.
 
AggregateStatisticsResponse aggregateStatistics (const AggregateStatisticsRequest \&request\_, AggregateStatisticsResponse \&response\_) const
  Calculates the requested statistics of the given column(s) in a given table.
 
AggregateStatisticsResponse  aggregateStatistics (const std::string \&tableName, const std::string \&columnName, const std::string \&stats, const std::map\< std::string, std::string > \&options) const
  Calculates the requested statistics of the given column(s) in a given table.
 
AggregateStatisticsResponse aggregateStatistics (const std::string \&tableName, const std::string \&columnName, const std::string \&stats, const std::map\< std::string, std::string > \&options, AggregateStatisticsResponse \&response\_) const
  Calculates the requested statistics of the given column(s) in a given table.
 
AggregateStatisticsByRangeResponse  aggregateStatisticsByRange (const AggregateStatisticsByRangeRequest \&request\_) const
  Divides the given set into bins and calculates statistics of the values of a value-column in each bin.
 
AggregateStatisticsByRangeResponse aggregateStatisticsByRange (const AggregateStatisticsByRangeRequest \&request\_, AggregateStatisticsByRangeResponse \&response\_) const
  Divides the given set into bins and calculates statistics of the values of a value-column in each bin.
 
AggregateStatisticsByRangeResponse  aggregateStatisticsByRange (const std::string \&tableName, const std::string \&selectExpression, const std::string \&columnName, const std::string \&valueColumnName, const std::string \&stats, const double start, const double end, const double interval, const std::map\< std::string, std::string > \&options) const
  Divides the given set into bins and calculates statistics of the values of a value-column in each bin.
 
AggregateStatisticsByRangeResponse aggregateStatisticsByRange (const std::string \&tableName, const std::string \&selectExpression, const std::string \&columnName, const std::string \&valueColumnName, const std::string \&stats, const double start, const double end, const double interval, const std::map\< std::string, std::string > \&options, AggregateStatisticsByRangeResponse \&response\_) const
  Divides the given set into bins and calculates statistics of the values of a value-column in each bin.
 
RawAggregateUniqueResponse  aggregateUniqueRaw (const AggregateUniqueRequest \&request\_) const
  Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).
 
RawAggregateUniqueResponse aggregateUniqueRaw (const AggregateUniqueRequest \&request\_, RawAggregateUniqueResponse \&response\_) const
  Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).
 
AggregateUniqueResponse  aggregateUnique (const AggregateUniqueRequest \&request\_) const
  Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).
 
AggregateUniqueResponse aggregateUnique (const AggregateUniqueRequest \&request\_, AggregateUniqueResponse \&response\_) const
  Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).
 
AggregateUniqueResponse  aggregateUnique (const std::string \&tableName, const std::string \&columnName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).
 
AggregateUniqueResponse aggregateUnique (const std::string \&tableName, const std::string \&columnName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, AggregateUniqueResponse \&response\_) const
  Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).
 
RawAggregateUnpivotResponse  aggregateUnpivotRaw (const AggregateUnpivotRequest \&request\_) const
  Rotate the column values into rows values.
 
RawAggregateUnpivotResponse aggregateUnpivotRaw (const AggregateUnpivotRequest \&request\_, RawAggregateUnpivotResponse \&response\_) const
  Rotate the column values into rows values.
 
AggregateUnpivotResponse  aggregateUnpivot (const AggregateUnpivotRequest \&request\_) const
  Rotate the column values into rows values.
 
AggregateUnpivotResponse aggregateUnpivot (const AggregateUnpivotRequest \&request\_, AggregateUnpivotResponse \&response\_) const
  Rotate the column values into rows values.
 
AggregateUnpivotResponse  aggregateUnpivot (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const std::string \&variableColumnName, const std::string \&valueColumnName, const std::vector\< std::string > \&pivotedColumns, const std::map\< std::string, std::string > \&options) const
  Rotate the column values into rows values.
 
AggregateUnpivotResponse aggregateUnpivot (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const std::string \&variableColumnName, const std::string \&valueColumnName, const std::vector\< std::string > \&pivotedColumns, const std::map\< std::string, std::string > \&options, AggregateUnpivotResponse \&response\_) const
  Rotate the column values into rows values.
 
AlterBackupResponse  alterBackup (const AlterBackupRequest \&request\_) const
  Alters an existing database backup, accessible via the data sink specified by datasinkName.
 
AlterBackupResponse alterBackup (const AlterBackupRequest \&request\_, AlterBackupResponse \&response\_) const
  Alters an existing database backup, accessible via the data sink specified by datasinkName.
 
AlterBackupResponse  alterBackup (const std::string \&backupName, const std::string \&action, const std::string \&value, const std::string \&datasinkName, const std::map\< std::string, std::string > \&options) const
  Alters an existing database backup, accessible via the data sink specified by datasinkName.
 
AlterBackupResponse alterBackup (const std::string \&backupName, const std::string \&action, const std::string \&value, const std::string \&datasinkName, const std::map\< std::string, std::string > \&options, AlterBackupResponse \&response\_) const
  Alters an existing database backup, accessible via the data sink specified by datasinkName.
 
AlterCredentialResponse  alterCredential (const AlterCredentialRequest \&request\_) const
  Alter the properties of an existing credential.
 
AlterCredentialResponse alterCredential (const AlterCredentialRequest \&request\_, AlterCredentialResponse \&response\_) const
  Alter the properties of an existing credential.
 
AlterCredentialResponse  alterCredential (const std::string \&credentialName, const std::map\< std::string, std::string > \&credentialUpdatesMap, const std::map\< std::string, std::string > \&options) const
  Alter the properties of an existing credential.
 
AlterCredentialResponse alterCredential (const std::string \&credentialName, const std::map\< std::string, std::string > \&credentialUpdatesMap, const std::map\< std::string, std::string > \&options, AlterCredentialResponse \&response\_) const
  Alter the properties of an existing credential.
 
AlterDatasinkResponse  alterDatasink (const AlterDatasinkRequest \&request\_) const
  Alters the properties of an existing data sink.
 
AlterDatasinkResponse alterDatasink (const AlterDatasinkRequest \&request\_, AlterDatasinkResponse \&response\_) const
  Alters the properties of an existing data sink.
 
AlterDatasinkResponse  alterDatasink (const std::string \&name, const std::map\< std::string, std::string > \&datasinkUpdatesMap, const std::map\< std::string, std::string > \&options) const
  Alters the properties of an existing data sink.
 
AlterDatasinkResponse alterDatasink (const std::string \&name, const std::map\< std::string, std::string > \&datasinkUpdatesMap, const std::map\< std::string, std::string > \&options, AlterDatasinkResponse \&response\_) const
  Alters the properties of an existing data sink.
 
AlterDatasourceResponse  alterDatasource (const AlterDatasourceRequest \&request\_) const
  Alters the properties of an existing data source.
 
AlterDatasourceResponse alterDatasource (const AlterDatasourceRequest \&request\_, AlterDatasourceResponse \&response\_) const
  Alters the properties of an existing data source.
 
AlterDatasourceResponse  alterDatasource (const std::string \&name, const std::map\< std::string, std::string > \&datasourceUpdatesMap, const std::map\< std::string, std::string > \&options) const
  Alters the properties of an existing data source.
 
AlterDatasourceResponse alterDatasource (const std::string \&name, const std::map\< std::string, std::string > \&datasourceUpdatesMap, const std::map\< std::string, std::string > \&options, AlterDatasourceResponse \&response\_) const
  Alters the properties of an existing data source.
 
AlterDirectoryResponse  alterDirectory (const AlterDirectoryRequest \&request\_) const
  Alters an existing directory in KiFS.
 
AlterDirectoryResponse alterDirectory (const AlterDirectoryRequest \&request\_, AlterDirectoryResponse \&response\_) const
  Alters an existing directory in KiFS.
 
AlterDirectoryResponse  alterDirectory (const std::string \&directoryName, const std::map\< std::string, std::string > \&directoryUpdatesMap, const std::map\< std::string, std::string > \&options) const
  Alters an existing directory in KiFS.
 
AlterDirectoryResponse alterDirectory (const std::string \&directoryName, const std::map\< std::string, std::string > \&directoryUpdatesMap, const std::map\< std::string, std::string > \&options, AlterDirectoryResponse \&response\_) const
  Alters an existing directory in KiFS.
 
AlterEnvironmentResponse  alterEnvironment (const AlterEnvironmentRequest \&request\_) const
  Alters an existing environment which can be referenced by a user-defined function (UDF).
 
AlterEnvironmentResponse alterEnvironment (const AlterEnvironmentRequest \&request\_, AlterEnvironmentResponse \&response\_) const
  Alters an existing environment which can be referenced by a user-defined function (UDF).
 
AlterEnvironmentResponse  alterEnvironment (const std::string \&environmentName, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options) const
  Alters an existing environment which can be referenced by a user-defined function (UDF).
 
AlterEnvironmentResponse alterEnvironment (const std::string \&environmentName, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options, AlterEnvironmentResponse \&response\_) const
  Alters an existing environment which can be referenced by a user-defined function (UDF).
 
AlterResourceGroupResponse  alterResourceGroup (const AlterResourceGroupRequest \&request\_) const
  Alters the properties of an existing resource group to facilitate resource management.
 
AlterResourceGroupResponse alterResourceGroup (const AlterResourceGroupRequest \&request\_, AlterResourceGroupResponse \&response\_) const
  Alters the properties of an existing resource group to facilitate resource management.
 
AlterResourceGroupResponse  alterResourceGroup (const std::string \&name, const std::map\< std::string, std::map\< std::string, std::string > > \&tierAttributes, const std::string \&ranking, const std::string \&adjoiningResourceGroup, const std::map\< std::string, std::string > \&options) const
  Alters the properties of an existing resource group to facilitate resource management.
 
AlterResourceGroupResponse alterResourceGroup (const std::string \&name, const std::map\< std::string, std::map\< std::string, std::string > > \&tierAttributes, const std::string \&ranking, const std::string \&adjoiningResourceGroup, const std::map\< std::string, std::string > \&options, AlterResourceGroupResponse \&response\_) const
  Alters the properties of an existing resource group to facilitate resource management.
 
AlterRoleResponse  alterRole (const AlterRoleRequest \&request\_) const
  Alters a Role.
 
AlterRoleResponse alterRole (const AlterRoleRequest \&request\_, AlterRoleResponse \&response\_) const
  Alters a Role.
 
AlterRoleResponse  alterRole (const std::string \&name, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options) const
  Alters a Role.
 
AlterRoleResponse alterRole (const std::string \&name, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options, AlterRoleResponse \&response\_) const
  Alters a Role.
 
AlterSchemaResponse  alterSchema (const AlterSchemaRequest \&request\_) const
  Used to change the name of a SQL-style schema, specified in schemaName.
 
AlterSchemaResponse alterSchema (const AlterSchemaRequest \&request\_, AlterSchemaResponse \&response\_) const
  Used to change the name of a SQL-style schema, specified in schemaName.
 
AlterSchemaResponse  alterSchema (const std::string \&schemaName, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options) const
  Used to change the name of a SQL-style schema, specified in schemaName.
 
AlterSchemaResponse alterSchema (const std::string \&schemaName, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options, AlterSchemaResponse \&response\_) const
  Used to change the name of a SQL-style schema, specified in schemaName.
 
AlterSystemPropertiesResponse  alterSystemProperties (const AlterSystemPropertiesRequest \&request\_) const
  The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.
 
AlterSystemPropertiesResponse alterSystemProperties (const AlterSystemPropertiesRequest \&request\_, AlterSystemPropertiesResponse \&response\_) const
  The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.
 
AlterSystemPropertiesResponse  alterSystemProperties (const std::map\< std::string, std::string > \&propertyUpdatesMap, const std::map\< std::string, std::string > \&options) const
  The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.
 
AlterSystemPropertiesResponse alterSystemProperties (const std::map\< std::string, std::string > \&propertyUpdatesMap, const std::map\< std::string, std::string > \&options, AlterSystemPropertiesResponse \&response\_) const
  The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.
 
AlterTableResponse  alterTable (const AlterTableRequest \&request\_) const
  Apply various modifications to a table or view.
 
AlterTableResponse alterTable (const AlterTableRequest \&request\_, AlterTableResponse \&response\_) const
  Apply various modifications to a table or view.
 
AlterTableResponse  alterTable (const std::string \&tableName, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options) const
  Apply various modifications to a table or view.
 
AlterTableResponse alterTable (const std::string \&tableName, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options, AlterTableResponse \&response\_) const
  Apply various modifications to a table or view.
 
AlterTableColumnsResponse  alterTableColumns (const AlterTableColumnsRequest \&request\_) const
  Apply various modifications to columns in a table, view.
 
AlterTableColumnsResponse alterTableColumns (const AlterTableColumnsRequest \&request\_, AlterTableColumnsResponse \&response\_) const
  Apply various modifications to columns in a table, view.
 
AlterTableColumnsResponse  alterTableColumns (const std::string \&tableName, const std::vector\< std::map\< std::string, std::string > > \&columnAlterations, const std::map\< std::string, std::string > \&options) const
  Apply various modifications to columns in a table, view.
 
AlterTableColumnsResponse alterTableColumns (const std::string \&tableName, const std::vector\< std::map\< std::string, std::string > > \&columnAlterations, const std::map\< std::string, std::string > \&options, AlterTableColumnsResponse \&response\_) const
  Apply various modifications to columns in a table, view.
 
AlterTableMetadataResponse  alterTableMetadata (const AlterTableMetadataRequest \&request\_) const
  Updates (adds or changes) metadata for tables.
 
AlterTableMetadataResponse alterTableMetadata (const AlterTableMetadataRequest \&request\_, AlterTableMetadataResponse \&response\_) const
  Updates (adds or changes) metadata for tables.
 
AlterTableMetadataResponse  alterTableMetadata (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&metadataMap, const std::map\< std::string, std::string > \&options) const
  Updates (adds or changes) metadata for tables.
 
AlterTableMetadataResponse alterTableMetadata (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&metadataMap, const std::map\< std::string, std::string > \&options, AlterTableMetadataResponse \&response\_) const
  Updates (adds or changes) metadata for tables.
 
AlterTableMonitorResponse  alterTableMonitor (const AlterTableMonitorRequest \&request\_) const
  Alters a table monitor previously created with createTableMonitor.
 
AlterTableMonitorResponse alterTableMonitor (const AlterTableMonitorRequest \&request\_, AlterTableMonitorResponse \&response\_) const
  Alters a table monitor previously created with createTableMonitor.
 
AlterTableMonitorResponse  alterTableMonitor (const std::string \&topicId, const std::map\< std::string, std::string > \&monitorUpdatesMap, const std::map\< std::string, std::string > \&options) const
  Alters a table monitor previously created with createTableMonitor.
 
AlterTableMonitorResponse alterTableMonitor (const std::string \&topicId, const std::map\< std::string, std::string > \&monitorUpdatesMap, const std::map\< std::string, std::string > \&options, AlterTableMonitorResponse \&response\_) const
  Alters a table monitor previously created with createTableMonitor.
 
AlterTierResponse  alterTier (const AlterTierRequest \&request\_) const
  Alters properties of an existing tier to facilitate resource management.
 
AlterTierResponse alterTier (const AlterTierRequest \&request\_, AlterTierResponse \&response\_) const
  Alters properties of an existing tier to facilitate resource management.
 
AlterTierResponse  alterTier (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Alters properties of an existing tier to facilitate resource management.
 
AlterTierResponse alterTier (const std::string \&name, const std::map\< std::string, std::string > \&options, AlterTierResponse \&response\_) const
  Alters properties of an existing tier to facilitate resource management.
 
AlterUserResponse  alterUser (const AlterUserRequest \&request\_) const
  Alters a user.
 
AlterUserResponse alterUser (const AlterUserRequest \&request\_, AlterUserResponse \&response\_) const
  Alters a user.
 
AlterUserResponse  alterUser (const std::string \&name, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options) const
  Alters a user.
 
AlterUserResponse alterUser (const std::string \&name, const std::string \&action, const std::string \&value, const std::map\< std::string, std::string > \&options, AlterUserResponse \&response\_) const
  Alters a user.
 
AlterVideoResponse  alterVideo (const AlterVideoRequest \&request\_) const
  Alters a video.
 
AlterVideoResponse alterVideo (const AlterVideoRequest \&request\_, AlterVideoResponse \&response\_) const
  Alters a video.
 
AlterVideoResponse  alterVideo (const std::string \&path, const std::map\< std::string, std::string > \&options) const
  Alters a video.
 
AlterVideoResponse alterVideo (const std::string \&path, const std::map\< std::string, std::string > \&options, AlterVideoResponse \&response\_) const
  Alters a video.
 
AlterWalResponse  alterWal (const AlterWalRequest \&request\_) const
  Alters table write-ahead log (WAL) settings.
 
AlterWalResponse alterWal (const AlterWalRequest \&request\_, AlterWalResponse \&response\_) const
  Alters table write-ahead log (WAL) settings.
 
AlterWalResponse  alterWal (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options) const
  Alters table write-ahead log (WAL) settings.
 
AlterWalResponse alterWal (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options, AlterWalResponse \&response\_) const
  Alters table write-ahead log (WAL) settings.
 
AppendRecordsResponse  appendRecords (const AppendRecordsRequest \&request\_) const
  Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).
 
AppendRecordsResponse appendRecords (const AppendRecordsRequest \&request\_, AppendRecordsResponse \&response\_) const
  Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).
 
AppendRecordsResponse  appendRecords (const std::string \&tableName, const std::string \&sourceTableName, const std::map\< std::string, std::string > \&fieldMap, const std::map\< std::string, std::string > \&options) const
  Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).
 
AppendRecordsResponse appendRecords (const std::string \&tableName, const std::string \&sourceTableName, const std::map\< std::string, std::string > \&fieldMap, const std::map\< std::string, std::string > \&options, AppendRecordsResponse \&response\_) const
  Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).
 
CheckTableResponse  checkTable (const CheckTableRequest \&request\_) const
  Scans the requested tables as specified in tableNames for integrity.
 
CheckTableResponse checkTable (const CheckTableRequest \&request\_, CheckTableResponse \&response\_) const
  Scans the requested tables as specified in tableNames for integrity.
 
CheckTableResponse  checkTable (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options) const
  Scans the requested tables as specified in tableNames for integrity.
 
CheckTableResponse checkTable (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options, CheckTableResponse \&response\_) const
  Scans the requested tables as specified in tableNames for integrity.
 
ClearStatisticsResponse  clearStatistics (const ClearStatisticsRequest \&request\_) const
  Clears statistics (cardinality, mean value, etc.) for a column in a specified table.
 
ClearStatisticsResponse clearStatistics (const ClearStatisticsRequest \&request\_, ClearStatisticsResponse \&response\_) const
  Clears statistics (cardinality, mean value, etc.) for a column in a specified table.
 
ClearStatisticsResponse  clearStatistics (const std::string \&tableName, const std::string \&columnName, const std::map\< std::string, std::string > \&options) const
  Clears statistics (cardinality, mean value, etc.) for a column in a specified table.
 
ClearStatisticsResponse clearStatistics (const std::string \&tableName, const std::string \&columnName, const std::map\< std::string, std::string > \&options, ClearStatisticsResponse \&response\_) const
  Clears statistics (cardinality, mean value, etc.) for a column in a specified table.
 
ClearTableResponse  clearTable (const ClearTableRequest \&request\_) const
  Clears (drops) one or all tables in the database cluster.
 
ClearTableResponse clearTable (const ClearTableRequest \&request\_, ClearTableResponse \&response\_) const
  Clears (drops) one or all tables in the database cluster.
 
ClearTableResponse  clearTable (const std::string \&tableName, const std::string \&authorization, const std::map\< std::string, std::string > \&options) const
  Clears (drops) one or all tables in the database cluster.
 
ClearTableResponse clearTable (const std::string \&tableName, const std::string \&authorization, const std::map\< std::string, std::string > \&options, ClearTableResponse \&response\_) const
  Clears (drops) one or all tables in the database cluster.
 
ClearTableMonitorResponse  clearTableMonitor (const ClearTableMonitorRequest \&request\_) const
  Deactivates a table monitor previously created with createTableMonitor.
 
ClearTableMonitorResponse clearTableMonitor (const ClearTableMonitorRequest \&request\_, ClearTableMonitorResponse \&response\_) const
  Deactivates a table monitor previously created with createTableMonitor.
 
ClearTableMonitorResponse  clearTableMonitor (const std::string \&topicId, const std::map\< std::string, std::string > \&options) const
  Deactivates a table monitor previously created with createTableMonitor.
 
ClearTableMonitorResponse clearTableMonitor (const std::string \&topicId, const std::map\< std::string, std::string > \&options, ClearTableMonitorResponse \&response\_) const
  Deactivates a table monitor previously created with createTableMonitor.
 
ClearTablesResponse  clearTables (const ClearTablesRequest \&request\_) const
  Clears (drops) tables in the database cluster.
 
ClearTablesResponse clearTables (const ClearTablesRequest \&request\_, ClearTablesResponse \&response\_) const
  Clears (drops) tables in the database cluster.
 
ClearTablesResponse  clearTables (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options) const
  Clears (drops) tables in the database cluster.
 
ClearTablesResponse clearTables (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options, ClearTablesResponse \&response\_) const
  Clears (drops) tables in the database cluster.
 
ClearTriggerResponse  clearTrigger (const ClearTriggerRequest \&request\_) const
  Clears or cancels the trigger identified by the specified handle.
 
ClearTriggerResponse clearTrigger (const ClearTriggerRequest \&request\_, ClearTriggerResponse \&response\_) const
  Clears or cancels the trigger identified by the specified handle.
 
ClearTriggerResponse  clearTrigger (const std::string \&triggerId, const std::map\< std::string, std::string > \&options) const
  Clears or cancels the trigger identified by the specified handle.
 
ClearTriggerResponse clearTrigger (const std::string \&triggerId, const std::map\< std::string, std::string > \&options, ClearTriggerResponse \&response\_) const
  Clears or cancels the trigger identified by the specified handle.
 
CollectStatisticsResponse  collectStatistics (const CollectStatisticsRequest \&request\_) const
  Collect statistics for a column(s) in a specified table.
 
CollectStatisticsResponse collectStatistics (const CollectStatisticsRequest \&request\_, CollectStatisticsResponse \&response\_) const
  Collect statistics for a column(s) in a specified table.
 
CollectStatisticsResponse  collectStatistics (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const std::map\< std::string, std::string > \&options) const
  Collect statistics for a column(s) in a specified table.
 
CollectStatisticsResponse collectStatistics (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const std::map\< std::string, std::string > \&options, CollectStatisticsResponse \&response\_) const
  Collect statistics for a column(s) in a specified table.
 
CreateBackupResponse  createBackup (const CreateBackupRequest \&request\_) const
  Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.
 
CreateBackupResponse createBackup (const CreateBackupRequest \&request\_, CreateBackupResponse \&response\_) const
  Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.
 
CreateBackupResponse  createBackup (const std::string \&backupName, const std::string \&backupType, const std::map\< std::string, std::string > \&backupObjectsMap, const std::string \&datasinkName, const std::map\< std::string, std::string > \&options) const
  Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.
 
CreateBackupResponse createBackup (const std::string \&backupName, const std::string \&backupType, const std::map\< std::string, std::string > \&backupObjectsMap, const std::string \&datasinkName, const std::map\< std::string, std::string > \&options, CreateBackupResponse \&response\_) const
  Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.
 
CreateCatalogResponse  createCatalog (const CreateCatalogRequest \&request\_) const
  Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.
 
CreateCatalogResponse createCatalog (const CreateCatalogRequest \&request\_, CreateCatalogResponse \&response\_) const
  Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.
 
CreateCatalogResponse  createCatalog (const std::string \&name, const std::string \&tableFormat, const std::string \&location, const std::string \&type, const std::string \&credential, const std::string \&datasource, const std::map\< std::string, std::string > \&options) const
  Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.
 
CreateCatalogResponse createCatalog (const std::string \&name, const std::string \&tableFormat, const std::string \&location, const std::string \&type, const std::string \&credential, const std::string \&datasource, const std::map\< std::string, std::string > \&options, CreateCatalogResponse \&response\_) const
  Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.
 
CreateCredentialResponse  createCredential (const CreateCredentialRequest \&request\_) const
  Create a new credential.
 
CreateCredentialResponse createCredential (const CreateCredentialRequest \&request\_, CreateCredentialResponse \&response\_) const
  Create a new credential.
 
CreateCredentialResponse  createCredential (const std::string \&credentialName, const std::string \&type, const std::string \&identity, const std::string \&secret, const std::map\< std::string, std::string > \&options) const
  Create a new credential.
 
CreateCredentialResponse createCredential (const std::string \&credentialName, const std::string \&type, const std::string \&identity, const std::string \&secret, const std::map\< std::string, std::string > \&options, CreateCredentialResponse \&response\_) const
  Create a new credential.
 
CreateDatasinkResponse  createDatasink (const CreateDatasinkRequest \&request\_) const
  Creates a data sink, which contains the destination information for a data sink that is external to the database.
 
CreateDatasinkResponse createDatasink (const CreateDatasinkRequest \&request\_, CreateDatasinkResponse \&response\_) const
  Creates a data sink, which contains the destination information for a data sink that is external to the database.
 
CreateDatasinkResponse  createDatasink (const std::string \&name, const std::string \&destination, const std::map\< std::string, std::string > \&options) const
  Creates a data sink, which contains the destination information for a data sink that is external to the database.
 
CreateDatasinkResponse createDatasink (const std::string \&name, const std::string \&destination, const std::map\< std::string, std::string > \&options, CreateDatasinkResponse \&response\_) const
  Creates a data sink, which contains the destination information for a data sink that is external to the database.
 
CreateDatasourceResponse  createDatasource (const CreateDatasourceRequest \&request\_) const
  Creates a data source, which contains the location and connection information for a data store that is external to the database.
 
CreateDatasourceResponse createDatasource (const CreateDatasourceRequest \&request\_, CreateDatasourceResponse \&response\_) const
  Creates a data source, which contains the location and connection information for a data store that is external to the database.
 
CreateDatasourceResponse  createDatasource (const std::string \&name, const std::string \&location, const std::string \&userName, const std::string \&password, const std::map\< std::string, std::string > \&options) const
  Creates a data source, which contains the location and connection information for a data store that is external to the database.
 
CreateDatasourceResponse createDatasource (const std::string \&name, const std::string \&location, const std::string \&userName, const std::string \&password, const std::map\< std::string, std::string > \&options, CreateDatasourceResponse \&response\_) const
  Creates a data source, which contains the location and connection information for a data store that is external to the database.
 
CreateDirectoryResponse  createDirectory (const CreateDirectoryRequest \&request\_) const
  Creates a new directory in KiFS.
 
CreateDirectoryResponse createDirectory (const CreateDirectoryRequest \&request\_, CreateDirectoryResponse \&response\_) const
  Creates a new directory in KiFS.
 
CreateDirectoryResponse  createDirectory (const std::string \&directoryName, const std::map\< std::string, std::string > \&options) const
  Creates a new directory in KiFS.
 
CreateDirectoryResponse createDirectory (const std::string \&directoryName, const std::map\< std::string, std::string > \&options, CreateDirectoryResponse \&response\_) const
  Creates a new directory in KiFS.
 
CreateEnvironmentResponse  createEnvironment (const CreateEnvironmentRequest \&request\_) const
  Creates a new environment which can be used by user-defined functions (UDF).
 
CreateEnvironmentResponse createEnvironment (const CreateEnvironmentRequest \&request\_, CreateEnvironmentResponse \&response\_) const
  Creates a new environment which can be used by user-defined functions (UDF).
 
CreateEnvironmentResponse  createEnvironment (const std::string \&environmentName, const std::map\< std::string, std::string > \&options) const
  Creates a new environment which can be used by user-defined functions (UDF).
 
CreateEnvironmentResponse createEnvironment (const std::string \&environmentName, const std::map\< std::string, std::string > \&options, CreateEnvironmentResponse \&response\_) const
  Creates a new environment which can be used by user-defined functions (UDF).
 
CreateGraphResponse  createGraph (const CreateGraphRequest \&request\_) const
  Creates a new graph network using given nodes, edges, weights, and restrictions.
 
CreateGraphResponse createGraph (const CreateGraphRequest \&request\_, CreateGraphResponse \&response\_) const
  Creates a new graph network using given nodes, edges, weights, and restrictions.
 
CreateGraphResponse  createGraph (const std::string \&graphName, const bool directedGraph, const std::vector\< std::string > \&nodes, const std::vector\< std::string > \&edges, const std::vector\< std::string > \&weights, const std::vector\< std::string > \&restrictions, const std::map\< std::string, std::string > \&options) const
  Creates a new graph network using given nodes, edges, weights, and restrictions.
 
CreateGraphResponse createGraph (const std::string \&graphName, const bool directedGraph, const std::vector\< std::string > \&nodes, const std::vector\< std::string > \&edges, const std::vector\< std::string > \&weights, const std::vector\< std::string > \&restrictions, const std::map\< std::string, std::string > \&options, CreateGraphResponse \&response\_) const
  Creates a new graph network using given nodes, edges, weights, and restrictions.
 
CreateJobResponse  createJob (const CreateJobRequest \&request\_) const
  Create a job which will run asynchronously.
 
CreateJobResponse createJob (const CreateJobRequest \&request\_, CreateJobResponse \&response\_) const
  Create a job which will run asynchronously.
 
CreateJobResponse  createJob (const std::string \&endpoint, const std::string \&requestEncoding, const std::vector\< uint8\_t > \&data, const std::string \&dataStr, const std::map\< std::string, std::string > \&options) const
  Create a job which will run asynchronously.
 
CreateJobResponse createJob (const std::string \&endpoint, const std::string \&requestEncoding, const std::vector\< uint8\_t > \&data, const std::string \&dataStr, const std::map\< std::string, std::string > \&options, CreateJobResponse \&response\_) const
  Create a job which will run asynchronously.
 
CreateJoinTableResponse  createJoinTable (const CreateJoinTableRequest \&request\_) const
  Creates a table that is the result of a SQL JOIN.
 
CreateJoinTableResponse createJoinTable (const CreateJoinTableRequest \&request\_, CreateJoinTableResponse \&response\_) const
  Creates a table that is the result of a SQL JOIN.
 
CreateJoinTableResponse  createJoinTable (const std::string \&joinTableName, const std::vector\< std::string > \&tableNames, const std::vector\< std::string > \&columnNames, const std::vector\< std::string > \&expressions, const std::map\< std::string, std::string > \&options) const
  Creates a table that is the result of a SQL JOIN.
 
CreateJoinTableResponse createJoinTable (const std::string \&joinTableName, const std::vector\< std::string > \&tableNames, const std::vector\< std::string > \&columnNames, const std::vector\< std::string > \&expressions, const std::map\< std::string, std::string > \&options, CreateJoinTableResponse \&response\_) const
  Creates a table that is the result of a SQL JOIN.
 
CreateMaterializedViewResponse  createMaterializedView (const CreateMaterializedViewRequest \&request\_) const
  Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.
 
CreateMaterializedViewResponse createMaterializedView (const CreateMaterializedViewRequest \&request\_, CreateMaterializedViewResponse \&response\_) const
  Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.
 
CreateMaterializedViewResponse  createMaterializedView (const std::string \&tableName, const std::map\< std::string, std::string > \&options) const
  Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.
 
CreateMaterializedViewResponse createMaterializedView (const std::string \&tableName, const std::map\< std::string, std::string > \&options, CreateMaterializedViewResponse \&response\_) const
  Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.
 
CreateProcResponse  createProc (const CreateProcRequest \&request\_) const
  Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.
 
CreateProcResponse createProc (const CreateProcRequest \&request\_, CreateProcResponse \&response\_) const
  Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.
 
CreateProcResponse  createProc (const std::string \&procName, const std::string \&executionMode, const std::map\< std::string, std::vector\< uint8\_t > > \&files, const std::string \&command, const std::vector\< std::string > \&args, const std::map\< std::string, std::string > \&options) const
  Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.
 
CreateProcResponse createProc (const std::string \&procName, const std::string \&executionMode, const std::map\< std::string, std::vector\< uint8\_t > > \&files, const std::string \&command, const std::vector\< std::string > \&args, const std::map\< std::string, std::string > \&options, CreateProcResponse \&response\_) const
  Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.
 
CreateProjectionResponse  createProjection (const CreateProjectionRequest \&request\_) const
  Creates a new projection of an existing table.
 
CreateProjectionResponse createProjection (const CreateProjectionRequest \&request\_, CreateProjectionResponse \&response\_) const
  Creates a new projection of an existing table.
 
CreateProjectionResponse  createProjection (const std::string \&tableName, const std::string \&projectionName, const std::vector\< std::string > \&columnNames, const std::map\< std::string, std::string > \&options) const
  Creates a new projection of an existing table.
 
CreateProjectionResponse createProjection (const std::string \&tableName, const std::string \&projectionName, const std::vector\< std::string > \&columnNames, const std::map\< std::string, std::string > \&options, CreateProjectionResponse \&response\_) const
  Creates a new projection of an existing table.
 
CreateResourceGroupResponse  createResourceGroup (const CreateResourceGroupRequest \&request\_) const
  Creates a new resource group to facilitate resource management.
 
CreateResourceGroupResponse createResourceGroup (const CreateResourceGroupRequest \&request\_, CreateResourceGroupResponse \&response\_) const
  Creates a new resource group to facilitate resource management.
 
CreateResourceGroupResponse  createResourceGroup (const std::string \&name, const std::map\< std::string, std::map\< std::string, std::string > > \&tierAttributes, const std::string \&ranking, const std::string \&adjoiningResourceGroup, const std::map\< std::string, std::string > \&options) const
  Creates a new resource group to facilitate resource management.
 
CreateResourceGroupResponse createResourceGroup (const std::string \&name, const std::map\< std::string, std::map\< std::string, std::string > > \&tierAttributes, const std::string \&ranking, const std::string \&adjoiningResourceGroup, const std::map\< std::string, std::string > \&options, CreateResourceGroupResponse \&response\_) const
  Creates a new resource group to facilitate resource management.
 
CreateRoleResponse  createRole (const CreateRoleRequest \&request\_) const
  Creates a new role.
 
CreateRoleResponse createRole (const CreateRoleRequest \&request\_, CreateRoleResponse \&response\_) const
  Creates a new role.
 
CreateRoleResponse  createRole (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Creates a new role.
 
CreateRoleResponse createRole (const std::string \&name, const std::map\< std::string, std::string > \&options, CreateRoleResponse \&response\_) const
  Creates a new role.
 
CreateSchemaResponse  createSchema (const CreateSchemaRequest \&request\_) const
  Creates a SQL-style schema.
 
CreateSchemaResponse createSchema (const CreateSchemaRequest \&request\_, CreateSchemaResponse \&response\_) const
  Creates a SQL-style schema.
 
CreateSchemaResponse  createSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options) const
  Creates a SQL-style schema.
 
CreateSchemaResponse createSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options, CreateSchemaResponse \&response\_) const
  Creates a SQL-style schema.
 
CreateTableResponse  createTable (const CreateTableRequest \&request\_) const
  Creates a new table with the given type (definition of columns).
 
CreateTableResponse createTable (const CreateTableRequest \&request\_, CreateTableResponse \&response\_) const
  Creates a new table with the given type (definition of columns).
 
CreateTableResponse  createTable (const std::string \&tableName, const std::string \&typeId, const std::map\< std::string, std::string > \&options) const
  Creates a new table with the given type (definition of columns).
 
CreateTableResponse createTable (const std::string \&tableName, const std::string \&typeId, const std::map\< std::string, std::string > \&options, CreateTableResponse \&response\_) const
  Creates a new table with the given type (definition of columns).
 
CreateTableExternalResponse  createTableExternal (const CreateTableExternalRequest \&request\_) const
  Creates a new external table, which is a local database object whose source data is located externally to the database.
 
CreateTableExternalResponse createTableExternal (const CreateTableExternalRequest \&request\_, CreateTableExternalResponse \&response\_) const
  Creates a new external table, which is a local database object whose source data is located externally to the database.
 
CreateTableExternalResponse  createTableExternal (const std::string \&tableName, const std::vector\< std::string > \&filepaths, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options) const
  Creates a new external table, which is a local database object whose source data is located externally to the database.
 
CreateTableExternalResponse createTableExternal (const std::string \&tableName, const std::vector\< std::string > \&filepaths, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options, CreateTableExternalResponse \&response\_) const
  Creates a new external table, which is a local database object whose source data is located externally to the database.
 
CreateTableMonitorResponse  createTableMonitor (const CreateTableMonitorRequest \&request\_) const
  Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.
 
CreateTableMonitorResponse createTableMonitor (const CreateTableMonitorRequest \&request\_, CreateTableMonitorResponse \&response\_) const
  Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.
 
CreateTableMonitorResponse  createTableMonitor (const std::string \&tableName, const std::map\< std::string, std::string > \&options) const
  Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.
 
CreateTableMonitorResponse createTableMonitor (const std::string \&tableName, const std::map\< std::string, std::string > \&options, CreateTableMonitorResponse \&response\_) const
  Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.
 
CreateTriggerByAreaResponse  createTriggerByArea (const CreateTriggerByAreaRequest \&request\_) const
  Sets up an area trigger mechanism for two column\_names for one or more tables.
 
CreateTriggerByAreaResponse createTriggerByArea (const CreateTriggerByAreaRequest \&request\_, CreateTriggerByAreaResponse \&response\_) const
  Sets up an area trigger mechanism for two column\_names for one or more tables.
 
CreateTriggerByAreaResponse  createTriggerByArea (const std::string \&requestId, const std::vector\< std::string > \&tableNames, const std::string \&xColumnName, const std::vector\< double > \&xVector, const std::string \&yColumnName, const std::vector\< double > \&yVector, const std::map\< std::string, std::string > \&options) const
  Sets up an area trigger mechanism for two column\_names for one or more tables.
 
CreateTriggerByAreaResponse createTriggerByArea (const std::string \&requestId, const std::vector\< std::string > \&tableNames, const std::string \&xColumnName, const std::vector\< double > \&xVector, const std::string \&yColumnName, const std::vector\< double > \&yVector, const std::map\< std::string, std::string > \&options, CreateTriggerByAreaResponse \&response\_) const
  Sets up an area trigger mechanism for two column\_names for one or more tables.
 
CreateTriggerByRangeResponse  createTriggerByRange (const CreateTriggerByRangeRequest \&request\_) const
  Sets up a simple range trigger for a column\_name for one or more tables.
 
CreateTriggerByRangeResponse createTriggerByRange (const CreateTriggerByRangeRequest \&request\_, CreateTriggerByRangeResponse \&response\_) const
  Sets up a simple range trigger for a column\_name for one or more tables.
 
CreateTriggerByRangeResponse  createTriggerByRange (const std::string \&requestId, const std::vector\< std::string > \&tableNames, const std::string \&columnName, const double min, const double max, const std::map\< std::string, std::string > \&options) const
  Sets up a simple range trigger for a column\_name for one or more tables.
 
CreateTriggerByRangeResponse createTriggerByRange (const std::string \&requestId, const std::vector\< std::string > \&tableNames, const std::string \&columnName, const double min, const double max, const std::map\< std::string, std::string > \&options, CreateTriggerByRangeResponse \&response\_) const
  Sets up a simple range trigger for a column\_name for one or more tables.
 
CreateTypeResponse  createType (const CreateTypeRequest \&request\_) const
  Creates a new type describing the columns of a table.
 
CreateTypeResponse createType (const CreateTypeRequest \&request\_, CreateTypeResponse \&response\_) const
  Creates a new type describing the columns of a table.
 
CreateTypeResponse  createType (const std::string \&typeDefinition, const std::string \&label, const std::map\< std::string, std::vector\< std::string > > \&properties, const std::map\< std::string, std::string > \&options) const
  Creates a new type describing the columns of a table.
 
CreateTypeResponse createType (const std::string \&typeDefinition, const std::string \&label, const std::map\< std::string, std::vector\< std::string > > \&properties, const std::map\< std::string, std::string > \&options, CreateTypeResponse \&response\_) const
  Creates a new type describing the columns of a table.
 
CreateUnionResponse  createUnion (const CreateUnionRequest \&request\_) const
  Merges data from one or more tables with comparable data types into a new table.
 
CreateUnionResponse createUnion (const CreateUnionRequest \&request\_, CreateUnionResponse \&response\_) const
  Merges data from one or more tables with comparable data types into a new table.
 
CreateUnionResponse  createUnion (const std::string \&tableName, const std::vector\< std::string > \&tableNames, const std::vector\< std::vector\< std::string > > \&inputColumnNames, const std::vector\< std::string > \&outputColumnNames, const std::map\< std::string, std::string > \&options) const
  Merges data from one or more tables with comparable data types into a new table.
 
CreateUnionResponse createUnion (const std::string \&tableName, const std::vector\< std::string > \&tableNames, const std::vector\< std::vector\< std::string > > \&inputColumnNames, const std::vector\< std::string > \&outputColumnNames, const std::map\< std::string, std::string > \&options, CreateUnionResponse \&response\_) const
  Merges data from one or more tables with comparable data types into a new table.
 
CreateUserExternalResponse  createUserExternal (const CreateUserExternalRequest \&request\_) const
  Creates a new external user (a user whose credentials are managed by an external LDAP).
 
CreateUserExternalResponse createUserExternal (const CreateUserExternalRequest \&request\_, CreateUserExternalResponse \&response\_) const
  Creates a new external user (a user whose credentials are managed by an external LDAP).
 
CreateUserExternalResponse  createUserExternal (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Creates a new external user (a user whose credentials are managed by an external LDAP).
 
CreateUserExternalResponse createUserExternal (const std::string \&name, const std::map\< std::string, std::string > \&options, CreateUserExternalResponse \&response\_) const
  Creates a new external user (a user whose credentials are managed by an external LDAP).
 
CreateUserInternalResponse  createUserInternal (const CreateUserInternalRequest \&request\_) const
  Creates a new internal user (a user whose credentials are managed by the database system).
 
CreateUserInternalResponse createUserInternal (const CreateUserInternalRequest \&request\_, CreateUserInternalResponse \&response\_) const
  Creates a new internal user (a user whose credentials are managed by the database system).
 
CreateUserInternalResponse  createUserInternal (const std::string \&name, const std::string \&password, const std::map\< std::string, std::string > \&options) const
  Creates a new internal user (a user whose credentials are managed by the database system).
 
CreateUserInternalResponse createUserInternal (const std::string \&name, const std::string \&password, const std::map\< std::string, std::string > \&options, CreateUserInternalResponse \&response\_) const
  Creates a new internal user (a user whose credentials are managed by the database system).
 
CreateVideoResponse  createVideo (const CreateVideoRequest \&request\_) const
  Creates a job to generate a sequence of raster images that visualize data over a specified time.
 
CreateVideoResponse createVideo (const CreateVideoRequest \&request\_, CreateVideoResponse \&response\_) const
  Creates a job to generate a sequence of raster images that visualize data over a specified time.
 
CreateVideoResponse  createVideo (const std::string \&attribute, const std::string \&begin, const double durationSeconds, const std::string \&end, const double framesPerSecond, const std::string \&style, const std::string \&path, const std::string \&styleParameters, const std::map\< std::string, std::string > \&options) const
  Creates a job to generate a sequence of raster images that visualize data over a specified time.
 
CreateVideoResponse createVideo (const std::string \&attribute, const std::string \&begin, const double durationSeconds, const std::string \&end, const double framesPerSecond, const std::string \&style, const std::string \&path, const std::string \&styleParameters, const std::map\< std::string, std::string > \&options, CreateVideoResponse \&response\_) const
  Creates a job to generate a sequence of raster images that visualize data over a specified time.
 
DeleteDirectoryResponse  deleteDirectory (const DeleteDirectoryRequest \&request\_) const
  Deletes a directory from KiFS.
 
DeleteDirectoryResponse deleteDirectory (const DeleteDirectoryRequest \&request\_, DeleteDirectoryResponse \&response\_) const
  Deletes a directory from KiFS.
 
DeleteDirectoryResponse  deleteDirectory (const std::string \&directoryName, const std::map\< std::string, std::string > \&options) const
  Deletes a directory from KiFS.
 
DeleteDirectoryResponse deleteDirectory (const std::string \&directoryName, const std::map\< std::string, std::string > \&options, DeleteDirectoryResponse \&response\_) const
  Deletes a directory from KiFS.
 
DeleteFilesResponse  deleteFiles (const DeleteFilesRequest \&request\_) const
  Deletes one or more files from KiFS.
 
DeleteFilesResponse deleteFiles (const DeleteFilesRequest \&request\_, DeleteFilesResponse \&response\_) const
  Deletes one or more files from KiFS.
 
DeleteFilesResponse  deleteFiles (const std::vector\< std::string > \&fileNames, const std::map\< std::string, std::string > \&options) const
  Deletes one or more files from KiFS.
 
DeleteFilesResponse deleteFiles (const std::vector\< std::string > \&fileNames, const std::map\< std::string, std::string > \&options, DeleteFilesResponse \&response\_) const
  Deletes one or more files from KiFS.
 
DeleteGraphResponse  deleteGraph (const DeleteGraphRequest \&request\_) const
  Deletes an existing graph from the graph server and/or persist.
 
DeleteGraphResponse deleteGraph (const DeleteGraphRequest \&request\_, DeleteGraphResponse \&response\_) const
  Deletes an existing graph from the graph server and/or persist.
 
DeleteGraphResponse  deleteGraph (const std::string \&graphName, const std::map\< std::string, std::string > \&options) const
  Deletes an existing graph from the graph server and/or persist.
 
DeleteGraphResponse deleteGraph (const std::string \&graphName, const std::map\< std::string, std::string > \&options, DeleteGraphResponse \&response\_) const
  Deletes an existing graph from the graph server and/or persist.
 
DeleteProcResponse  deleteProc (const DeleteProcRequest \&request\_) const
  Deletes a proc.
 
DeleteProcResponse deleteProc (const DeleteProcRequest \&request\_, DeleteProcResponse \&response\_) const
  Deletes a proc.
 
DeleteProcResponse  deleteProc (const std::string \&procName, const std::map\< std::string, std::string > \&options) const
  Deletes a proc.
 
DeleteProcResponse deleteProc (const std::string \&procName, const std::map\< std::string, std::string > \&options, DeleteProcResponse \&response\_) const
  Deletes a proc.
 
DeleteRecordsResponse  deleteRecords (const DeleteRecordsRequest \&request\_) const
  Deletes record(s) matching the provided criteria from the given table.
 
DeleteRecordsResponse deleteRecords (const DeleteRecordsRequest \&request\_, DeleteRecordsResponse \&response\_) const
  Deletes record(s) matching the provided criteria from the given table.
 
DeleteRecordsResponse  deleteRecords (const std::string \&tableName, const std::vector\< std::string > \&expressions, const std::map\< std::string, std::string > \&options) const
  Deletes record(s) matching the provided criteria from the given table.
 
DeleteRecordsResponse deleteRecords (const std::string \&tableName, const std::vector\< std::string > \&expressions, const std::map\< std::string, std::string > \&options, DeleteRecordsResponse \&response\_) const
  Deletes record(s) matching the provided criteria from the given table.
 
DeleteResourceGroupResponse  deleteResourceGroup (const DeleteResourceGroupRequest \&request\_) const
  Deletes a resource group.
 
DeleteResourceGroupResponse deleteResourceGroup (const DeleteResourceGroupRequest \&request\_, DeleteResourceGroupResponse \&response\_) const
  Deletes a resource group.
 
DeleteResourceGroupResponse  deleteResourceGroup (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Deletes a resource group.
 
DeleteResourceGroupResponse deleteResourceGroup (const std::string \&name, const std::map\< std::string, std::string > \&options, DeleteResourceGroupResponse \&response\_) const
  Deletes a resource group.
 
DeleteRoleResponse  deleteRole (const DeleteRoleRequest \&request\_) const
  Deletes an existing role.
 
DeleteRoleResponse deleteRole (const DeleteRoleRequest \&request\_, DeleteRoleResponse \&response\_) const
  Deletes an existing role.
 
DeleteRoleResponse  deleteRole (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Deletes an existing role.
 
DeleteRoleResponse deleteRole (const std::string \&name, const std::map\< std::string, std::string > \&options, DeleteRoleResponse \&response\_) const
  Deletes an existing role.
 
DeleteUserResponse  deleteUser (const DeleteUserRequest \&request\_) const
  Deletes an existing user.
 
DeleteUserResponse deleteUser (const DeleteUserRequest \&request\_, DeleteUserResponse \&response\_) const
  Deletes an existing user.
 
DeleteUserResponse  deleteUser (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Deletes an existing user.
 
DeleteUserResponse deleteUser (const std::string \&name, const std::map\< std::string, std::string > \&options, DeleteUserResponse \&response\_) const
  Deletes an existing user.
 
DownloadFilesResponse  downloadFiles (const DownloadFilesRequest \&request\_) const
  Downloads one or more files from KiFS.
 
DownloadFilesResponse downloadFiles (const DownloadFilesRequest \&request\_, DownloadFilesResponse \&response\_) const
  Downloads one or more files from KiFS.
 
DownloadFilesResponse  downloadFiles (const std::vector\< std::string > \&fileNames, const std::vector\< int64\_t > \&readOffsets, const std::vector\< int64\_t > \&readLengths, const std::map\< std::string, std::string > \&options) const
  Downloads one or more files from KiFS.
 
DownloadFilesResponse downloadFiles (const std::vector\< std::string > \&fileNames, const std::vector\< int64\_t > \&readOffsets, const std::vector\< int64\_t > \&readLengths, const std::map\< std::string, std::string > \&options, DownloadFilesResponse \&response\_) const
  Downloads one or more files from KiFS.
 
DropBackupResponse  dropBackup (const DropBackupRequest \&request\_) const
  Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.
 
DropBackupResponse dropBackup (const DropBackupRequest \&request\_, DropBackupResponse \&response\_) const
  Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.
 
DropBackupResponse  dropBackup (const std::string \&backupName, const std::string \&datasinkName, const std::map\< std::string, std::string > \&options) const
  Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.
 
DropBackupResponse dropBackup (const std::string \&backupName, const std::string \&datasinkName, const std::map\< std::string, std::string > \&options, DropBackupResponse \&response\_) const
  Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.
 
DropCatalogResponse  dropCatalog (const DropCatalogRequest \&request\_) const
  Drops an existing catalog.
 
DropCatalogResponse dropCatalog (const DropCatalogRequest \&request\_, DropCatalogResponse \&response\_) const
  Drops an existing catalog.
 
DropCatalogResponse  dropCatalog (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Drops an existing catalog.
 
DropCatalogResponse dropCatalog (const std::string \&name, const std::map\< std::string, std::string > \&options, DropCatalogResponse \&response\_) const
  Drops an existing catalog.
 
DropCredentialResponse  dropCredential (const DropCredentialRequest \&request\_) const
  Drop an existing credential.
 
DropCredentialResponse dropCredential (const DropCredentialRequest \&request\_, DropCredentialResponse \&response\_) const
  Drop an existing credential.
 
DropCredentialResponse  dropCredential (const std::string \&credentialName, const std::map\< std::string, std::string > \&options) const
  Drop an existing credential.
 
DropCredentialResponse dropCredential (const std::string \&credentialName, const std::map\< std::string, std::string > \&options, DropCredentialResponse \&response\_) const
  Drop an existing credential.
 
DropDatasinkResponse  dropDatasink (const DropDatasinkRequest \&request\_) const
  Drops an existing data sink.
 
DropDatasinkResponse dropDatasink (const DropDatasinkRequest \&request\_, DropDatasinkResponse \&response\_) const
  Drops an existing data sink.
 
DropDatasinkResponse  dropDatasink (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Drops an existing data sink.
 
DropDatasinkResponse dropDatasink (const std::string \&name, const std::map\< std::string, std::string > \&options, DropDatasinkResponse \&response\_) const
  Drops an existing data sink.
 
DropDatasourceResponse  dropDatasource (const DropDatasourceRequest \&request\_) const
  Drops an existing data source.
 
DropDatasourceResponse dropDatasource (const DropDatasourceRequest \&request\_, DropDatasourceResponse \&response\_) const
  Drops an existing data source.
 
DropDatasourceResponse  dropDatasource (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Drops an existing data source.
 
DropDatasourceResponse dropDatasource (const std::string \&name, const std::map\< std::string, std::string > \&options, DropDatasourceResponse \&response\_) const
  Drops an existing data source.
 
DropEnvironmentResponse  dropEnvironment (const DropEnvironmentRequest \&request\_) const
  Drop an existing user-defined function (UDF) environment.
 
DropEnvironmentResponse dropEnvironment (const DropEnvironmentRequest \&request\_, DropEnvironmentResponse \&response\_) const
  Drop an existing user-defined function (UDF) environment.
 
DropEnvironmentResponse  dropEnvironment (const std::string \&environmentName, const std::map\< std::string, std::string > \&options) const
  Drop an existing user-defined function (UDF) environment.
 
DropEnvironmentResponse dropEnvironment (const std::string \&environmentName, const std::map\< std::string, std::string > \&options, DropEnvironmentResponse \&response\_) const
  Drop an existing user-defined function (UDF) environment.
 
DropSchemaResponse  dropSchema (const DropSchemaRequest \&request\_) const
  Drops an existing SQL-style schema, specified in schemaName.
 
DropSchemaResponse dropSchema (const DropSchemaRequest \&request\_, DropSchemaResponse \&response\_) const
  Drops an existing SQL-style schema, specified in schemaName.
 
DropSchemaResponse  dropSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options) const
  Drops an existing SQL-style schema, specified in schemaName.
 
DropSchemaResponse dropSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options, DropSchemaResponse \&response\_) const
  Drops an existing SQL-style schema, specified in schemaName.
 
ExecuteProcResponse  executeProc (const ExecuteProcRequest \&request\_) const
  Executes a proc.
 
ExecuteProcResponse executeProc (const ExecuteProcRequest \&request\_, ExecuteProcResponse \&response\_) const
  Executes a proc.
 
ExecuteProcResponse  executeProc (const std::string \&procName, const std::map\< std::string, std::string > \¶ms, const std::map\< std::string, std::vector\< uint8\_t > > \&binParams, const std::vector\< std::string > \&inputTableNames, const std::map\< std::string, std::vector\< std::string > > \&inputColumnNames, const std::vector\< std::string > \&outputTableNames, const std::map\< std::string, std::string > \&options) const
  Executes a proc.
 
ExecuteProcResponse executeProc (const std::string \&procName, const std::map\< std::string, std::string > \¶ms, const std::map\< std::string, std::vector\< uint8\_t > > \&binParams, const std::vector\< std::string > \&inputTableNames, const std::map\< std::string, std::vector\< std::string > > \&inputColumnNames, const std::vector\< std::string > \&outputTableNames, const std::map\< std::string, std::string > \&options, ExecuteProcResponse \&response\_) const
  Executes a proc.
 
RawExecuteSqlResponse  executeSqlRaw (const ExecuteSqlRequest \&request\_) const
  Execute a SQL statement (query, DML, or DDL).
 
RawExecuteSqlResponse executeSqlRaw (const ExecuteSqlRequest \&request\_, RawExecuteSqlResponse \&response\_) const
  Execute a SQL statement (query, DML, or DDL).
 
ExecuteSqlResponse  executeSql (const ExecuteSqlRequest \&request\_) const
  Execute a SQL statement (query, DML, or DDL).
 
ExecuteSqlResponse executeSql (const ExecuteSqlRequest \&request\_, ExecuteSqlResponse \&response\_) const
  Execute a SQL statement (query, DML, or DDL).
 
ExecuteSqlResponse  executeSql (const std::string \&statement, const int64\_t offset, const int64\_t limit, const std::string \&requestSchemaStr, const std::vector\< std::vector\< uint8\_t > > \&data, const std::map\< std::string, std::string > \&options) const
  Execute a SQL statement (query, DML, or DDL).
 
ExecuteSqlResponse executeSql (const std::string \&statement, const int64\_t offset, const int64\_t limit, const std::string \&requestSchemaStr, const std::vector\< std::vector\< uint8\_t > > \&data, const std::map\< std::string, std::string > \&options, ExecuteSqlResponse \&response\_) const
  Execute a SQL statement (query, DML, or DDL).
 
ExportQueryMetricsResponse  exportQueryMetrics (const ExportQueryMetricsRequest \&request\_) const
  Export query metrics to a given destination.
 
ExportQueryMetricsResponse exportQueryMetrics (const ExportQueryMetricsRequest \&request\_, ExportQueryMetricsResponse \&response\_) const
  Export query metrics to a given destination.
 
ExportQueryMetricsResponse  exportQueryMetrics (const std::map\< std::string, std::string > \&options) const
  Export query metrics to a given destination.
 
ExportQueryMetricsResponse exportQueryMetrics (const std::map\< std::string, std::string > \&options, ExportQueryMetricsResponse \&response\_) const
  Export query metrics to a given destination.
 
ExportRecordsToFilesResponse  exportRecordsToFiles (const ExportRecordsToFilesRequest \&request\_) const
  Export records from a table to files.
 
ExportRecordsToFilesResponse exportRecordsToFiles (const ExportRecordsToFilesRequest \&request\_, ExportRecordsToFilesResponse \&response\_) const
  Export records from a table to files.
 
ExportRecordsToFilesResponse  exportRecordsToFiles (const std::string \&tableName, const std::string \&filepath, const std::map\< std::string, std::string > \&options) const
  Export records from a table to files.
 
ExportRecordsToFilesResponse exportRecordsToFiles (const std::string \&tableName, const std::string \&filepath, const std::map\< std::string, std::string > \&options, ExportRecordsToFilesResponse \&response\_) const
  Export records from a table to files.
 
ExportRecordsToTableResponse  exportRecordsToTable (const ExportRecordsToTableRequest \&request\_) const
  Exports records from source table to the specified target table in an external database.
 
ExportRecordsToTableResponse exportRecordsToTable (const ExportRecordsToTableRequest \&request\_, ExportRecordsToTableResponse \&response\_) const
  Exports records from source table to the specified target table in an external database.
 
ExportRecordsToTableResponse  exportRecordsToTable (const std::string \&tableName, const std::string \&remoteQuery, const std::map\< std::string, std::string > \&options) const
  Exports records from source table to the specified target table in an external database.
 
ExportRecordsToTableResponse exportRecordsToTable (const std::string \&tableName, const std::string \&remoteQuery, const std::map\< std::string, std::string > \&options, ExportRecordsToTableResponse \&response\_) const
  Exports records from source table to the specified target table in an external database.
 
FilterResponse  filter (const FilterRequest \&request\_) const
  Filters data based on the specified expression.
 
FilterResponse filter (const FilterRequest \&request\_, FilterResponse \&response\_) const
  Filters data based on the specified expression.
 
FilterResponse  filter (const std::string \&tableName, const std::string \&viewName, const std::string \&expression, const std::map\< std::string, std::string > \&options) const
  Filters data based on the specified expression.
 
FilterResponse filter (const std::string \&tableName, const std::string \&viewName, const std::string \&expression, const std::map\< std::string, std::string > \&options, FilterResponse \&response\_) const
  Filters data based on the specified expression.
 
FilterByAreaResponse  filterByArea (const FilterByAreaRequest \&request\_) const
  Calculates which objects from a table are within a named area of interest (NAI/polygon).
 
FilterByAreaResponse filterByArea (const FilterByAreaRequest \&request\_, FilterByAreaResponse \&response\_) const
  Calculates which objects from a table are within a named area of interest (NAI/polygon).
 
FilterByAreaResponse  filterByArea (const std::string \&tableName, const std::string \&viewName, const std::string \&xColumnName, const std::vector\< double > \&xVector, const std::string \&yColumnName, const std::vector\< double > \&yVector, const std::map\< std::string, std::string > \&options) const
  Calculates which objects from a table are within a named area of interest (NAI/polygon).
 
FilterByAreaResponse filterByArea (const std::string \&tableName, const std::string \&viewName, const std::string \&xColumnName, const std::vector\< double > \&xVector, const std::string \&yColumnName, const std::vector\< double > \&yVector, const std::map\< std::string, std::string > \&options, FilterByAreaResponse \&response\_) const
  Calculates which objects from a table are within a named area of interest (NAI/polygon).
 
FilterByAreaGeometryResponse  filterByAreaGeometry (const FilterByAreaGeometryRequest \&request\_) const
  Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).
 
FilterByAreaGeometryResponse filterByAreaGeometry (const FilterByAreaGeometryRequest \&request\_, FilterByAreaGeometryResponse \&response\_) const
  Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).
 
FilterByAreaGeometryResponse  filterByAreaGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const std::vector\< double > \&xVector, const std::vector\< double > \&yVector, const std::map\< std::string, std::string > \&options) const
  Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).
 
FilterByAreaGeometryResponse filterByAreaGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const std::vector\< double > \&xVector, const std::vector\< double > \&yVector, const std::map\< std::string, std::string > \&options, FilterByAreaGeometryResponse \&response\_) const
  Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).
 
FilterByBoxResponse  filterByBox (const FilterByBoxRequest \&request\_) const
  Calculates how many objects within the given table lie in a rectangular box.
 
FilterByBoxResponse filterByBox (const FilterByBoxRequest \&request\_, FilterByBoxResponse \&response\_) const
  Calculates how many objects within the given table lie in a rectangular box.
 
FilterByBoxResponse  filterByBox (const std::string \&tableName, const std::string \&viewName, const std::string \&xColumnName, const double minX, const double maxX, const std::string \&yColumnName, const double minY, const double maxY, const std::map\< std::string, std::string > \&options) const
  Calculates how many objects within the given table lie in a rectangular box.
 
FilterByBoxResponse filterByBox (const std::string \&tableName, const std::string \&viewName, const std::string \&xColumnName, const double minX, const double maxX, const std::string \&yColumnName, const double minY, const double maxY, const std::map\< std::string, std::string > \&options, FilterByBoxResponse \&response\_) const
  Calculates how many objects within the given table lie in a rectangular box.
 
FilterByBoxGeometryResponse  filterByBoxGeometry (const FilterByBoxGeometryRequest \&request\_) const
  Calculates which geospatial geometry objects from a table intersect a rectangular box.
 
FilterByBoxGeometryResponse filterByBoxGeometry (const FilterByBoxGeometryRequest \&request\_, FilterByBoxGeometryResponse \&response\_) const
  Calculates which geospatial geometry objects from a table intersect a rectangular box.
 
FilterByBoxGeometryResponse  filterByBoxGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const double minX, const double maxX, const double minY, const double maxY, const std::map\< std::string, std::string > \&options) const
  Calculates which geospatial geometry objects from a table intersect a rectangular box.
 
FilterByBoxGeometryResponse filterByBoxGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const double minX, const double maxX, const double minY, const double maxY, const std::map\< std::string, std::string > \&options, FilterByBoxGeometryResponse \&response\_) const
  Calculates which geospatial geometry objects from a table intersect a rectangular box.
 
FilterByGeometryResponse  filterByGeometry (const FilterByGeometryRequest \&request\_) const
  Applies a geometry filter against a geospatial geometry column in a given table or view.
 
FilterByGeometryResponse filterByGeometry (const FilterByGeometryRequest \&request\_, FilterByGeometryResponse \&response\_) const
  Applies a geometry filter against a geospatial geometry column in a given table or view.
 
FilterByGeometryResponse  filterByGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const std::string \&inputWkt, const std::string \&operation, const std::map\< std::string, std::string > \&options) const
  Applies a geometry filter against a geospatial geometry column in a given table or view.
 
FilterByGeometryResponse filterByGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const std::string \&inputWkt, const std::string \&operation, const std::map\< std::string, std::string > \&options, FilterByGeometryResponse \&response\_) const
  Applies a geometry filter against a geospatial geometry column in a given table or view.
 
FilterByListResponse  filterByList (const FilterByListRequest \&request\_) const
  Calculates which records from a table have values in the given list for the corresponding column.
 
FilterByListResponse filterByList (const FilterByListRequest \&request\_, FilterByListResponse \&response\_) const
  Calculates which records from a table have values in the given list for the corresponding column.
 
FilterByListResponse  filterByList (const std::string \&tableName, const std::string \&viewName, const std::map\< std::string, std::vector\< std::string > > \&columnValuesMap, const std::map\< std::string, std::string > \&options) const
  Calculates which records from a table have values in the given list for the corresponding column.
 
FilterByListResponse filterByList (const std::string \&tableName, const std::string \&viewName, const std::map\< std::string, std::vector\< std::string > > \&columnValuesMap, const std::map\< std::string, std::string > \&options, FilterByListResponse \&response\_) const
  Calculates which records from a table have values in the given list for the corresponding column.
 
FilterByRadiusResponse  filterByRadius (const FilterByRadiusRequest \&request\_) const
  Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusResponse filterByRadius (const FilterByRadiusRequest \&request\_, FilterByRadiusResponse \&response\_) const
  Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusResponse  filterByRadius (const std::string \&tableName, const std::string \&viewName, const std::string \&xColumnName, const double xCenter, const std::string \&yColumnName, const double yCenter, const double radius, const std::map\< std::string, std::string > \&options) const
  Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusResponse filterByRadius (const std::string \&tableName, const std::string \&viewName, const std::string \&xColumnName, const double xCenter, const std::string \&yColumnName, const double yCenter, const double radius, const std::map\< std::string, std::string > \&options, FilterByRadiusResponse \&response\_) const
  Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusGeometryResponse  filterByRadiusGeometry (const FilterByRadiusGeometryRequest \&request\_) const
  Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusGeometryResponse filterByRadiusGeometry (const FilterByRadiusGeometryRequest \&request\_, FilterByRadiusGeometryResponse \&response\_) const
  Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusGeometryResponse  filterByRadiusGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const double xCenter, const double yCenter, const double radius, const std::map\< std::string, std::string > \&options) const
  Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRadiusGeometryResponse filterByRadiusGeometry (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const double xCenter, const double yCenter, const double radius, const std::map\< std::string, std::string > \&options, FilterByRadiusGeometryResponse \&response\_) const
  Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).
 
FilterByRangeResponse  filterByRange (const FilterByRangeRequest \&request\_) const
  Calculates which objects from a table have a column that is within the given bounds.
 
FilterByRangeResponse filterByRange (const FilterByRangeRequest \&request\_, FilterByRangeResponse \&response\_) const
  Calculates which objects from a table have a column that is within the given bounds.
 
FilterByRangeResponse  filterByRange (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const double lowerBound, const double upperBound, const std::map\< std::string, std::string > \&options) const
  Calculates which objects from a table have a column that is within the given bounds.
 
FilterByRangeResponse filterByRange (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const double lowerBound, const double upperBound, const std::map\< std::string, std::string > \&options, FilterByRangeResponse \&response\_) const
  Calculates which objects from a table have a column that is within the given bounds.
 
FilterBySeriesResponse  filterBySeries (const FilterBySeriesRequest \&request\_) const
  Filters objects matching all points of the given track (works only on track type data).
 
FilterBySeriesResponse filterBySeries (const FilterBySeriesRequest \&request\_, FilterBySeriesResponse \&response\_) const
  Filters objects matching all points of the given track (works only on track type data).
 
FilterBySeriesResponse  filterBySeries (const std::string \&tableName, const std::string \&viewName, const std::string \&trackId, const std::vector\< std::string > \&targetTrackIds, const std::map\< std::string, std::string > \&options) const
  Filters objects matching all points of the given track (works only on track type data).
 
FilterBySeriesResponse filterBySeries (const std::string \&tableName, const std::string \&viewName, const std::string \&trackId, const std::vector\< std::string > \&targetTrackIds, const std::map\< std::string, std::string > \&options, FilterBySeriesResponse \&response\_) const
  Filters objects matching all points of the given track (works only on track type data).
 
FilterByStringResponse  filterByString (const FilterByStringRequest \&request\_) const
  Calculates which objects from a table or view match a string expression for the given string columns.
 
FilterByStringResponse filterByString (const FilterByStringRequest \&request\_, FilterByStringResponse \&response\_) const
  Calculates which objects from a table or view match a string expression for the given string columns.
 
FilterByStringResponse  filterByString (const std::string \&tableName, const std::string \&viewName, const std::string \&expression, const std::string \&mode, const std::vector\< std::string > \&columnNames, const std::map\< std::string, std::string > \&options) const
  Calculates which objects from a table or view match a string expression for the given string columns.
 
FilterByStringResponse filterByString (const std::string \&tableName, const std::string \&viewName, const std::string \&expression, const std::string \&mode, const std::vector\< std::string > \&columnNames, const std::map\< std::string, std::string > \&options, FilterByStringResponse \&response\_) const
  Calculates which objects from a table or view match a string expression for the given string columns.
 
FilterByTableResponse  filterByTable (const FilterByTableRequest \&request\_) const
  Filters objects in one table based on objects in another table.
 
FilterByTableResponse filterByTable (const FilterByTableRequest \&request\_, FilterByTableResponse \&response\_) const
  Filters objects in one table based on objects in another table.
 
FilterByTableResponse  filterByTable (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const std::string \&sourceTableName, const std::string \&sourceTableColumnName, const std::map\< std::string, std::string > \&options) const
  Filters objects in one table based on objects in another table.
 
FilterByTableResponse filterByTable (const std::string \&tableName, const std::string \&viewName, const std::string \&columnName, const std::string \&sourceTableName, const std::string \&sourceTableColumnName, const std::map\< std::string, std::string > \&options, FilterByTableResponse \&response\_) const
  Filters objects in one table based on objects in another table.
 
FilterByValueResponse  filterByValue (const FilterByValueRequest \&request\_) const
  Calculates which objects from a table has a particular value for a particular column.
 
FilterByValueResponse filterByValue (const FilterByValueRequest \&request\_, FilterByValueResponse \&response\_) const
  Calculates which objects from a table has a particular value for a particular column.
 
FilterByValueResponse  filterByValue (const std::string \&tableName, const std::string \&viewName, const bool isString, const double value, const std::string \&valueStr, const std::string \&columnName, const std::map\< std::string, std::string > \&options) const
  Calculates which objects from a table has a particular value for a particular column.
 
FilterByValueResponse filterByValue (const std::string \&tableName, const std::string \&viewName, const bool isString, const double value, const std::string \&valueStr, const std::string \&columnName, const std::map\< std::string, std::string > \&options, FilterByValueResponse \&response\_) const
  Calculates which objects from a table has a particular value for a particular column.
 
GetGraphEntitiesResponse  getGraphEntities (const GetGraphEntitiesRequest \&request\_) const
  Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.
 
GetGraphEntitiesResponse getGraphEntities (const GetGraphEntitiesRequest \&request\_, GetGraphEntitiesResponse \&response\_) const
  Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.
 
GetGraphEntitiesResponse  getGraphEntities (const std::string \&graphName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.
 
GetGraphEntitiesResponse getGraphEntities (const std::string \&graphName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetGraphEntitiesResponse \&response\_) const
  Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.
 
GetJobResponse  getJob (const GetJobRequest \&request\_) const
  Get the status and result of asynchronously running job.
 
GetJobResponse getJob (const GetJobRequest \&request\_, GetJobResponse \&response\_) const
  Get the status and result of asynchronously running job.
 
GetJobResponse  getJob (const int64\_t jobId, const std::map\< std::string, std::string > \&options) const
  Get the status and result of asynchronously running job.
 
GetJobResponse getJob (const int64\_t jobId, const std::map\< std::string, std::string > \&options, GetJobResponse \&response\_) const
  Get the status and result of asynchronously running job.
 
RawGetRecordsResponse  getRecordsRaw (const GetRecordsRequest \&request\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
RawGetRecordsResponse getRecordsRaw (const GetRecordsRequest \&request\_, RawGetRecordsResponse \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse >  getRecords (const GetRecordsRequest \&request\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse > &  getRecords (const GetRecordsRequest \&request\_, GetRecordsResponse\< TResponse > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse >  getRecords (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse > &  getRecords (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsResponse\< TResponse > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse >  getRecords (const ::avro::ValidSchema \&schema\_, const GetRecordsRequest \&request\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse >  getRecords (const Type \&type\_, const GetRecordsRequest \&request\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse > &  getRecords (const ::avro::ValidSchema \&schema\_, const GetRecordsRequest \&request\_, GetRecordsResponse\< TResponse > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse > &  getRecords (const Type \&type\_, const GetRecordsRequest \&request\_, GetRecordsResponse\< TResponse > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse >  getRecords (const ::avro::ValidSchema \&schema\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse >  getRecords (const Type \&type\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse > &  getRecords (const ::avro::ValidSchema \&schema\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsResponse\< TResponse > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\
GetRecordsResponse\< TResponse > &  getRecords (const Type \&type\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsResponse\< TResponse > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
RawGetRecordsByColumnResponse  getRecordsByColumnRaw (const GetRecordsByColumnRequest \&request\_) const
  For a given table, retrieves the values from the requested column(s).
 
RawGetRecordsByColumnResponse getRecordsByColumnRaw (const GetRecordsByColumnRequest \&request\_, RawGetRecordsByColumnResponse \&response\_) const
  For a given table, retrieves the values from the requested column(s).
 
GetRecordsByColumnResponse  getRecordsByColumn (const GetRecordsByColumnRequest \&request\_) const
  For a given table, retrieves the values from the requested column(s).
 
GetRecordsByColumnResponse getRecordsByColumn (const GetRecordsByColumnRequest \&request\_, GetRecordsByColumnResponse \&response\_) const
  For a given table, retrieves the values from the requested column(s).
 
GetRecordsByColumnResponse  getRecordsByColumn (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  For a given table, retrieves the values from the requested column(s).
 
GetRecordsByColumnResponse getRecordsByColumn (const std::string \&tableName, const std::vector\< std::string > \&columnNames, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsByColumnResponse \&response\_) const
  For a given table, retrieves the values from the requested column(s).
 
RawGetRecordsBySeriesResponse  getRecordsBySeriesRaw (const GetRecordsBySeriesRequest \&request\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
RawGetRecordsBySeriesResponse getRecordsBySeriesRaw (const GetRecordsBySeriesRequest \&request\_, RawGetRecordsBySeriesResponse \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse >  getRecordsBySeries (const GetRecordsBySeriesRequest \&request\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse > &  getRecordsBySeries (const GetRecordsBySeriesRequest \&request\_, GetRecordsBySeriesResponse\< TResponse > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse >  getRecordsBySeries (const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse > &  getRecordsBySeries (const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsBySeriesResponse\< TResponse > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse >  getRecordsBySeries (const ::avro::ValidSchema \&schema\_, const GetRecordsBySeriesRequest \&request\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse >  getRecordsBySeries (const Type \&type\_, const GetRecordsBySeriesRequest \&request\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse > &  getRecordsBySeries (const ::avro::ValidSchema \&schema\_, const GetRecordsBySeriesRequest \&request\_, GetRecordsBySeriesResponse\< TResponse > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse > &  getRecordsBySeries (const Type \&type\_, const GetRecordsBySeriesRequest \&request\_, GetRecordsBySeriesResponse\< TResponse > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse >  getRecordsBySeries (const ::avro::ValidSchema \&schema\_, const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse >  getRecordsBySeries (const Type \&type\_, const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse > &  getRecordsBySeries (const ::avro::ValidSchema \&schema\_, const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsBySeriesResponse\< TResponse > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\
GetRecordsBySeriesResponse\< TResponse > &  getRecordsBySeries (const Type \&type\_, const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsBySeriesResponse\< TResponse > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
RawGetRecordsFromCollectionResponse  getRecordsFromCollectionRaw (const GetRecordsFromCollectionRequest \&request\_) const
  Retrieves records from a collection.
 
RawGetRecordsFromCollectionResponse getRecordsFromCollectionRaw (const GetRecordsFromCollectionRequest \&request\_, RawGetRecordsFromCollectionResponse \&response\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse >  getRecordsFromCollection (const GetRecordsFromCollectionRequest \&request\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse > &  getRecordsFromCollection (const GetRecordsFromCollectionRequest \&request\_, GetRecordsFromCollectionResponse\< TResponse > \&response\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse >  getRecordsFromCollection (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse > &  getRecordsFromCollection (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsFromCollectionResponse\< TResponse > \&response\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse >  getRecordsFromCollection (const ::avro::ValidSchema \&schema\_, const GetRecordsFromCollectionRequest \&request\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse >  getRecordsFromCollection (const Type \&type\_, const GetRecordsFromCollectionRequest \&request\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse > &  getRecordsFromCollection (const ::avro::ValidSchema \&schema\_, const GetRecordsFromCollectionRequest \&request\_, GetRecordsFromCollectionResponse\< TResponse > \&response\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse > &  getRecordsFromCollection (const Type \&type\_, const GetRecordsFromCollectionRequest \&request\_, GetRecordsFromCollectionResponse\< TResponse > \&response\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse >  getRecordsFromCollection (const ::avro::ValidSchema \&schema\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse >  getRecordsFromCollection (const Type \&type\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse > &  getRecordsFromCollection (const ::avro::ValidSchema \&schema\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsFromCollectionResponse\< TResponse > \&response\_) const
  Retrieves records from a collection.
 
template\
GetRecordsFromCollectionResponse\< TResponse > &  getRecordsFromCollection (const Type \&type\_, const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsFromCollectionResponse\< TResponse > \&response\_) const
  Retrieves records from a collection.
 
GrantPermissionResponse  grantPermission (const GrantPermissionRequest \&request\_) const
  Grant user or role the specified permission on the specified object.
 
GrantPermissionResponse grantPermission (const GrantPermissionRequest \&request\_, GrantPermissionResponse \&response\_) const
  Grant user or role the specified permission on the specified object.
 
GrantPermissionResponse  grantPermission (const std::string \&principal, const std::string \&object, const std::string \&objectType, const std::string \&permission, const std::map\< std::string, std::string > \&options) const
  Grant user or role the specified permission on the specified object.
 
GrantPermissionResponse grantPermission (const std::string \&principal, const std::string \&object, const std::string \&objectType, const std::string \&permission, const std::map\< std::string, std::string > \&options, GrantPermissionResponse \&response\_) const
  Grant user or role the specified permission on the specified object.
 
GrantPermissionCredentialResponse  grantPermissionCredential (const GrantPermissionCredentialRequest \&request\_) const
  Grants a credential-level permission to a user or role.
 
GrantPermissionCredentialResponse grantPermissionCredential (const GrantPermissionCredentialRequest \&request\_, GrantPermissionCredentialResponse \&response\_) const
  Grants a credential-level permission to a user or role.
 
GrantPermissionCredentialResponse  grantPermissionCredential (const std::string \&name, const std::string \&permission, const std::string \&credentialName, const std::map\< std::string, std::string > \&options) const
  Grants a credential-level permission to a user or role.
 
GrantPermissionCredentialResponse grantPermissionCredential (const std::string \&name, const std::string \&permission, const std::string \&credentialName, const std::map\< std::string, std::string > \&options, GrantPermissionCredentialResponse \&response\_) const
  Grants a credential-level permission to a user or role.
 
GrantPermissionDatasourceResponse  grantPermissionDatasource (const GrantPermissionDatasourceRequest \&request\_) const
  Grants a data source permission to a user or role.
 
GrantPermissionDatasourceResponse grantPermissionDatasource (const GrantPermissionDatasourceRequest \&request\_, GrantPermissionDatasourceResponse \&response\_) const
  Grants a data source permission to a user or role.
 
GrantPermissionDatasourceResponse  grantPermissionDatasource (const std::string \&name, const std::string \&permission, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options) const
  Grants a data source permission to a user or role.
 
GrantPermissionDatasourceResponse grantPermissionDatasource (const std::string \&name, const std::string \&permission, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options, GrantPermissionDatasourceResponse \&response\_) const
  Grants a data source permission to a user or role.
 
GrantPermissionDirectoryResponse  grantPermissionDirectory (const GrantPermissionDirectoryRequest \&request\_) const
  Grants a KiFS directory-level permission to a user or role.
 
GrantPermissionDirectoryResponse grantPermissionDirectory (const GrantPermissionDirectoryRequest \&request\_, GrantPermissionDirectoryResponse \&response\_) const
  Grants a KiFS directory-level permission to a user or role.
 
GrantPermissionDirectoryResponse  grantPermissionDirectory (const std::string \&name, const std::string \&permission, const std::string \&directoryName, const std::map\< std::string, std::string > \&options) const
  Grants a KiFS directory-level permission to a user or role.
 
GrantPermissionDirectoryResponse grantPermissionDirectory (const std::string \&name, const std::string \&permission, const std::string \&directoryName, const std::map\< std::string, std::string > \&options, GrantPermissionDirectoryResponse \&response\_) const
  Grants a KiFS directory-level permission to a user or role.
 
GrantPermissionProcResponse  grantPermissionProc (const GrantPermissionProcRequest \&request\_) const
  Grants a proc-level permission to a user or role.
 
GrantPermissionProcResponse grantPermissionProc (const GrantPermissionProcRequest \&request\_, GrantPermissionProcResponse \&response\_) const
  Grants a proc-level permission to a user or role.
 
GrantPermissionProcResponse  grantPermissionProc (const std::string \&name, const std::string \&permission, const std::string \&procName, const std::map\< std::string, std::string > \&options) const
  Grants a proc-level permission to a user or role.
 
GrantPermissionProcResponse grantPermissionProc (const std::string \&name, const std::string \&permission, const std::string \&procName, const std::map\< std::string, std::string > \&options, GrantPermissionProcResponse \&response\_) const
  Grants a proc-level permission to a user or role.
 
GrantPermissionSystemResponse  grantPermissionSystem (const GrantPermissionSystemRequest \&request\_) const
  Grants a system-level permission to a user or role.
 
GrantPermissionSystemResponse grantPermissionSystem (const GrantPermissionSystemRequest \&request\_, GrantPermissionSystemResponse \&response\_) const
  Grants a system-level permission to a user or role.
 
GrantPermissionSystemResponse  grantPermissionSystem (const std::string \&name, const std::string \&permission, const std::map\< std::string, std::string > \&options) const
  Grants a system-level permission to a user or role.
 
GrantPermissionSystemResponse grantPermissionSystem (const std::string \&name, const std::string \&permission, const std::map\< std::string, std::string > \&options, GrantPermissionSystemResponse \&response\_) const
  Grants a system-level permission to a user or role.
 
GrantPermissionTableResponse  grantPermissionTable (const GrantPermissionTableRequest \&request\_) const
  Grants a table-level permission to a user or role.
 
GrantPermissionTableResponse grantPermissionTable (const GrantPermissionTableRequest \&request\_, GrantPermissionTableResponse \&response\_) const
  Grants a table-level permission to a user or role.
 
GrantPermissionTableResponse  grantPermissionTable (const std::string \&name, const std::string \&permission, const std::string \&tableName, const std::string \&filterExpression, const std::map\< std::string, std::string > \&options) const
  Grants a table-level permission to a user or role.
 
GrantPermissionTableResponse grantPermissionTable (const std::string \&name, const std::string \&permission, const std::string \&tableName, const std::string \&filterExpression, const std::map\< std::string, std::string > \&options, GrantPermissionTableResponse \&response\_) const
  Grants a table-level permission to a user or role.
 
GrantRoleResponse  grantRole (const GrantRoleRequest \&request\_) const
  Grants membership in a role to a user or role.
 
GrantRoleResponse grantRole (const GrantRoleRequest \&request\_, GrantRoleResponse \&response\_) const
  Grants membership in a role to a user or role.
 
GrantRoleResponse  grantRole (const std::string \&role, const std::string \&member, const std::map\< std::string, std::string > \&options) const
  Grants membership in a role to a user or role.
 
GrantRoleResponse grantRole (const std::string \&role, const std::string \&member, const std::map\< std::string, std::string > \&options, GrantRoleResponse \&response\_) const
  Grants membership in a role to a user or role.
 
HasPermissionResponse  hasPermission (const HasPermissionRequest \&request\_) const
  Checks if the specified user has the specified permission on the specified object.
 
HasPermissionResponse hasPermission (const HasPermissionRequest \&request\_, HasPermissionResponse \&response\_) const
  Checks if the specified user has the specified permission on the specified object.
 
HasPermissionResponse  hasPermission (const std::string \&principal, const std::string \&object, const std::string \&objectType, const std::string \&permission, const std::map\< std::string, std::string > \&options) const
  Checks if the specified user has the specified permission on the specified object.
 
HasPermissionResponse hasPermission (const std::string \&principal, const std::string \&object, const std::string \&objectType, const std::string \&permission, const std::map\< std::string, std::string > \&options, HasPermissionResponse \&response\_) const
  Checks if the specified user has the specified permission on the specified object.
 
HasProcResponse  hasProc (const HasProcRequest \&request\_) const
  Checks the existence of a proc with the given name.
 
HasProcResponse hasProc (const HasProcRequest \&request\_, HasProcResponse \&response\_) const
  Checks the existence of a proc with the given name.
 
HasProcResponse  hasProc (const std::string \&procName, const std::map\< std::string, std::string > \&options) const
  Checks the existence of a proc with the given name.
 
HasProcResponse hasProc (const std::string \&procName, const std::map\< std::string, std::string > \&options, HasProcResponse \&response\_) const
  Checks the existence of a proc with the given name.
 
HasRoleResponse  hasRole (const HasRoleRequest \&request\_) const
  Checks if the specified user has the specified role.
 
HasRoleResponse hasRole (const HasRoleRequest \&request\_, HasRoleResponse \&response\_) const
  Checks if the specified user has the specified role.
 
HasRoleResponse  hasRole (const std::string \&principal, const std::string \&role, const std::map\< std::string, std::string > \&options) const
  Checks if the specified user has the specified role.
 
HasRoleResponse hasRole (const std::string \&principal, const std::string \&role, const std::map\< std::string, std::string > \&options, HasRoleResponse \&response\_) const
  Checks if the specified user has the specified role.
 
HasSchemaResponse  hasSchema (const HasSchemaRequest \&request\_) const
  Checks for the existence of a schema with the given name.
 
HasSchemaResponse hasSchema (const HasSchemaRequest \&request\_, HasSchemaResponse \&response\_) const
  Checks for the existence of a schema with the given name.
 
HasSchemaResponse  hasSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options) const
  Checks for the existence of a schema with the given name.
 
HasSchemaResponse hasSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options, HasSchemaResponse \&response\_) const
  Checks for the existence of a schema with the given name.
 
HasTableResponse  hasTable (const HasTableRequest \&request\_) const
  Checks for the existence of a table with the given name.
 
HasTableResponse hasTable (const HasTableRequest \&request\_, HasTableResponse \&response\_) const
  Checks for the existence of a table with the given name.
 
HasTableResponse  hasTable (const std::string \&tableName, const std::map\< std::string, std::string > \&options) const
  Checks for the existence of a table with the given name.
 
HasTableResponse hasTable (const std::string \&tableName, const std::map\< std::string, std::string > \&options, HasTableResponse \&response\_) const
  Checks for the existence of a table with the given name.
 
HasTypeResponse  hasType (const HasTypeRequest \&request\_) const
  Check for the existence of a type.
 
HasTypeResponse hasType (const HasTypeRequest \&request\_, HasTypeResponse \&response\_) const
  Check for the existence of a type.
 
HasTypeResponse  hasType (const std::string \&typeId, const std::map\< std::string, std::string > \&options) const
  Check for the existence of a type.
 
HasTypeResponse hasType (const std::string \&typeId, const std::map\< std::string, std::string > \&options, HasTypeResponse \&response\_) const
  Check for the existence of a type.
 
InsertRecordsResponse  insertRecordsRaw (const RawInsertRecordsRequest \&request\_) const
  Adds multiple records to the specified table.
 
InsertRecordsResponse insertRecordsRaw (const RawInsertRecordsRequest \&request\_, InsertRecordsResponse \&response\_) const
  Adds multiple records to the specified table.
 
template\
InsertRecordsResponse  insertRecords (const InsertRecordsRequest\< TRequest > \&request\_) const
  Adds multiple records to the specified table.
 
template\
InsertRecordsResponse insertRecords (const InsertRecordsRequest\< TRequest > \&request\_, InsertRecordsResponse \&response\_) const
  Adds multiple records to the specified table.
 
template\
InsertRecordsResponse  insertRecords (const std::string \&tableName, const std::vector\< TRequest > \&data, const std::map\< std::string, std::string > \&options) const
  Adds multiple records to the specified table.
 
template\
InsertRecordsResponse insertRecords (const std::string \&tableName, const std::vector\< TRequest > \&data, const std::map\< std::string, std::string > \&options, InsertRecordsResponse \&response\_) const
  Adds multiple records to the specified table.
 
InsertRecordsFromFilesResponse  insertRecordsFromFiles (const InsertRecordsFromFilesRequest \&request\_) const
  Reads from one or more files and inserts the data into a new or existing table.
 
InsertRecordsFromFilesResponse insertRecordsFromFiles (const InsertRecordsFromFilesRequest \&request\_, InsertRecordsFromFilesResponse \&response\_) const
  Reads from one or more files and inserts the data into a new or existing table.
 
InsertRecordsFromFilesResponse  insertRecordsFromFiles (const std::string \&tableName, const std::vector\< std::string > \&filepaths, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options) const
  Reads from one or more files and inserts the data into a new or existing table.
 
InsertRecordsFromFilesResponse insertRecordsFromFiles (const std::string \&tableName, const std::vector\< std::string > \&filepaths, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options, InsertRecordsFromFilesResponse \&response\_) const
  Reads from one or more files and inserts the data into a new or existing table.
 
InsertRecordsFromPayloadResponse  insertRecordsFromPayload (const InsertRecordsFromPayloadRequest \&request\_) const
  Reads from the given text-based or binary payload and inserts the data into a new or existing table.
 
InsertRecordsFromPayloadResponse insertRecordsFromPayload (const InsertRecordsFromPayloadRequest \&request\_, InsertRecordsFromPayloadResponse \&response\_) const
  Reads from the given text-based or binary payload and inserts the data into a new or existing table.
 
InsertRecordsFromPayloadResponse  insertRecordsFromPayload (const std::string \&tableName, const std::string \&dataText, const std::vector\< uint8\_t > \&dataBytes, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options) const
  Reads from the given text-based or binary payload and inserts the data into a new or existing table.
 
InsertRecordsFromPayloadResponse insertRecordsFromPayload (const std::string \&tableName, const std::string \&dataText, const std::vector\< uint8\_t > \&dataBytes, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options, InsertRecordsFromPayloadResponse \&response\_) const
  Reads from the given text-based or binary payload and inserts the data into a new or existing table.
 
InsertRecordsFromQueryResponse  insertRecordsFromQuery (const InsertRecordsFromQueryRequest \&request\_) const
  Computes remote query result and inserts the result data into a new or existing table.
 
InsertRecordsFromQueryResponse insertRecordsFromQuery (const InsertRecordsFromQueryRequest \&request\_, InsertRecordsFromQueryResponse \&response\_) const
  Computes remote query result and inserts the result data into a new or existing table.
 
InsertRecordsFromQueryResponse  insertRecordsFromQuery (const std::string \&tableName, const std::string \&remoteQuery, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options) const
  Computes remote query result and inserts the result data into a new or existing table.
 
InsertRecordsFromQueryResponse insertRecordsFromQuery (const std::string \&tableName, const std::string \&remoteQuery, const std::map\< std::string, std::map\< std::string, std::string > > \&modifyColumns, const std::map\< std::string, std::string > \&createTableOptions, const std::map\< std::string, std::string > \&options, InsertRecordsFromQueryResponse \&response\_) const
  Computes remote query result and inserts the result data into a new or existing table.
 
InsertRecordsRandomResponse  insertRecordsRandom (const InsertRecordsRandomRequest \&request\_) const
  Generates a specified number of random records and adds them to the given table.
 
InsertRecordsRandomResponse insertRecordsRandom (const InsertRecordsRandomRequest \&request\_, InsertRecordsRandomResponse \&response\_) const
  Generates a specified number of random records and adds them to the given table.
 
InsertRecordsRandomResponse  insertRecordsRandom (const std::string \&tableName, const int64\_t count, const std::map\< std::string, std::map\< std::string, double > > \&options) const
  Generates a specified number of random records and adds them to the given table.
 
InsertRecordsRandomResponse insertRecordsRandom (const std::string \&tableName, const int64\_t count, const std::map\< std::string, std::map\< std::string, double > > \&options, InsertRecordsRandomResponse \&response\_) const
  Generates a specified number of random records and adds them to the given table.
 
InsertSymbolResponse  insertSymbol (const InsertSymbolRequest \&request\_) const
  Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.
 
InsertSymbolResponse insertSymbol (const InsertSymbolRequest \&request\_, InsertSymbolResponse \&response\_) const
  Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.
 
InsertSymbolResponse  insertSymbol (const std::string \&symbolId, const std::string \&symbolFormat, const std::vector\< uint8\_t > \&symbolData, const std::map\< std::string, std::string > \&options) const
  Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.
 
InsertSymbolResponse insertSymbol (const std::string \&symbolId, const std::string \&symbolFormat, const std::vector\< uint8\_t > \&symbolData, const std::map\< std::string, std::string > \&options, InsertSymbolResponse \&response\_) const
  Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.
 
KillProcResponse  killProc (const KillProcRequest \&request\_) const
  Kills a running proc instance.
 
KillProcResponse killProc (const KillProcRequest \&request\_, KillProcResponse \&response\_) const
  Kills a running proc instance.
 
KillProcResponse  killProc (const std::string \&runId, const std::map\< std::string, std::string > \&options) const
  Kills a running proc instance.
 
KillProcResponse killProc (const std::string \&runId, const std::map\< std::string, std::string > \&options, KillProcResponse \&response\_) const
  Kills a running proc instance.
 
LockTableResponse  lockTable (const LockTableRequest \&request\_) const
  Manages global access to a table's data.
 
LockTableResponse lockTable (const LockTableRequest \&request\_, LockTableResponse \&response\_) const
  Manages global access to a table's data.
 
LockTableResponse  lockTable (const std::string \&tableName, const std::string \&lockType, const std::map\< std::string, std::string > \&options) const
  Manages global access to a table's data.
 
LockTableResponse lockTable (const std::string \&tableName, const std::string \&lockType, const std::map\< std::string, std::string > \&options, LockTableResponse \&response\_) const
  Manages global access to a table's data.
 
MatchGraphResponse  matchGraph (const MatchGraphRequest \&request\_) const
  Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.
 
MatchGraphResponse matchGraph (const MatchGraphRequest \&request\_, MatchGraphResponse \&response\_) const
  Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.
 
MatchGraphResponse  matchGraph (const std::string \&graphName, const std::vector\< std::string > \&samplePoints, const std::string \&solveMethod, const std::string \&solutionTable, const std::map\< std::string, std::string > \&options) const
  Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.
 
MatchGraphResponse matchGraph (const std::string \&graphName, const std::vector\< std::string > \&samplePoints, const std::string \&solveMethod, const std::string \&solutionTable, const std::map\< std::string, std::string > \&options, MatchGraphResponse \&response\_) const
  Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.
 
ModifyGraphResponse  modifyGraph (const ModifyGraphRequest \&request\_) const
  Update an existing graph network using given nodes, edges, weights, restrictions, and options.
 
ModifyGraphResponse modifyGraph (const ModifyGraphRequest \&request\_, ModifyGraphResponse \&response\_) const
  Update an existing graph network using given nodes, edges, weights, restrictions, and options.
 
ModifyGraphResponse  modifyGraph (const std::string \&graphName, const std::vector\< std::string > \&nodes, const std::vector\< std::string > \&edges, const std::vector\< std::string > \&weights, const std::vector\< std::string > \&restrictions, const std::map\< std::string, std::string > \&options) const
  Update an existing graph network using given nodes, edges, weights, restrictions, and options.
 
ModifyGraphResponse modifyGraph (const std::string \&graphName, const std::vector\< std::string > \&nodes, const std::vector\< std::string > \&edges, const std::vector\< std::string > \&weights, const std::vector\< std::string > \&restrictions, const std::map\< std::string, std::string > \&options, ModifyGraphResponse \&response\_) const
  Update an existing graph network using given nodes, edges, weights, restrictions, and options.
 
QueryGraphResponse  queryGraph (const QueryGraphRequest \&request\_) const
  Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.
 
QueryGraphResponse queryGraph (const QueryGraphRequest \&request\_, QueryGraphResponse \&response\_) const
  Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.
 
QueryGraphResponse  queryGraph (const std::string \&graphName, const std::vector\< std::string > \&queries, const std::vector\< std::string > \&restrictions, const std::string \&adjacencyTable, const int32\_t rings, const std::map\< std::string, std::string > \&options) const
  Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.
 
QueryGraphResponse queryGraph (const std::string \&graphName, const std::vector\< std::string > \&queries, const std::vector\< std::string > \&restrictions, const std::string \&adjacencyTable, const int32\_t rings, const std::map\< std::string, std::string > \&options, QueryGraphResponse \&response\_) const
  Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.
 
RepartitionGraphResponse  repartitionGraph (const RepartitionGraphRequest \&request\_) const
  Rebalances an existing partitioned graph.
 
RepartitionGraphResponse repartitionGraph (const RepartitionGraphRequest \&request\_, RepartitionGraphResponse \&response\_) const
  Rebalances an existing partitioned graph.
 
RepartitionGraphResponse  repartitionGraph (const std::string \&graphName, const std::map\< std::string, std::string > \&options) const
  Rebalances an existing partitioned graph.
 
RepartitionGraphResponse repartitionGraph (const std::string \&graphName, const std::map\< std::string, std::string > \&options, RepartitionGraphResponse \&response\_) const
  Rebalances an existing partitioned graph.
 
RestoreBackupResponse  restoreBackup (const RestoreBackupRequest \&request\_) const
  Restores database objects from a backup accessible via the data source specified by datasourceName.
 
RestoreBackupResponse restoreBackup (const RestoreBackupRequest \&request\_, RestoreBackupResponse \&response\_) const
  Restores database objects from a backup accessible via the data source specified by datasourceName.
 
RestoreBackupResponse  restoreBackup (const std::string \&backupName, const std::map\< std::string, std::string > \&restoreObjectsMap, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options) const
  Restores database objects from a backup accessible via the data source specified by datasourceName.
 
RestoreBackupResponse restoreBackup (const std::string \&backupName, const std::map\< std::string, std::string > \&restoreObjectsMap, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options, RestoreBackupResponse \&response\_) const
  Restores database objects from a backup accessible via the data source specified by datasourceName.
 
RevokePermissionResponse  revokePermission (const RevokePermissionRequest \&request\_) const
  Revoke user or role the specified permission on the specified object.
 
RevokePermissionResponse revokePermission (const RevokePermissionRequest \&request\_, RevokePermissionResponse \&response\_) const
  Revoke user or role the specified permission on the specified object.
 
RevokePermissionResponse  revokePermission (const std::string \&principal, const std::string \&object, const std::string \&objectType, const std::string \&permission, const std::map\< std::string, std::string > \&options) const
  Revoke user or role the specified permission on the specified object.
 
RevokePermissionResponse revokePermission (const std::string \&principal, const std::string \&object, const std::string \&objectType, const std::string \&permission, const std::map\< std::string, std::string > \&options, RevokePermissionResponse \&response\_) const
  Revoke user or role the specified permission on the specified object.
 
RevokePermissionCredentialResponse  revokePermissionCredential (const RevokePermissionCredentialRequest \&request\_) const
  Revokes a credential-level permission from a user or role.
 
RevokePermissionCredentialResponse revokePermissionCredential (const RevokePermissionCredentialRequest \&request\_, RevokePermissionCredentialResponse \&response\_) const
  Revokes a credential-level permission from a user or role.
 
RevokePermissionCredentialResponse  revokePermissionCredential (const std::string \&name, const std::string \&permission, const std::string \&credentialName, const std::map\< std::string, std::string > \&options) const
  Revokes a credential-level permission from a user or role.
 
RevokePermissionCredentialResponse revokePermissionCredential (const std::string \&name, const std::string \&permission, const std::string \&credentialName, const std::map\< std::string, std::string > \&options, RevokePermissionCredentialResponse \&response\_) const
  Revokes a credential-level permission from a user or role.
 
RevokePermissionDatasourceResponse  revokePermissionDatasource (const RevokePermissionDatasourceRequest \&request\_) const
  Revokes a data source permission from a user or role.
 
RevokePermissionDatasourceResponse revokePermissionDatasource (const RevokePermissionDatasourceRequest \&request\_, RevokePermissionDatasourceResponse \&response\_) const
  Revokes a data source permission from a user or role.
 
RevokePermissionDatasourceResponse  revokePermissionDatasource (const std::string \&name, const std::string \&permission, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options) const
  Revokes a data source permission from a user or role.
 
RevokePermissionDatasourceResponse revokePermissionDatasource (const std::string \&name, const std::string \&permission, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options, RevokePermissionDatasourceResponse \&response\_) const
  Revokes a data source permission from a user or role.
 
RevokePermissionDirectoryResponse  revokePermissionDirectory (const RevokePermissionDirectoryRequest \&request\_) const
  Revokes a KiFS directory-level permission from a user or role.
 
RevokePermissionDirectoryResponse revokePermissionDirectory (const RevokePermissionDirectoryRequest \&request\_, RevokePermissionDirectoryResponse \&response\_) const
  Revokes a KiFS directory-level permission from a user or role.
 
RevokePermissionDirectoryResponse  revokePermissionDirectory (const std::string \&name, const std::string \&permission, const std::string \&directoryName, const std::map\< std::string, std::string > \&options) const
  Revokes a KiFS directory-level permission from a user or role.
 
RevokePermissionDirectoryResponse revokePermissionDirectory (const std::string \&name, const std::string \&permission, const std::string \&directoryName, const std::map\< std::string, std::string > \&options, RevokePermissionDirectoryResponse \&response\_) const
  Revokes a KiFS directory-level permission from a user or role.
 
RevokePermissionProcResponse  revokePermissionProc (const RevokePermissionProcRequest \&request\_) const
  Revokes a proc-level permission from a user or role.
 
RevokePermissionProcResponse revokePermissionProc (const RevokePermissionProcRequest \&request\_, RevokePermissionProcResponse \&response\_) const
  Revokes a proc-level permission from a user or role.
 
RevokePermissionProcResponse  revokePermissionProc (const std::string \&name, const std::string \&permission, const std::string \&procName, const std::map\< std::string, std::string > \&options) const
  Revokes a proc-level permission from a user or role.
 
RevokePermissionProcResponse revokePermissionProc (const std::string \&name, const std::string \&permission, const std::string \&procName, const std::map\< std::string, std::string > \&options, RevokePermissionProcResponse \&response\_) const
  Revokes a proc-level permission from a user or role.
 
RevokePermissionSystemResponse  revokePermissionSystem (const RevokePermissionSystemRequest \&request\_) const
  Revokes a system-level permission from a user or role.
 
RevokePermissionSystemResponse revokePermissionSystem (const RevokePermissionSystemRequest \&request\_, RevokePermissionSystemResponse \&response\_) const
  Revokes a system-level permission from a user or role.
 
RevokePermissionSystemResponse  revokePermissionSystem (const std::string \&name, const std::string \&permission, const std::map\< std::string, std::string > \&options) const
  Revokes a system-level permission from a user or role.
 
RevokePermissionSystemResponse revokePermissionSystem (const std::string \&name, const std::string \&permission, const std::map\< std::string, std::string > \&options, RevokePermissionSystemResponse \&response\_) const
  Revokes a system-level permission from a user or role.
 
RevokePermissionTableResponse  revokePermissionTable (const RevokePermissionTableRequest \&request\_) const
  Revokes a table-level permission from a user or role.
 
RevokePermissionTableResponse revokePermissionTable (const RevokePermissionTableRequest \&request\_, RevokePermissionTableResponse \&response\_) const
  Revokes a table-level permission from a user or role.
 
RevokePermissionTableResponse  revokePermissionTable (const std::string \&name, const std::string \&permission, const std::string \&tableName, const std::map\< std::string, std::string > \&options) const
  Revokes a table-level permission from a user or role.
 
RevokePermissionTableResponse revokePermissionTable (const std::string \&name, const std::string \&permission, const std::string \&tableName, const std::map\< std::string, std::string > \&options, RevokePermissionTableResponse \&response\_) const
  Revokes a table-level permission from a user or role.
 
RevokeRoleResponse  revokeRole (const RevokeRoleRequest \&request\_) const
  Revokes membership in a role from a user or role.
 
RevokeRoleResponse revokeRole (const RevokeRoleRequest \&request\_, RevokeRoleResponse \&response\_) const
  Revokes membership in a role from a user or role.
 
RevokeRoleResponse  revokeRole (const std::string \&role, const std::string \&member, const std::map\< std::string, std::string > \&options) const
  Revokes membership in a role from a user or role.
 
RevokeRoleResponse revokeRole (const std::string \&role, const std::string \&member, const std::map\< std::string, std::string > \&options, RevokeRoleResponse \&response\_) const
  Revokes membership in a role from a user or role.
 
ShowBackupResponse  showBackup (const ShowBackupRequest \&request\_) const
  Shows information about one or more backups accessible via the data source specified by datasourceName.
 
ShowBackupResponse showBackup (const ShowBackupRequest \&request\_, ShowBackupResponse \&response\_) const
  Shows information about one or more backups accessible via the data source specified by datasourceName.
 
ShowBackupResponse  showBackup (const std::string \&backupName, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options) const
  Shows information about one or more backups accessible via the data source specified by datasourceName.
 
ShowBackupResponse showBackup (const std::string \&backupName, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options, ShowBackupResponse \&response\_) const
  Shows information about one or more backups accessible via the data source specified by datasourceName.
 
ShowCredentialResponse  showCredential (const ShowCredentialRequest \&request\_) const
  Shows information about a specified credential or all credentials.
 
ShowCredentialResponse showCredential (const ShowCredentialRequest \&request\_, ShowCredentialResponse \&response\_) const
  Shows information about a specified credential or all credentials.
 
ShowCredentialResponse  showCredential (const std::string \&credentialName, const std::map\< std::string, std::string > \&options) const
  Shows information about a specified credential or all credentials.
 
ShowCredentialResponse showCredential (const std::string \&credentialName, const std::map\< std::string, std::string > \&options, ShowCredentialResponse \&response\_) const
  Shows information about a specified credential or all credentials.
 
ShowDatasinkResponse  showDatasink (const ShowDatasinkRequest \&request\_) const
  Shows information about a specified data sink or all data sinks.
 
ShowDatasinkResponse showDatasink (const ShowDatasinkRequest \&request\_, ShowDatasinkResponse \&response\_) const
  Shows information about a specified data sink or all data sinks.
 
ShowDatasinkResponse  showDatasink (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Shows information about a specified data sink or all data sinks.
 
ShowDatasinkResponse showDatasink (const std::string \&name, const std::map\< std::string, std::string > \&options, ShowDatasinkResponse \&response\_) const
  Shows information about a specified data sink or all data sinks.
 
ShowDatasourceResponse  showDatasource (const ShowDatasourceRequest \&request\_) const
  Shows information about a specified data source or all data sources.
 
ShowDatasourceResponse showDatasource (const ShowDatasourceRequest \&request\_, ShowDatasourceResponse \&response\_) const
  Shows information about a specified data source or all data sources.
 
ShowDatasourceResponse  showDatasource (const std::string \&name, const std::map\< std::string, std::string > \&options) const
  Shows information about a specified data source or all data sources.
 
ShowDatasourceResponse showDatasource (const std::string \&name, const std::map\< std::string, std::string > \&options, ShowDatasourceResponse \&response\_) const
  Shows information about a specified data source or all data sources.
 
ShowDirectoriesResponse  showDirectories (const ShowDirectoriesRequest \&request\_) const
  Shows information about directories in KiFS.
 
ShowDirectoriesResponse showDirectories (const ShowDirectoriesRequest \&request\_, ShowDirectoriesResponse \&response\_) const
  Shows information about directories in KiFS.
 
ShowDirectoriesResponse  showDirectories (const std::string \&directoryName, const std::map\< std::string, std::string > \&options) const
  Shows information about directories in KiFS.
 
ShowDirectoriesResponse showDirectories (const std::string \&directoryName, const std::map\< std::string, std::string > \&options, ShowDirectoriesResponse \&response\_) const
  Shows information about directories in KiFS.
 
ShowEnvironmentResponse  showEnvironment (const ShowEnvironmentRequest \&request\_) const
  Shows information about a specified user-defined function (UDF) environment or all environments.
 
ShowEnvironmentResponse showEnvironment (const ShowEnvironmentRequest \&request\_, ShowEnvironmentResponse \&response\_) const
  Shows information about a specified user-defined function (UDF) environment or all environments.
 
ShowEnvironmentResponse  showEnvironment (const std::string \&environmentName, const std::map\< std::string, std::string > \&options) const
  Shows information about a specified user-defined function (UDF) environment or all environments.
 
ShowEnvironmentResponse showEnvironment (const std::string \&environmentName, const std::map\< std::string, std::string > \&options, ShowEnvironmentResponse \&response\_) const
  Shows information about a specified user-defined function (UDF) environment or all environments.
 
ShowFilesResponse  showFiles (const ShowFilesRequest \&request\_) const
  Shows information about files in KiFS.
 
ShowFilesResponse showFiles (const ShowFilesRequest \&request\_, ShowFilesResponse \&response\_) const
  Shows information about files in KiFS.
 
ShowFilesResponse  showFiles (const std::vector\< std::string > \&paths, const std::map\< std::string, std::string > \&options) const
  Shows information about files in KiFS.
 
ShowFilesResponse showFiles (const std::vector\< std::string > \&paths, const std::map\< std::string, std::string > \&options, ShowFilesResponse \&response\_) const
  Shows information about files in KiFS.
 
ShowGraphResponse  showGraph (const ShowGraphRequest \&request\_) const
  Shows information and characteristics of graphs that exist on the graph server.
 
ShowGraphResponse showGraph (const ShowGraphRequest \&request\_, ShowGraphResponse \&response\_) const
  Shows information and characteristics of graphs that exist on the graph server.
 
ShowGraphResponse  showGraph (const std::string \&graphName, const std::map\< std::string, std::string > \&options) const
  Shows information and characteristics of graphs that exist on the graph server.
 
ShowGraphResponse showGraph (const std::string \&graphName, const std::map\< std::string, std::string > \&options, ShowGraphResponse \&response\_) const
  Shows information and characteristics of graphs that exist on the graph server.
 
ShowProcResponse  showProc (const ShowProcRequest \&request\_) const
  Shows information about a proc.
 
ShowProcResponse showProc (const ShowProcRequest \&request\_, ShowProcResponse \&response\_) const
  Shows information about a proc.
 
ShowProcResponse  showProc (const std::string \&procName, const std::map\< std::string, std::string > \&options) const
  Shows information about a proc.
 
ShowProcResponse showProc (const std::string \&procName, const std::map\< std::string, std::string > \&options, ShowProcResponse \&response\_) const
  Shows information about a proc.
 
ShowProcStatusResponse  showProcStatus (const ShowProcStatusRequest \&request\_) const
  Shows the statuses of running or completed proc instances.
 
ShowProcStatusResponse showProcStatus (const ShowProcStatusRequest \&request\_, ShowProcStatusResponse \&response\_) const
  Shows the statuses of running or completed proc instances.
 
ShowProcStatusResponse  showProcStatus (const std::string \&runId, const std::map\< std::string, std::string > \&options) const
  Shows the statuses of running or completed proc instances.
 
ShowProcStatusResponse showProcStatus (const std::string \&runId, const std::map\< std::string, std::string > \&options, ShowProcStatusResponse \&response\_) const
  Shows the statuses of running or completed proc instances.
 
ShowResourceObjectsResponse  showResourceObjects (const ShowResourceObjectsRequest \&request\_) const
  Returns information about the internal sub-components (tiered objects) which use resources of the system.
 
ShowResourceObjectsResponse showResourceObjects (const ShowResourceObjectsRequest \&request\_, ShowResourceObjectsResponse \&response\_) const
  Returns information about the internal sub-components (tiered objects) which use resources of the system.
 
ShowResourceObjectsResponse  showResourceObjects (const std::map\< std::string, std::string > \&options) const
  Returns information about the internal sub-components (tiered objects) which use resources of the system.
 
ShowResourceObjectsResponse showResourceObjects (const std::map\< std::string, std::string > \&options, ShowResourceObjectsResponse \&response\_) const
  Returns information about the internal sub-components (tiered objects) which use resources of the system.
 
ShowResourceStatisticsResponse  showResourceStatistics (const ShowResourceStatisticsRequest \&request\_) const
  Requests various statistics for storage/memory tiers and resource groups.
 
ShowResourceStatisticsResponse showResourceStatistics (const ShowResourceStatisticsRequest \&request\_, ShowResourceStatisticsResponse \&response\_) const
  Requests various statistics for storage/memory tiers and resource groups.
 
ShowResourceStatisticsResponse  showResourceStatistics (const std::map\< std::string, std::string > \&options) const
  Requests various statistics for storage/memory tiers and resource groups.
 
ShowResourceStatisticsResponse showResourceStatistics (const std::map\< std::string, std::string > \&options, ShowResourceStatisticsResponse \&response\_) const
  Requests various statistics for storage/memory tiers and resource groups.
 
ShowResourceGroupsResponse  showResourceGroups (const ShowResourceGroupsRequest \&request\_) const
  Requests resource group properties.
 
ShowResourceGroupsResponse showResourceGroups (const ShowResourceGroupsRequest \&request\_, ShowResourceGroupsResponse \&response\_) const
  Requests resource group properties.
 
ShowResourceGroupsResponse  showResourceGroups (const std::vector\< std::string > \&names, const std::map\< std::string, std::string > \&options) const
  Requests resource group properties.
 
ShowResourceGroupsResponse showResourceGroups (const std::vector\< std::string > \&names, const std::map\< std::string, std::string > \&options, ShowResourceGroupsResponse \&response\_) const
  Requests resource group properties.
 
ShowSchemaResponse  showSchema (const ShowSchemaRequest \&request\_) const
  Retrieves information about a schema (or all schemas), as specified in schemaName.
 
ShowSchemaResponse showSchema (const ShowSchemaRequest \&request\_, ShowSchemaResponse \&response\_) const
  Retrieves information about a schema (or all schemas), as specified in schemaName.
 
ShowSchemaResponse  showSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options) const
  Retrieves information about a schema (or all schemas), as specified in schemaName.
 
ShowSchemaResponse showSchema (const std::string \&schemaName, const std::map\< std::string, std::string > \&options, ShowSchemaResponse \&response\_) const
  Retrieves information about a schema (or all schemas), as specified in schemaName.
 
ShowSecurityResponse  showSecurity (const ShowSecurityRequest \&request\_) const
  Shows security information relating to users and/or roles.
 
ShowSecurityResponse showSecurity (const ShowSecurityRequest \&request\_, ShowSecurityResponse \&response\_) const
  Shows security information relating to users and/or roles.
 
ShowSecurityResponse  showSecurity (const std::vector\< std::string > \&names, const std::map\< std::string, std::string > \&options) const
  Shows security information relating to users and/or roles.
 
ShowSecurityResponse showSecurity (const std::vector\< std::string > \&names, const std::map\< std::string, std::string > \&options, ShowSecurityResponse \&response\_) const
  Shows security information relating to users and/or roles.
 
ShowSqlProcResponse  showSqlProc (const ShowSqlProcRequest \&request\_) const
  Shows information about SQL procedures, including the full definition of each requested procedure.
 
ShowSqlProcResponse showSqlProc (const ShowSqlProcRequest \&request\_, ShowSqlProcResponse \&response\_) const
  Shows information about SQL procedures, including the full definition of each requested procedure.
 
ShowSqlProcResponse  showSqlProc (const std::string \&procedureName, const std::map\< std::string, std::string > \&options) const
  Shows information about SQL procedures, including the full definition of each requested procedure.
 
ShowSqlProcResponse showSqlProc (const std::string \&procedureName, const std::map\< std::string, std::string > \&options, ShowSqlProcResponse \&response\_) const
  Shows information about SQL procedures, including the full definition of each requested procedure.
 
ShowStatisticsResponse  showStatistics (const ShowStatisticsRequest \&request\_) const
  Retrieves the collected column statistics for the specified table(s).
 
ShowStatisticsResponse showStatistics (const ShowStatisticsRequest \&request\_, ShowStatisticsResponse \&response\_) const
  Retrieves the collected column statistics for the specified table(s).
 
ShowStatisticsResponse  showStatistics (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options) const
  Retrieves the collected column statistics for the specified table(s).
 
ShowStatisticsResponse showStatistics (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options, ShowStatisticsResponse \&response\_) const
  Retrieves the collected column statistics for the specified table(s).
 
ShowSystemPropertiesResponse  showSystemProperties (const ShowSystemPropertiesRequest \&request\_) const
  Returns server configuration and version related information to the caller.
 
ShowSystemPropertiesResponse showSystemProperties (const ShowSystemPropertiesRequest \&request\_, ShowSystemPropertiesResponse \&response\_) const
  Returns server configuration and version related information to the caller.
 
ShowSystemPropertiesResponse  showSystemProperties (const std::map\< std::string, std::string > \&options) const
  Returns server configuration and version related information to the caller.
 
ShowSystemPropertiesResponse showSystemProperties (const std::map\< std::string, std::string > \&options, ShowSystemPropertiesResponse \&response\_) const
  Returns server configuration and version related information to the caller.
 
ShowSystemStatusResponse  showSystemStatus (const ShowSystemStatusRequest \&request\_) const
  Provides server configuration and health related status to the caller.
 
ShowSystemStatusResponse showSystemStatus (const ShowSystemStatusRequest \&request\_, ShowSystemStatusResponse \&response\_) const
  Provides server configuration and health related status to the caller.
 
ShowSystemStatusResponse  showSystemStatus (const std::map\< std::string, std::string > \&options) const
  Provides server configuration and health related status to the caller.
 
ShowSystemStatusResponse showSystemStatus (const std::map\< std::string, std::string > \&options, ShowSystemStatusResponse \&response\_) const
  Provides server configuration and health related status to the caller.
 
ShowSystemTimingResponse  showSystemTiming (const ShowSystemTimingRequest \&request\_) const
  Returns the last 100 database requests along with the request timing and internal job ID.
 
ShowSystemTimingResponse showSystemTiming (const ShowSystemTimingRequest \&request\_, ShowSystemTimingResponse \&response\_) const
  Returns the last 100 database requests along with the request timing and internal job ID.
 
ShowSystemTimingResponse  showSystemTiming (const std::map\< std::string, std::string > \&options) const
  Returns the last 100 database requests along with the request timing and internal job ID.
 
ShowSystemTimingResponse showSystemTiming (const std::map\< std::string, std::string > \&options, ShowSystemTimingResponse \&response\_) const
  Returns the last 100 database requests along with the request timing and internal job ID.
 
ShowTableResponse  showTable (const ShowTableRequest \&request\_) const
  Retrieves detailed information about a table, view, or schema, specified in tableName.
 
ShowTableResponse showTable (const ShowTableRequest \&request\_, ShowTableResponse \&response\_) const
  Retrieves detailed information about a table, view, or schema, specified in tableName.
 
ShowTableResponse  showTable (const std::string \&tableName, const std::map\< std::string, std::string > \&options) const
  Retrieves detailed information about a table, view, or schema, specified in tableName.
 
ShowTableResponse showTable (const std::string \&tableName, const std::map\< std::string, std::string > \&options, ShowTableResponse \&response\_) const
  Retrieves detailed information about a table, view, or schema, specified in tableName.
 
ShowTableMetadataResponse  showTableMetadata (const ShowTableMetadataRequest \&request\_) const
  Retrieves the user provided metadata for the specified tables.
 
ShowTableMetadataResponse showTableMetadata (const ShowTableMetadataRequest \&request\_, ShowTableMetadataResponse \&response\_) const
  Retrieves the user provided metadata for the specified tables.
 
ShowTableMetadataResponse  showTableMetadata (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options) const
  Retrieves the user provided metadata for the specified tables.
 
ShowTableMetadataResponse showTableMetadata (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options, ShowTableMetadataResponse \&response\_) const
  Retrieves the user provided metadata for the specified tables.
 
ShowTableMonitorsResponse  showTableMonitors (const ShowTableMonitorsRequest \&request\_) const
  Show table monitors and their properties.
 
ShowTableMonitorsResponse showTableMonitors (const ShowTableMonitorsRequest \&request\_, ShowTableMonitorsResponse \&response\_) const
  Show table monitors and their properties.
 
ShowTableMonitorsResponse  showTableMonitors (const std::vector\< std::string > \&monitorIds, const std::map\< std::string, std::string > \&options) const
  Show table monitors and their properties.
 
ShowTableMonitorsResponse showTableMonitors (const std::vector\< std::string > \&monitorIds, const std::map\< std::string, std::string > \&options, ShowTableMonitorsResponse \&response\_) const
  Show table monitors and their properties.
 
ShowTablesByTypeResponse  showTablesByType (const ShowTablesByTypeRequest \&request\_) const
  Gets names of the tables whose type matches the given criteria.
 
ShowTablesByTypeResponse showTablesByType (const ShowTablesByTypeRequest \&request\_, ShowTablesByTypeResponse \&response\_) const
  Gets names of the tables whose type matches the given criteria.
 
ShowTablesByTypeResponse  showTablesByType (const std::string \&typeId, const std::string \&label, const std::map\< std::string, std::string > \&options) const
  Gets names of the tables whose type matches the given criteria.
 
ShowTablesByTypeResponse showTablesByType (const std::string \&typeId, const std::string \&label, const std::map\< std::string, std::string > \&options, ShowTablesByTypeResponse \&response\_) const
  Gets names of the tables whose type matches the given criteria.
 
ShowTriggersResponse  showTriggers (const ShowTriggersRequest \&request\_) const
  Retrieves information regarding the specified triggers or all existing triggers currently active.
 
ShowTriggersResponse showTriggers (const ShowTriggersRequest \&request\_, ShowTriggersResponse \&response\_) const
  Retrieves information regarding the specified triggers or all existing triggers currently active.
 
ShowTriggersResponse  showTriggers (const std::vector\< std::string > \&triggerIds, const std::map\< std::string, std::string > \&options) const
  Retrieves information regarding the specified triggers or all existing triggers currently active.
 
ShowTriggersResponse showTriggers (const std::vector\< std::string > \&triggerIds, const std::map\< std::string, std::string > \&options, ShowTriggersResponse \&response\_) const
  Retrieves information regarding the specified triggers or all existing triggers currently active.
 
ShowTypesResponse  showTypes (const ShowTypesRequest \&request\_) const
  Retrieves information for the specified data type ID or type label.
 
ShowTypesResponse showTypes (const ShowTypesRequest \&request\_, ShowTypesResponse \&response\_) const
  Retrieves information for the specified data type ID or type label.
 
ShowTypesResponse  showTypes (const std::string \&typeId, const std::string \&label, const std::map\< std::string, std::string > \&options) const
  Retrieves information for the specified data type ID or type label.
 
ShowTypesResponse showTypes (const std::string \&typeId, const std::string \&label, const std::map\< std::string, std::string > \&options, ShowTypesResponse \&response\_) const
  Retrieves information for the specified data type ID or type label.
 
ShowVideoResponse  showVideo (const ShowVideoRequest \&request\_) const
  Retrieves information about rendered videos.
 
ShowVideoResponse showVideo (const ShowVideoRequest \&request\_, ShowVideoResponse \&response\_) const
  Retrieves information about rendered videos.
 
ShowVideoResponse  showVideo (const std::vector\< std::string > \&paths, const std::map\< std::string, std::string > \&options) const
  Retrieves information about rendered videos.
 
ShowVideoResponse showVideo (const std::vector\< std::string > \&paths, const std::map\< std::string, std::string > \&options, ShowVideoResponse \&response\_) const
  Retrieves information about rendered videos.
 
ShowWalResponse  showWal (const ShowWalRequest \&request\_) const
  Requests table write-ahead log (WAL) properties.
 
ShowWalResponse showWal (const ShowWalRequest \&request\_, ShowWalResponse \&response\_) const
  Requests table write-ahead log (WAL) properties.
 
ShowWalResponse  showWal (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options) const
  Requests table write-ahead log (WAL) properties.
 
ShowWalResponse showWal (const std::vector\< std::string > \&tableNames, const std::map\< std::string, std::string > \&options, ShowWalResponse \&response\_) const
  Requests table write-ahead log (WAL) properties.
 
SolveGraphResponse  solveGraph (const SolveGraphRequest \&request\_) const
  Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.
 
SolveGraphResponse solveGraph (const SolveGraphRequest \&request\_, SolveGraphResponse \&response\_) const
  Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.
 
SolveGraphResponse  solveGraph (const std::string \&graphName, const std::vector\< std::string > \&weightsOnEdges, const std::vector\< std::string > \&restrictions, const std::string \&solverType, const std::vector\< std::string > \&sourceNodes, const std::vector\< std::string > \&destinationNodes, const std::string \&solutionTable, const std::map\< std::string, std::string > \&options) const
  Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.
 
SolveGraphResponse solveGraph (const std::string \&graphName, const std::vector\< std::string > \&weightsOnEdges, const std::vector\< std::string > \&restrictions, const std::string \&solverType, const std::vector\< std::string > \&sourceNodes, const std::vector\< std::string > \&destinationNodes, const std::string \&solutionTable, const std::map\< std::string, std::string > \&options, SolveGraphResponse \&response\_) const
  Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.
 
UpdateRecordsResponse  updateRecordsRaw (const RawUpdateRecordsRequest \&request\_) const
  Runs multiple predicate-based updates in a single call.
 
UpdateRecordsResponse updateRecordsRaw (const RawUpdateRecordsRequest \&request\_, UpdateRecordsResponse \&response\_) const
  Runs multiple predicate-based updates in a single call.
 
template\
UpdateRecordsResponse  updateRecords (const UpdateRecordsRequest\< TRequest > \&request\_) const
  Runs multiple predicate-based updates in a single call.
 
template\
UpdateRecordsResponse updateRecords (const UpdateRecordsRequest\< TRequest > \&request\_, UpdateRecordsResponse \&response\_) const
  Runs multiple predicate-based updates in a single call.
 
template\
UpdateRecordsResponse  updateRecords (const std::string \&tableName, const std::vector\< std::string > \&expressions, const std::vector\< std::map\< std::string, boost::optional\< std::string > > > \&newValuesMaps, const std::vector\< TRequest > \&data, const std::map\< std::string, std::string > \&options) const
  Runs multiple predicate-based updates in a single call.
 
template\
UpdateRecordsResponse updateRecords (const std::string \&tableName, const std::vector\< std::string > \&expressions, const std::vector\< std::map\< std::string, boost::optional\< std::string > > > \&newValuesMaps, const std::vector\< TRequest > \&data, const std::map\< std::string, std::string > \&options, UpdateRecordsResponse \&response\_) const
  Runs multiple predicate-based updates in a single call.
 
UploadFilesResponse  uploadFiles (const UploadFilesRequest \&request\_) const
  Uploads one or more files to KiFS.
 
UploadFilesResponse uploadFiles (const UploadFilesRequest \&request\_, UploadFilesResponse \&response\_) const
  Uploads one or more files to KiFS.
 
UploadFilesResponse  uploadFiles (const std::vector\< std::string > \&fileNames, const std::vector\< std::vector\< uint8\_t > > \&fileData, const std::map\< std::string, std::string > \&options) const
  Uploads one or more files to KiFS.
 
UploadFilesResponse uploadFiles (const std::vector\< std::string > \&fileNames, const std::vector\< std::vector\< uint8\_t > > \&fileData, const std::map\< std::string, std::string > \&options, UploadFilesResponse \&response\_) const
  Uploads one or more files to KiFS.
 
UploadFilesFromurlResponse  uploadFilesFromurl (const UploadFilesFromurlRequest \&request\_) const
  Uploads one or more files to KiFS.
 
UploadFilesFromurlResponse uploadFilesFromurl (const UploadFilesFromurlRequest \&request\_, UploadFilesFromurlResponse \&response\_) const
  Uploads one or more files to KiFS.
 
UploadFilesFromurlResponse  uploadFilesFromurl (const std::vector\< std::string > \&fileNames, const std::vector\< std::string > \&urls, const std::map\< std::string, std::string > \&options) const
  Uploads one or more files to KiFS.
 
UploadFilesFromurlResponse uploadFilesFromurl (const std::vector\< std::string > \&fileNames, const std::vector\< std::string > \&urls, const std::map\< std::string, std::string > \&options, UploadFilesFromurlResponse \&response\_) const
  Uploads one or more files to KiFS.
 
VerifyBackupResponse  verifyBackup (const VerifyBackupRequest \&request\_) const
  Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.
 
VerifyBackupResponse verifyBackup (const VerifyBackupRequest \&request\_, VerifyBackupResponse \&response\_) const
  Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.
 
VerifyBackupResponse  verifyBackup (const std::string \&backupName, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options) const
  Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.
 
VerifyBackupResponse verifyBackup (const std::string \&backupName, const std::string \&datasourceName, const std::map\< std::string, std::string > \&options, VerifyBackupResponse \&response\_) const
  Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.
 
VisualizeImageChartResponse  visualizeImageChart (const VisualizeImageChartRequest \&request\_) const
  Scatter plot is the only plot type currently supported.
 
VisualizeImageChartResponse visualizeImageChart (const VisualizeImageChartRequest \&request\_, VisualizeImageChartResponse \&response\_) const
  Scatter plot is the only plot type currently supported.
 
VisualizeImageChartResponse  visualizeImageChart (const std::string \&tableName, const std::vector\< std::string > \&xColumnNames, const std::vector\< std::string > \&yColumnNames, const double minX, const double maxX, const double minY, const double maxY, const int32\_t width, const int32\_t height, const std::string \&bgColor, const std::map\< std::string, std::vector\< std::string > > \&styleOptions, const std::map\< std::string, std::string > \&options) const
  Scatter plot is the only plot type currently supported.
 
VisualizeImageChartResponse visualizeImageChart (const std::string \&tableName, const std::vector\< std::string > \&xColumnNames, const std::vector\< std::string > \&yColumnNames, const double minX, const double maxX, const double minY, const double maxY, const int32\_t width, const int32\_t height, const std::string \&bgColor, const std::map\< std::string, std::vector\< std::string > > \&styleOptions, const std::map\< std::string, std::string > \&options, VisualizeImageChartResponse \&response\_) const
  Scatter plot is the only plot type currently supported.
 
VisualizeIsochroneResponse  visualizeIsochrone (const VisualizeIsochroneRequest \&request\_) const
  Generate an image containing isolines for travel results using an existing graph.
 
VisualizeIsochroneResponse visualizeIsochrone (const VisualizeIsochroneRequest \&request\_, VisualizeIsochroneResponse \&response\_) const
  Generate an image containing isolines for travel results using an existing graph.
 
VisualizeIsochroneResponse  visualizeIsochrone (const std::string \&graphName, const std::string \&sourceNode, const double maxSolutionRadius, const std::vector\< std::string > \&weightsOnEdges, const std::vector\< std::string > \&restrictions, const int32\_t numLevels, const bool generateImage, const std::string \&levelsTable, const std::map\< std::string, std::string > \&styleOptions, const std::map\< std::string, std::string > \&solveOptions, const std::map\< std::string, std::string > \&contourOptions, const std::map\< std::string, std::string > \&options) const
  Generate an image containing isolines for travel results using an existing graph.
 
VisualizeIsochroneResponse visualizeIsochrone (const std::string \&graphName, const std::string \&sourceNode, const double maxSolutionRadius, const std::vector\< std::string > \&weightsOnEdges, const std::vector\< std::string > \&restrictions, const int32\_t numLevels, const bool generateImage, const std::string \&levelsTable, const std::map\< std::string, std::string > \&styleOptions, const std::map\< std::string, std::string > \&solveOptions, const std::map\< std::string, std::string > \&contourOptions, const std::map\< std::string, std::string > \&options, VisualizeIsochroneResponse \&response\_) const
  Generate an image containing isolines for travel results using an existing graph.
 
void  addKnownType (const std::string \&typeId, const avro::DecoderPtr \&decoder)
 
template\
void  addKnownType (const std::string \&typeId)
 
template\
void  addKnownType (const std::string \&typeId, const std::string \&schemaString)
 
template\
void  addKnownType (const std::string \&typeId, const ::avro::ValidSchema \&schema)
 
void  addKnownTypeFromTable (const std::string \&tableName, const avro::DecoderPtr \&decoder)
 
template\
void  addKnownTypeFromTable (const std::string \&tableName)
 
template\
void  addKnownTypeFromTable (const std::string \&tableName, const std::string \&schemaString)
 
template\
void  addKnownTypeFromTable (const std::string \&tableName, const ::avro::ValidSchema \&schema)
 
template\<>
GetRecordsResponse\< boost::any >  getRecords (const GetRecordsRequest \&request\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsResponse\< boost::any > &  getRecords (const GetRecordsRequest \&request\_, GetRecordsResponse\< boost::any > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsResponse\< boost::any >  getRecords (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsResponse\< boost::any > &  getRecords (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsResponse\< boost::any > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsBySeriesResponse\< boost::any >  getRecordsBySeries (const GetRecordsBySeriesRequest \&request\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsBySeriesResponse\< boost::any > &  getRecordsBySeries (const GetRecordsBySeriesRequest \&request\_, GetRecordsBySeriesResponse\< boost::any > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsBySeriesResponse\< boost::any >  getRecordsBySeries (const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsBySeriesResponse\< boost::any > &  getRecordsBySeries (const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsBySeriesResponse\< boost::any > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any >  getRecordsFromCollection (const GetRecordsFromCollectionRequest \&request\_) const
  Retrieves records from a collection.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any > &  getRecordsFromCollection (const GetRecordsFromCollectionRequest \&request\_, GetRecordsFromCollectionResponse\< boost::any > \&response\_) const
  Retrieves records from a collection.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any >  getRecordsFromCollection (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a collection.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any > &  getRecordsFromCollection (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsFromCollectionResponse\< boost::any > \&response\_) const
  Retrieves records from a collection.
 
template\<>
GetRecordsResponse\< boost::any >  getRecords (const GetRecordsRequest \&request\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsResponse\< boost::any > &  getRecords (const GetRecordsRequest \&request\_, GetRecordsResponse\< boost::any > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsResponse\< boost::any >  getRecords (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsResponse\< boost::any > &  getRecords (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsResponse\< boost::any > \&response\_) const
  Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.
 
template\<>
GetRecordsBySeriesResponse\< boost::any >  getRecordsBySeries (const GetRecordsBySeriesRequest \&request\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsBySeriesResponse\< boost::any > &  getRecordsBySeries (const GetRecordsBySeriesRequest \&request\_, GetRecordsBySeriesResponse\< boost::any > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsBySeriesResponse\< boost::any >  getRecordsBySeries (const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsBySeriesResponse\< boost::any > &  getRecordsBySeries (const std::string \&tableName, const std::string \&worldTableName, const int32\_t offset, const int32\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsBySeriesResponse\< boost::any > \&response\_) const
  Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any >  getRecordsFromCollection (const GetRecordsFromCollectionRequest \&request\_) const
  Retrieves records from a collection.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any > &  getRecordsFromCollection (const GetRecordsFromCollectionRequest \&request\_, GetRecordsFromCollectionResponse\< boost::any > \&response\_) const
  Retrieves records from a collection.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any >  getRecordsFromCollection (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options) const
  Retrieves records from a collection.
 
template\<>
GetRecordsFromCollectionResponse\< boost::any > &  getRecordsFromCollection (const std::string \&tableName, const int64\_t offset, const int64\_t limit, const std::map\< std::string, std::string > \&options, GetRecordsFromCollectionResponse\< boost::any > \&response\_) const
  Retrieves records from a collection.
 

Static Public Member Functions

static std::string  getApiVersion ()
 
static std::string  sanitizeUserAgentToken (const std::string \&value)
  Sanitizes a token for use in the User-Agent header by replacing disallowed characters with underscores.
 

Static Public Attributes

static const int64\_t  END\_OF\_SET = -9999
 
static const std::string  DB\_CONNECTION\_RESET\_ERROR\_MESSAGE
  Special error messages indicating that a connection failure happened (generally should trigger a high-availability failover if applicable)
 
static const std::string  DB\_CONNECTION\_REFUSED\_ERROR\_MESSAGE
 
static const std::string  DB\_EXITING\_ERROR\_MESSAGE
 
static const std::string  DB\_OFFLINE\_ERROR\_MESSAGE
 
static const std::string  DB\_SYSTEM\_LIMITED\_ERROR\_MESSAGE
 
static const std::string  DB\_HM\_OFFLINE\_ERROR\_MESSAGE
 
static const std::string  DB\_DRAINING\_HA\_QUEUE\_ERROR\_MESSAGE
 
static const std::string  DB\_SHUTTING\_DOWN\_ERROR\_MESSAGE
 
static const std::string  DB\_QUERY\_PLANNER\_ERROR\_MESSAGE
 
static const std::string  HEADER\_AUTHORIZATION
  Headers used internally; MUST add each of them to PROTECTED\_HEADERS in the .cpp file.
 
static const std::string  HEADER\_CONTENT\_TYPE
 
static const std::string  HEADER\_CONTENT\_LENGTH
 
static const std::string  HEADER\_HA\_SYNC\_MODE
 
static const std::string  HEADER\_USER\_AGENT
 

Friends

class  FailbackPollerService
 

Detailed Description

Definition at line 59 of file GPUdb.hpp.

Member Enumeration Documentation

◆ HASynchronicityMode

A enumeration of high-availability synchronicity override modes.

See also
Enumerator
DEFAULT 

No override; defer to the HA process for synchronizing endpoints (which has different logic for different endpoints)

NONE 

Explicitly do NOT replicate across the HA cluster.

SYNCHRONOUS 

Synchronize all endpoint calls.

SYNCHRONOUS\_PARALLEL 

Sends a http request directly to each cluster, executes the query locally, and waits for the response from each cluster.

ASYNCHRONOUS 

Do NOT synchronize any endpoint call.

ASYNCHRONOUS\_PARALLEL 

Queues a request to RMQ for each cluster, executes the query locally, and returns to the user.

Definition at line 146 of file GPUdb.hpp.

Constructor & Destructor Documentation

◆ GPUdb() \[1/4]

gpudb::GPUdb::GPUdb ( const HttpUrl & url,
const Options & options = Options() )

Pass a single HttpURL and options to instantiate a GPUdb object.

Parameters
\[in] url An HttpURL object containing the single host URL for the client. If no primary URL is specified via the options, the given URL will be used as the primary URL.
\[in] options An optional GPUdb::Options object containing options, e.g. primary cluster URL, used to the create the GPUdb object.

◆ GPUdb() \[2/4]

gpudb::GPUdb::GPUdb ( const std::string & url,
const Options & options = Options() )

Pass a single or multiple, comma-separated URLs as a string and optional options to instantiate a GPUdb object.

Parameters
\[in] url An std::string containing the one host URL or a comma-separated string with multiple host URLs for the client. For example '[http://172.42.40.1:9191,,http://172.42.40.2:9191](http://172.42.40.1:9191,,http://172.42.40.2:9191)'. If a single URL is given, and no primary URL is specified via the options, the given URL will be used as the primary URL.
\[in] options An optional GPUdb::Options object containing options, e.g. primary cluster URL, used to the create the GPUdb object.

◆ GPUdb() \[3/4]

gpudb::GPUdb::GPUdb ( const std::vector\< HttpUrl > & urls,
const Options & options = Options() )

Pass multiple HttpURLs and optional options to instantiate a GPUdb object.

Parameters
\[in] urls The host URLs for the client. If a single URL is given, and no primary URL is specified via the options, the given URL will be used as the primary URL.
\[in] options An optional GPUdb::Options object containing options, e.g. primary cluster URL, used to the create the GPUdb object.

◆ GPUdb() \[4/4]

gpudb::GPUdb::GPUdb ( const std::vector\< std::string > & urls,
const Options & options = Options() )

Pass multiple strings, each containing a single URL, and optional options to instantiate a GPUdb object.

Parameters
\[in] urls The host URLs for the client. Each string must contain a single valid URL. If a single URL is given, and no primary URL is specified via the options, the given URL will be used as the primary URL.
\[in] options An optional GPUdb::Options object containing options, e.g. primary cluster URL, used to the create the GPUdb object.

◆ \~GPUdb()

gpudb::GPUdb::\~GPUdb ( )

Destructor.

Member Function Documentation

◆ addHttpHeader()

void gpudb::GPUdb::addHttpHeader ( const std::string & header,
const std::string & value )

Adds an HTTP header to the map of additional HTTP headers to send to GPUdb with each request.

If the header is already in the map, its value is replaced with the specified value. The user is not allowed to modify the following headers:

  • Authorization
  • Content-type
  • Content-length
  • ha\_sync\_mode
Parameters
header the HTTP header
value the value of the HTTP header

See getHttpHeaders() See removeHttpHeader(const std::string&)

◆ addKnownType() \[1/4]

template\
void gpudb::GPUdb::addKnownType ( const std::string & typeId )
inline

Definition at line 535 of file GPUdb.hpp.

◆ addKnownType() \[2/4]

template\
void gpudb::GPUdb::addKnownType ( const std::string & typeId,
const ::avro::ValidSchema & schema )
inline

Definition at line 547 of file GPUdb.hpp.

◆ addKnownType() \[3/4]

void gpudb::GPUdb::addKnownType ( const std::string & typeId,
const avro::DecoderPtr & decoder )

◆ addKnownType() \[4/4]

template\
void gpudb::GPUdb::addKnownType ( const std::string & typeId,
const std::string & schemaString )
inline

Definition at line 541 of file GPUdb.hpp.

◆ addKnownTypeFromTable() \[1/4]

template\
void gpudb::GPUdb::addKnownTypeFromTable ( const std::string & tableName )
inline

Definition at line 555 of file GPUdb.hpp.

◆ addKnownTypeFromTable() \[2/4]

template\
void gpudb::GPUdb::addKnownTypeFromTable ( const std::string & tableName,
const ::avro::ValidSchema & schema )
inline

Definition at line 567 of file GPUdb.hpp.

◆ addKnownTypeFromTable() \[3/4]

void gpudb::GPUdb::addKnownTypeFromTable ( const std::string & tableName,
const avro::DecoderPtr & decoder )

◆ addKnownTypeFromTable() \[4/4]

template\
void gpudb::GPUdb::addKnownTypeFromTable ( const std::string & tableName,
const std::string & schemaString )
inline

Definition at line 561 of file GPUdb.hpp.

◆ adminAddHost() \[1/4]

AdminAddHostResponse gpudb::GPUdb::adminAddHost ( const AdminAddHostRequest & request\_ ) const

Adds a host to an existing cluster.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminAddHost() \[2/4]

AdminAddHostResponse & gpudb::GPUdb::adminAddHost ( const AdminAddHostRequest & request\_,
AdminAddHostResponse & response\_ ) const

Adds a host to an existing cluster.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAddHost() \[3/4]

AdminAddHostResponse gpudb::GPUdb::adminAddHost ( const std::string & hostAddress,
const std::map\< std::string, std::string > & options ) const

Adds a host to an existing cluster.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] hostAddress IP address of the host that will be added to the cluster. This host must have installed the same version of Kinetica as the cluster to which it is being added.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminAddHost() \[4/4]

AdminAddHostResponse & gpudb::GPUdb::adminAddHost ( const std::string & hostAddress,
const std::map\< std::string, std::string > & options,
AdminAddHostResponse & response\_ ) const

Adds a host to an existing cluster.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] hostAddress IP address of the host that will be added to the cluster. This host must have installed the same version of Kinetica as the cluster to which it is being added.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAddRanks() \[1/4]

AdminAddRanksResponse gpudb::GPUdb::adminAddRanks ( const AdminAddRanksRequest & request\_ ) const

Add one or more ranks to an existing Kinetica cluster.

The new ranks will not contain any data initially (other than replicated tables) and will not be assigned any shards. To rebalance data and shards across the cluster, use adminRebalance.

The database must be offline for this operation, see adminOffline

For example, if attempting to add three new ranks (two ranks on host 172.123.45.67 and one rank on host 172.123.45.68) to a Kinetica cluster with additional configuration parameters:

  • hosts would be an array including 172.123.45.67 in the first two indices (signifying two ranks being added to host 172.123.45.67) and 172.123.45.68 in the last index (signifying one rank being added to host 172.123.45.67)
  • configParams would be an array of maps, with each map corresponding to the ranks being added in hosts. The key of each map would be the configuration parameter name and the value would be the parameter's value, e.g. '"rank.gpu":"1"'

This endpoint's processing includes copying all replicated table data to the new rank(s) and therefore could take a long time. The API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminAddRanks() \[2/4]

AdminAddRanksResponse & gpudb::GPUdb::adminAddRanks ( const AdminAddRanksRequest & request\_,
AdminAddRanksResponse & response\_ ) const

Add one or more ranks to an existing Kinetica cluster.

The new ranks will not contain any data initially (other than replicated tables) and will not be assigned any shards. To rebalance data and shards across the cluster, use adminRebalance.

The database must be offline for this operation, see adminOffline

For example, if attempting to add three new ranks (two ranks on host 172.123.45.67 and one rank on host 172.123.45.68) to a Kinetica cluster with additional configuration parameters:

  • hosts would be an array including 172.123.45.67 in the first two indices (signifying two ranks being added to host 172.123.45.67) and 172.123.45.68 in the last index (signifying one rank being added to host 172.123.45.67)
  • configParams would be an array of maps, with each map corresponding to the ranks being added in hosts. The key of each map would be the configuration parameter name and the value would be the parameter's value, e.g. '"rank.gpu":"1"'

This endpoint's processing includes copying all replicated table data to the new rank(s) and therefore could take a long time. The API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAddRanks() \[3/4]

AdminAddRanksResponse gpudb::GPUdb::adminAddRanks ( const std::vector\< std::string > & hosts,
const std::vector\< std::map\< std::string, std::string > > & configParams,
const std::map\< std::string, std::string > & options ) const

Add one or more ranks to an existing Kinetica cluster.

The new ranks will not contain any data initially (other than replicated tables) and will not be assigned any shards. To rebalance data and shards across the cluster, use adminRebalance.

The database must be offline for this operation, see adminOffline

For example, if attempting to add three new ranks (two ranks on host 172.123.45.67 and one rank on host 172.123.45.68) to a Kinetica cluster with additional configuration parameters:

  • hosts would be an array including 172.123.45.67 in the first two indices (signifying two ranks being added to host 172.123.45.67) and 172.123.45.68 in the last index (signifying one rank being added to host 172.123.45.67)
  • configParams would be an array of maps, with each map corresponding to the ranks being added in hosts. The key of each map would be the configuration parameter name and the value would be the parameter's value, e.g. '"rank.gpu":"1"'

This endpoint's processing includes copying all replicated table data to the new rank(s) and therefore could take a long time. The API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] hosts Array of host IP addresses (matching a hostN.address from the gpudb.conf file), or host identifiers (e.g. 'host0' from the gpudb.conf file), on which to add ranks to the cluster. The hosts must already be in the cluster. If needed beforehand, to add a new host to the cluster use adminAddHost. Include the same entry as many times as there are ranks to add to the cluster, e.g., if two ranks on host 172.123.45.67 should be added, hosts could look like '\["172.123.45.67", "172.123.45.67"]'. All ranks will be added simultaneously, i.e. they're not added in the order of this array. Each entry in this array corresponds to the entry at the same index in the configParams.
\[in] configParams Array of maps containing configuration parameters to apply to the new ranks found in hosts. For example, '"rank.gpu":"2", "tier.ram.rank.limit":"10000000000"'. Currently, the available parameters are rank-specific parameters in the Network, Hardware, Text Search, and RAM Tiered Storage sections in the gpudb.conf file, with the key exception of the 'rankN.host' settings in the Network section that will be determined by hosts instead. Though many of these configuration parameters typically are affixed with 'rankN' in the gpudb.conf file (where N is the rank number), the 'N' should be omitted in configParams as the new rank number(s) are not allocated until the ranks have been added to the cluster. Each entry in this array corresponds to the entry at the same index in the hosts. This array must either be completely empty or have the same number of elements as the hosts. An empty configParams array will result in the new ranks being set with default parameters.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminAddRanks() \[4/4]

AdminAddRanksResponse & gpudb::GPUdb::adminAddRanks ( const std::vector\< std::string > & hosts,
const std::vector\< std::map\< std::string, std::string > > & configParams,
const std::map\< std::string, std::string > & options,
AdminAddRanksResponse & response\_ ) const

Add one or more ranks to an existing Kinetica cluster.

The new ranks will not contain any data initially (other than replicated tables) and will not be assigned any shards. To rebalance data and shards across the cluster, use adminRebalance.

The database must be offline for this operation, see adminOffline

For example, if attempting to add three new ranks (two ranks on host 172.123.45.67 and one rank on host 172.123.45.68) to a Kinetica cluster with additional configuration parameters:

  • hosts would be an array including 172.123.45.67 in the first two indices (signifying two ranks being added to host 172.123.45.67) and 172.123.45.68 in the last index (signifying one rank being added to host 172.123.45.67)
  • configParams would be an array of maps, with each map corresponding to the ranks being added in hosts. The key of each map would be the configuration parameter name and the value would be the parameter's value, e.g. '"rank.gpu":"1"'

This endpoint's processing includes copying all replicated table data to the new rank(s) and therefore could take a long time. The API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] hosts Array of host IP addresses (matching a hostN.address from the gpudb.conf file), or host identifiers (e.g. 'host0' from the gpudb.conf file), on which to add ranks to the cluster. The hosts must already be in the cluster. If needed beforehand, to add a new host to the cluster use adminAddHost. Include the same entry as many times as there are ranks to add to the cluster, e.g., if two ranks on host 172.123.45.67 should be added, hosts could look like '\["172.123.45.67", "172.123.45.67"]'. All ranks will be added simultaneously, i.e. they're not added in the order of this array. Each entry in this array corresponds to the entry at the same index in the configParams.
\[in] configParams Array of maps containing configuration parameters to apply to the new ranks found in hosts. For example, '"rank.gpu":"2", "tier.ram.rank.limit":"10000000000"'. Currently, the available parameters are rank-specific parameters in the Network, Hardware, Text Search, and RAM Tiered Storage sections in the gpudb.conf file, with the key exception of the 'rankN.host' settings in the Network section that will be determined by hosts instead. Though many of these configuration parameters typically are affixed with 'rankN' in the gpudb.conf file (where N is the rank number), the 'N' should be omitted in configParams as the new rank number(s) are not allocated until the ranks have been added to the cluster. Each entry in this array corresponds to the entry at the same index in the hosts. This array must either be completely empty or have the same number of elements as the hosts. An empty configParams array will result in the new ranks being set with default parameters.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAlterHost() \[1/4]

AdminAlterHostResponse gpudb::GPUdb::adminAlterHost ( const AdminAlterHostRequest & request\_ ) const

Alter properties on an existing host in the cluster.

Currently, the only property that can be altered is a hosts ability to accept failover processes.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminAlterHost() \[2/4]

AdminAlterHostResponse & gpudb::GPUdb::adminAlterHost ( const AdminAlterHostRequest & request\_,
AdminAlterHostResponse & response\_ ) const

Alter properties on an existing host in the cluster.

Currently, the only property that can be altered is a hosts ability to accept failover processes.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAlterHost() \[3/4]

AdminAlterHostResponse gpudb::GPUdb::adminAlterHost ( const std::string & host,
const std::map\< std::string, std::string > & options ) const

Alter properties on an existing host in the cluster.

Currently, the only property that can be altered is a hosts ability to accept failover processes.

Parameters
\[in] host Identifies the host this applies to. Can be the host address, or formatted as 'hostN' where N is the host number as specified in gpudb.conf.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminAlterHost() \[4/4]

AdminAlterHostResponse & gpudb::GPUdb::adminAlterHost ( const std::string & host,
const std::map\< std::string, std::string > & options,
AdminAlterHostResponse & response\_ ) const

Alter properties on an existing host in the cluster.

Currently, the only property that can be altered is a hosts ability to accept failover processes.

Parameters
\[in] host Identifies the host this applies to. Can be the host address, or formatted as 'hostN' where N is the host number as specified in gpudb.conf.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAlterJobs() \[1/4]

AdminAlterJobsResponse gpudb::GPUdb::adminAlterJobs ( const AdminAlterJobsRequest & request\_ ) const

Perform the requested action on a list of one or more job(s).

Based on the type of job and the current state of execution, the action may not be successfully executed. The final result of the attempted actions for each specified job is returned in the status array of the response. See Job Manager for more information.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminAlterJobs() \[2/4]

AdminAlterJobsResponse & gpudb::GPUdb::adminAlterJobs ( const AdminAlterJobsRequest & request\_,
AdminAlterJobsResponse & response\_ ) const

Perform the requested action on a list of one or more job(s).

Based on the type of job and the current state of execution, the action may not be successfully executed. The final result of the attempted actions for each specified job is returned in the status array of the response. See Job Manager for more information.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminAlterJobs() \[3/4]

AdminAlterJobsResponse gpudb::GPUdb::adminAlterJobs ( const std::vector\< int64\_t > & jobIds,
const std::string & action,
const std::map\< std::string, std::string > & options ) const

Perform the requested action on a list of one or more job(s).

Based on the type of job and the current state of execution, the action may not be successfully executed. The final result of the attempted actions for each specified job is returned in the status array of the response. See Job Manager for more information.

Parameters
\[in] jobIds Jobs to be modified.
\[in] action Action to be performed on the jobs specified by job\_ids. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminAlterJobs() \[4/4]

AdminAlterJobsResponse & gpudb::GPUdb::adminAlterJobs ( const std::vector\< int64\_t > & jobIds,
const std::string & action,
const std::map\< std::string, std::string > & options,
AdminAlterJobsResponse & response\_ ) const

Perform the requested action on a list of one or more job(s).

Based on the type of job and the current state of execution, the action may not be successfully executed. The final result of the attempted actions for each specified job is returned in the status array of the response. See Job Manager for more information.

Parameters
\[in] jobIds Jobs to be modified.
\[in] action Action to be performed on the jobs specified by job\_ids. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminBackupBegin() \[1/4]

AdminBackupBeginResponse gpudb::GPUdb::adminBackupBegin ( const AdminBackupBeginRequest & request\_ ) const

Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.

When the database is in backup mode, queries that result in a disk write operation will be blocked until backup mode has been completed by using adminBackupEnd.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminBackupBegin() \[2/4]

AdminBackupBeginResponse & gpudb::GPUdb::adminBackupBegin ( const AdminBackupBeginRequest & request\_,
AdminBackupBeginResponse & response\_ ) const

Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.

When the database is in backup mode, queries that result in a disk write operation will be blocked until backup mode has been completed by using adminBackupEnd.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminBackupBegin() \[3/4]

AdminBackupBeginResponse gpudb::GPUdb::adminBackupBegin ( const std::map\< std::string, std::string > & options ) const

Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.

When the database is in backup mode, queries that result in a disk write operation will be blocked until backup mode has been completed by using adminBackupEnd.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminBackupBegin() \[4/4]

AdminBackupBeginResponse & gpudb::GPUdb::adminBackupBegin ( const std::map\< std::string, std::string > & options,
AdminBackupBeginResponse & response\_ ) const

Prepares the system for a backup by closing all open file handles after allowing current active jobs to complete.

When the database is in backup mode, queries that result in a disk write operation will be blocked until backup mode has been completed by using adminBackupEnd.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminBackupEnd() \[1/4]

AdminBackupEndResponse gpudb::GPUdb::adminBackupEnd ( const AdminBackupEndRequest & request\_ ) const

Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminBackupEnd() \[2/4]

AdminBackupEndResponse & gpudb::GPUdb::adminBackupEnd ( const AdminBackupEndRequest & request\_,
AdminBackupEndResponse & response\_ ) const

Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminBackupEnd() \[3/4]

AdminBackupEndResponse gpudb::GPUdb::adminBackupEnd ( const std::map\< std::string, std::string > & options ) const

Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminBackupEnd() \[4/4]

AdminBackupEndResponse & gpudb::GPUdb::adminBackupEnd ( const std::map\< std::string, std::string > & options,
AdminBackupEndResponse & response\_ ) const

Restores the system to normal operating mode after a backup has completed, allowing any queries that were blocked to complete.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminHaOffline() \[1/4]

AdminHaOfflineResponse gpudb::GPUdb::adminHaOffline ( const AdminHaOfflineRequest & request\_ ) const

Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.

In-flight queries may fail to replicate to other clusters in the ring when going offline.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminHaOffline() \[2/4]

AdminHaOfflineResponse & gpudb::GPUdb::adminHaOffline ( const AdminHaOfflineRequest & request\_,
AdminHaOfflineResponse & response\_ ) const

Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.

In-flight queries may fail to replicate to other clusters in the ring when going offline.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminHaOffline() \[3/4]

AdminHaOfflineResponse gpudb::GPUdb::adminHaOffline ( const bool offline,
const std::map\< std::string, std::string > & options ) const

Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.

In-flight queries may fail to replicate to other clusters in the ring when going offline.

Parameters
\[in] offline Set to true if desired state is offline. Supported values:
  • true
  • false
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminHaOffline() \[4/4]

AdminHaOfflineResponse & gpudb::GPUdb::adminHaOffline ( const bool offline,
const std::map\< std::string, std::string > & options,
AdminHaOfflineResponse & response\_ ) const

Pauses consumption of messages from other HA clusters to support data repair/recovery scenarios.

In-flight queries may fail to replicate to other clusters in the ring when going offline.

Parameters
\[in] offline Set to true if desired state is offline. Supported values:
  • true
  • false
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminHaRefresh() \[1/4]

AdminHaRefreshResponse gpudb::GPUdb::adminHaRefresh ( const AdminHaRefreshRequest & request\_ ) const

Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.

Additionally the cluster is put into read-only while HA is restarting.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminHaRefresh() \[2/4]

AdminHaRefreshResponse & gpudb::GPUdb::adminHaRefresh ( const AdminHaRefreshRequest & request\_,
AdminHaRefreshResponse & response\_ ) const

Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.

Additionally the cluster is put into read-only while HA is restarting.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminHaRefresh() \[3/4]

AdminHaRefreshResponse gpudb::GPUdb::adminHaRefresh ( const std::map\< std::string, std::string > & options ) const

Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.

Additionally the cluster is put into read-only while HA is restarting.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminHaRefresh() \[4/4]

AdminHaRefreshResponse & gpudb::GPUdb::adminHaRefresh ( const std::map\< std::string, std::string > & options,
AdminHaRefreshResponse & response\_ ) const

Restarts the HA processing on the given cluster as a mechanism of accepting breaking HA conf changes.

Additionally the cluster is put into read-only while HA is restarting.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminOffline() \[1/4]

AdminOfflineResponse gpudb::GPUdb::adminOffline ( const AdminOfflineRequest & request\_ ) const

Take the system offline.

When the system is offline, no user operations can be performed with the exception of a system shutdown.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminOffline() \[2/4]

AdminOfflineResponse & gpudb::GPUdb::adminOffline ( const AdminOfflineRequest & request\_,
AdminOfflineResponse & response\_ ) const

Take the system offline.

When the system is offline, no user operations can be performed with the exception of a system shutdown.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminOffline() \[3/4]

AdminOfflineResponse gpudb::GPUdb::adminOffline ( const bool offline,
const std::map\< std::string, std::string > & options ) const

Take the system offline.

When the system is offline, no user operations can be performed with the exception of a system shutdown.

Parameters
\[in] offline Set to true if desired state is offline. Supported values:
  • true
  • false
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminOffline() \[4/4]

AdminOfflineResponse & gpudb::GPUdb::adminOffline ( const bool offline,
const std::map\< std::string, std::string > & options,
AdminOfflineResponse & response\_ ) const

Take the system offline.

When the system is offline, no user operations can be performed with the exception of a system shutdown.

Parameters
\[in] offline Set to true if desired state is offline. Supported values:
  • true
  • false
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRebalance() \[1/4]

AdminRebalanceResponse gpudb::GPUdb::adminRebalance ( const AdminRebalanceRequest & request\_ ) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminRebalance() \[2/4]

AdminRebalanceResponse & gpudb::GPUdb::adminRebalance ( const AdminRebalanceRequest & request\_,
AdminRebalanceResponse & response\_ ) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRebalance() \[3/4]

AdminRebalanceResponse gpudb::GPUdb::adminRebalance ( const std::map\< std::string, std::string > & options ) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminRebalance() \[4/4]

AdminRebalanceResponse & gpudb::GPUdb::adminRebalance ( const std::map\< std::string, std::string > & options,
AdminRebalanceResponse & response\_ ) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRemoveHost() \[1/4]

AdminRemoveHostResponse gpudb::GPUdb::adminRemoveHost ( const AdminRemoveHostRequest & request\_ ) const

Removes a host from an existing cluster.

If the host to be removed has any ranks running on it, the ranks must be removed using adminRemoveRanks or manually switched over to a new host using adminSwitchover prior to host removal. If the host to be removed has the graph server or SQL planner running on it, these must be manually switched over to a new host using adminSwitchover.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminRemoveHost() \[2/4]

AdminRemoveHostResponse & gpudb::GPUdb::adminRemoveHost ( const AdminRemoveHostRequest & request\_,
AdminRemoveHostResponse & response\_ ) const

Removes a host from an existing cluster.

If the host to be removed has any ranks running on it, the ranks must be removed using adminRemoveRanks or manually switched over to a new host using adminSwitchover prior to host removal. If the host to be removed has the graph server or SQL planner running on it, these must be manually switched over to a new host using adminSwitchover.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRemoveHost() \[3/4]

AdminRemoveHostResponse gpudb::GPUdb::adminRemoveHost ( const std::string & host,
const std::map\< std::string, std::string > & options ) const

Removes a host from an existing cluster.

If the host to be removed has any ranks running on it, the ranks must be removed using adminRemoveRanks or manually switched over to a new host using adminSwitchover prior to host removal. If the host to be removed has the graph server or SQL planner running on it, these must be manually switched over to a new host using adminSwitchover.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] host Identifies the host this applies to. Can be the host address, or formatted as 'hostN' where N is the host number as specified in gpudb.conf.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminRemoveHost() \[4/4]

AdminRemoveHostResponse & gpudb::GPUdb::adminRemoveHost ( const std::string & host,
const std::map\< std::string, std::string > & options,
AdminRemoveHostResponse & response\_ ) const

Removes a host from an existing cluster.

If the host to be removed has any ranks running on it, the ranks must be removed using adminRemoveRanks or manually switched over to a new host using adminSwitchover prior to host removal. If the host to be removed has the graph server or SQL planner running on it, these must be manually switched over to a new host using adminSwitchover.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] host Identifies the host this applies to. Can be the host address, or formatted as 'hostN' where N is the host number as specified in gpudb.conf.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRemoveRanks() \[1/4]

AdminRemoveRanksResponse gpudb::GPUdb::adminRemoveRanks ( const AdminRemoveRanksRequest & request\_ ) const

Remove one or more ranks from an existing Kinetica cluster.

All data will be rebalanced to other ranks before the rank(s) is removed unless the rebalance\_sharded\_data or rebalance\_unsharded\_data parameters are set to false in the options, in which case the corresponding sharded data and/or unsharded data (a.k.a. randomly-sharded) will be deleted.

The database must be offline for this operation, see adminOffline

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminRemoveRanks() \[2/4]

AdminRemoveRanksResponse & gpudb::GPUdb::adminRemoveRanks ( const AdminRemoveRanksRequest & request\_,
AdminRemoveRanksResponse & response\_ ) const

Remove one or more ranks from an existing Kinetica cluster.

All data will be rebalanced to other ranks before the rank(s) is removed unless the rebalance\_sharded\_data or rebalance\_unsharded\_data parameters are set to false in the options, in which case the corresponding sharded data and/or unsharded data (a.k.a. randomly-sharded) will be deleted.

The database must be offline for this operation, see adminOffline

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRemoveRanks() \[3/4]

AdminRemoveRanksResponse gpudb::GPUdb::adminRemoveRanks ( const std::vector\< std::string > & ranks,
const std::map\< std::string, std::string > & options ) const

Remove one or more ranks from an existing Kinetica cluster.

All data will be rebalanced to other ranks before the rank(s) is removed unless the rebalance\_sharded\_data or rebalance\_unsharded\_data parameters are set to false in the options, in which case the corresponding sharded data and/or unsharded data (a.k.a. randomly-sharded) will be deleted.

The database must be offline for this operation, see adminOffline

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] ranks Each array value designates one or more ranks to remove from the cluster. Values can be formatted as 'rankN' for a specific rank, 'hostN' (from the gpudb.conf file) to remove all ranks on that host, or the host IP address (hostN.address from the gpub.conf file) which also removes all ranks on that host. Rank 0 (the head rank) cannot be removed (but can be moved to another host using adminSwitchover). At least one worker rank must be left in the cluster after the operation.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminRemoveRanks() \[4/4]

AdminRemoveRanksResponse & gpudb::GPUdb::adminRemoveRanks ( const std::vector\< std::string > & ranks,
const std::map\< std::string, std::string > & options,
AdminRemoveRanksResponse & response\_ ) const

Remove one or more ranks from an existing Kinetica cluster.

All data will be rebalanced to other ranks before the rank(s) is removed unless the rebalance\_sharded\_data or rebalance\_unsharded\_data parameters are set to false in the options, in which case the corresponding sharded data and/or unsharded data (a.k.a. randomly-sharded) will be deleted.

The database must be offline for this operation, see adminOffline

This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via createJob.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] ranks Each array value designates one or more ranks to remove from the cluster. Values can be formatted as 'rankN' for a specific rank, 'hostN' (from the gpudb.conf file) to remove all ranks on that host, or the host IP address (hostN.address from the gpub.conf file) which also removes all ranks on that host. Rank 0 (the head rank) cannot be removed (but can be moved to another host using adminSwitchover). At least one worker rank must be left in the cluster after the operation.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRepairTable() \[1/4]

AdminRepairTableResponse gpudb::GPUdb::adminRepairTable ( const AdminRepairTableRequest & request\_ ) const

Manually repair a corrupted table.

Returns information about affected tables.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminRepairTable() \[2/4]

AdminRepairTableResponse & gpudb::GPUdb::adminRepairTable ( const AdminRepairTableRequest & request\_,
AdminRepairTableResponse & response\_ ) const

Manually repair a corrupted table.

Returns information about affected tables.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRepairTable() \[3/4]

AdminRepairTableResponse gpudb::GPUdb::adminRepairTable ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & tableTypes,
const std::map\< std::string, std::string > & options ) const

Manually repair a corrupted table.

Returns information about affected tables.

Parameters
\[in] tableNames List of tables to query. An asterisk returns all tables.
\[in] tableTypes ID of the type per table.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminRepairTable() \[4/4]

AdminRepairTableResponse & gpudb::GPUdb::adminRepairTable ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & tableTypes,
const std::map\< std::string, std::string > & options,
AdminRepairTableResponse & response\_ ) const

Manually repair a corrupted table.

Returns information about affected tables.

Parameters
\[in] tableNames List of tables to query. An asterisk returns all tables.
\[in] tableTypes ID of the type per table.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminSendAlert() \[1/4]

AdminSendAlertResponse gpudb::GPUdb::adminSendAlert ( const AdminSendAlertRequest & request\_ ) const

Sends a user generated alert to the monitoring system.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminSendAlert() \[2/4]

AdminSendAlertResponse & gpudb::GPUdb::adminSendAlert ( const AdminSendAlertRequest & request\_,
AdminSendAlertResponse & response\_ ) const

Sends a user generated alert to the monitoring system.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminSendAlert() \[3/4]

AdminSendAlertResponse gpudb::GPUdb::adminSendAlert ( const std::string & message,
const std::string & label,
const std::string & logLevel,
const std::map\< std::string, std::string > & options ) const

Sends a user generated alert to the monitoring system.

Parameters
\[in] message Alert message body. The default value is ''.
\[in] label Label to add to alert message. The default value is ''.
\[in] logLevel Alert message logging criteria. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminSendAlert() \[4/4]

AdminSendAlertResponse & gpudb::GPUdb::adminSendAlert ( const std::string & message,
const std::string & label,
const std::string & logLevel,
const std::map\< std::string, std::string > & options,
AdminSendAlertResponse & response\_ ) const

Sends a user generated alert to the monitoring system.

Parameters
\[in] message Alert message body. The default value is ''.
\[in] label Label to add to alert message. The default value is ''.
\[in] logLevel Alert message logging criteria. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowAlerts() \[1/4]

AdminShowAlertsResponse gpudb::GPUdb::adminShowAlerts ( const AdminShowAlertsRequest & request\_ ) const

Requests a list of the most recent alerts.

Returns lists of alert data, including timestamp and type.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminShowAlerts() \[2/4]

AdminShowAlertsResponse & gpudb::GPUdb::adminShowAlerts ( const AdminShowAlertsRequest & request\_,
AdminShowAlertsResponse & response\_ ) const

Requests a list of the most recent alerts.

Returns lists of alert data, including timestamp and type.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowAlerts() \[3/4]

AdminShowAlertsResponse gpudb::GPUdb::adminShowAlerts ( const int32\_t numAlerts,
const std::map\< std::string, std::string > & options ) const

Requests a list of the most recent alerts.

Returns lists of alert data, including timestamp and type.

Parameters
\[in] numAlerts Number of most recent alerts to request. The response will include up to numAlerts depending on how many alerts there are in the system. A value of 0 returns all stored alerts.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminShowAlerts() \[4/4]

AdminShowAlertsResponse & gpudb::GPUdb::adminShowAlerts ( const int32\_t numAlerts,
const std::map\< std::string, std::string > & options,
AdminShowAlertsResponse & response\_ ) const

Requests a list of the most recent alerts.

Returns lists of alert data, including timestamp and type.

Parameters
\[in] numAlerts Number of most recent alerts to request. The response will include up to numAlerts depending on how many alerts there are in the system. A value of 0 returns all stored alerts.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowClusterOperations() \[1/4]

AdminShowClusterOperationsResponse gpudb::GPUdb::adminShowClusterOperations ( const AdminShowClusterOperationsRequest & request\_ ) const

Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.

Returns details on the requested cluster operation.

The response will also indicate how many cluster operations are stored in the history.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminShowClusterOperations() \[2/4]

AdminShowClusterOperationsResponse & gpudb::GPUdb::adminShowClusterOperations ( const AdminShowClusterOperationsRequest & request\_,
AdminShowClusterOperationsResponse & response\_ ) const

Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.

Returns details on the requested cluster operation.

The response will also indicate how many cluster operations are stored in the history.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowClusterOperations() \[3/4]

AdminShowClusterOperationsResponse gpudb::GPUdb::adminShowClusterOperations ( const int32\_t historyIndex,
const std::map\< std::string, std::string > & options ) const

Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.

Returns details on the requested cluster operation.

The response will also indicate how many cluster operations are stored in the history.

Parameters
\[in] historyIndex Indicates which cluster operation to retrieve. Use 0 for the most recent. The default value is 0.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminShowClusterOperations() \[4/4]

AdminShowClusterOperationsResponse & gpudb::GPUdb::adminShowClusterOperations ( const int32\_t historyIndex,
const std::map\< std::string, std::string > & options,
AdminShowClusterOperationsResponse & response\_ ) const

Requests the detailed status of the current operation (by default) or a prior cluster operation specified by historyIndex.

Returns details on the requested cluster operation.

The response will also indicate how many cluster operations are stored in the history.

Parameters
\[in] historyIndex Indicates which cluster operation to retrieve. Use 0 for the most recent. The default value is 0.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowJobs() \[1/4]

AdminShowJobsResponse gpudb::GPUdb::adminShowJobs ( const AdminShowJobsRequest & request\_ ) const

Get a list of the current jobs in GPUdb.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminShowJobs() \[2/4]

AdminShowJobsResponse & gpudb::GPUdb::adminShowJobs ( const AdminShowJobsRequest & request\_,
AdminShowJobsResponse & response\_ ) const

Get a list of the current jobs in GPUdb.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowJobs() \[3/4]

AdminShowJobsResponse gpudb::GPUdb::adminShowJobs ( const std::map\< std::string, std::string > & options ) const

Get a list of the current jobs in GPUdb.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminShowJobs() \[4/4]

AdminShowJobsResponse & gpudb::GPUdb::adminShowJobs ( const std::map\< std::string, std::string > & options,
AdminShowJobsResponse & response\_ ) const

Get a list of the current jobs in GPUdb.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowShards() \[1/4]

AdminShowShardsResponse gpudb::GPUdb::adminShowShards ( const AdminShowShardsRequest & request\_ ) const

Show the mapping of shards to the corresponding rank and tom.

The response message contains list of 16384 (total number of shards in the system) Rank and TOM numbers corresponding to each shard.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminShowShards() \[2/4]

AdminShowShardsResponse & gpudb::GPUdb::adminShowShards ( const AdminShowShardsRequest & request\_,
AdminShowShardsResponse & response\_ ) const

Show the mapping of shards to the corresponding rank and tom.

The response message contains list of 16384 (total number of shards in the system) Rank and TOM numbers corresponding to each shard.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShowShards() \[3/4]

AdminShowShardsResponse gpudb::GPUdb::adminShowShards ( const std::map\< std::string, std::string > & options ) const

Show the mapping of shards to the corresponding rank and tom.

The response message contains list of 16384 (total number of shards in the system) Rank and TOM numbers corresponding to each shard.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminShowShards() \[4/4]

AdminShowShardsResponse & gpudb::GPUdb::adminShowShards ( const std::map\< std::string, std::string > & options,
AdminShowShardsResponse & response\_ ) const

Show the mapping of shards to the corresponding rank and tom.

The response message contains list of 16384 (total number of shards in the system) Rank and TOM numbers corresponding to each shard.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShutdown() \[1/4]

AdminShutdownResponse gpudb::GPUdb::adminShutdown ( const AdminShutdownRequest & request\_ ) const

Exits the database server application.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminShutdown() \[2/4]

AdminShutdownResponse & gpudb::GPUdb::adminShutdown ( const AdminShutdownRequest & request\_,
AdminShutdownResponse & response\_ ) const

Exits the database server application.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminShutdown() \[3/4]

AdminShutdownResponse gpudb::GPUdb::adminShutdown ( const std::string & exitType,
const std::string & authorization,
const std::map\< std::string, std::string > & options ) const

Exits the database server application.

Parameters
\[in] exitType Reserved for future use. User can pass an empty string.
\[in] authorization No longer used. User can pass an empty string.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminShutdown() \[4/4]

AdminShutdownResponse & gpudb::GPUdb::adminShutdown ( const std::string & exitType,
const std::string & authorization,
const std::map\< std::string, std::string > & options,
AdminShutdownResponse & response\_ ) const

Exits the database server application.

Parameters
\[in] exitType Reserved for future use. User can pass an empty string.
\[in] authorization No longer used. User can pass an empty string.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminSwitchover() \[1/4]

AdminSwitchoverResponse gpudb::GPUdb::adminSwitchover ( const AdminSwitchoverRequest & request\_ ) const

Manually switch over one or more processes to another host.

Individual ranks or entire hosts may be moved to another host.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminSwitchover() \[2/4]

AdminSwitchoverResponse & gpudb::GPUdb::adminSwitchover ( const AdminSwitchoverRequest & request\_,
AdminSwitchoverResponse & response\_ ) const

Manually switch over one or more processes to another host.

Individual ranks or entire hosts may be moved to another host.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminSwitchover() \[3/4]

AdminSwitchoverResponse gpudb::GPUdb::adminSwitchover ( const std::vector\< std::string > & processes,
const std::vector\< std::string > & destinations,
const std::map\< std::string, std::string > & options ) const

Manually switch over one or more processes to another host.

Individual ranks or entire hosts may be moved to another host.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] processes Indicates the process identifier to switch over to another host. Options are 'hostN' and 'rankN' where 'N' corresponds to the number associated with a host or rank in the Network section of the gpudb.conf file; e.g., 'host\[N].address' or 'rank\[N].host'. If 'hostN' is provided, all processes on that host will be moved to another host. Each entry in this array will be switched over to the corresponding host entry at the same index in destinations.
\[in] destinations Indicates to which host to switch over each corresponding process given in processes. Each index must be specified as 'hostN' where 'N' corresponds to the number associated with a host or rank in the Network section of the gpudb.conf file; e.g., 'host\[N].address'. Each entry in this array will receive the corresponding process entry at the same index in processes.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminSwitchover() \[4/4]

AdminSwitchoverResponse & gpudb::GPUdb::adminSwitchover ( const std::vector\< std::string > & processes,
const std::vector\< std::string > & destinations,
const std::map\< std::string, std::string > & options,
AdminSwitchoverResponse & response\_ ) const

Manually switch over one or more processes to another host.

Individual ranks or entire hosts may be moved to another host.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] processes Indicates the process identifier to switch over to another host. Options are 'hostN' and 'rankN' where 'N' corresponds to the number associated with a host or rank in the Network section of the gpudb.conf file; e.g., 'host\[N].address' or 'rank\[N].host'. If 'hostN' is provided, all processes on that host will be moved to another host. Each entry in this array will be switched over to the corresponding host entry at the same index in destinations.
\[in] destinations Indicates to which host to switch over each corresponding process given in processes. Each index must be specified as 'hostN' where 'N' corresponds to the number associated with a host or rank in the Network section of the gpudb.conf file; e.g., 'host\[N].address'. Each entry in this array will receive the corresponding process entry at the same index in processes.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminVerifyDb() \[1/4]

AdminVerifyDbResponse gpudb::GPUdb::adminVerifyDb ( const AdminVerifyDbRequest & request\_ ) const

Verify database is in a consistent state.

When inconsistencies or errors are found, the verified\_ok flag in the response is set to false and the list of errors found is provided in the error\_list.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminVerifyDb() \[2/4]

AdminVerifyDbResponse & gpudb::GPUdb::adminVerifyDb ( const AdminVerifyDbRequest & request\_,
AdminVerifyDbResponse & response\_ ) const

Verify database is in a consistent state.

When inconsistencies or errors are found, the verified\_ok flag in the response is set to false and the list of errors found is provided in the error\_list.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminVerifyDb() \[3/4]

AdminVerifyDbResponse gpudb::GPUdb::adminVerifyDb ( const std::map\< std::string, std::string > & options ) const

Verify database is in a consistent state.

When inconsistencies or errors are found, the verified\_ok flag in the response is set to false and the list of errors found is provided in the error\_list.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminVerifyDb() \[4/4]

AdminVerifyDbResponse & gpudb::GPUdb::adminVerifyDb ( const std::map\< std::string, std::string > & options,
AdminVerifyDbResponse & response\_ ) const

Verify database is in a consistent state.

When inconsistencies or errors are found, the verified\_ok flag in the response is set to false and the list of errors found is provided in the error\_list.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateConvexHull() \[1/4]

AggregateConvexHullResponse gpudb::GPUdb::aggregateConvexHull ( const AggregateConvexHullRequest & request\_ ) const

Calculates and returns the convex hull for the values in a table specified by tableName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateConvexHull() \[2/4]

AggregateConvexHullResponse & gpudb::GPUdb::aggregateConvexHull ( const AggregateConvexHullRequest & request\_,
AggregateConvexHullResponse & response\_ ) const

Calculates and returns the convex hull for the values in a table specified by tableName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateConvexHull() \[3/4]

AggregateConvexHullResponse gpudb::GPUdb::aggregateConvexHull ( const std::string & tableName,
const std::string & xColumnName,
const std::string & yColumnName,
const std::map\< std::string, std::string > & options ) const

Calculates and returns the convex hull for the values in a table specified by tableName.

Parameters
\[in] tableName Name of table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] xColumnName Name of the column containing the x coordinates of the points for the operation being performed.
\[in] yColumnName Name of the column containing the y coordinates of the points for the operation being performed.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateConvexHull() \[4/4]

AggregateConvexHullResponse & gpudb::GPUdb::aggregateConvexHull ( const std::string & tableName,
const std::string & xColumnName,
const std::string & yColumnName,
const std::map\< std::string, std::string > & options,
AggregateConvexHullResponse & response\_ ) const

Calculates and returns the convex hull for the values in a table specified by tableName.

Parameters
\[in] tableName Name of table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] xColumnName Name of the column containing the x coordinates of the points for the operation being performed.
\[in] yColumnName Name of the column containing the y coordinates of the points for the operation being performed.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateGroupBy() \[1/4]

AggregateGroupByResponse gpudb::GPUdb::aggregateGroupBy ( const AggregateGroupByRequest & request\_ ) const

Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.

This is somewhat analogous to an SQL-style SELECT...GROUP BY.

For aggregation details and examples, see Aggregation. For limitations, see Aggregation Limitations.

Any column(s) can be grouped on, and all column types except unrestricted-length strings may be used for computing applicable aggregates.

The results can be paged via the offset and limit parameters. For example, to get 10 groups with the largest counts the inputs would be: limit=10, options="sort\_order":"descending", "sort\_by":"value".

options can be used to customize behavior of this call e.g. filtering or sorting the results.

To group by columns 'x' and 'y' and compute the number of objects within each group, use: column\_names=\['x','y','count(\*)'].

To also compute the sum of 'z' over each group, use: column\_names=\['x','y','count(\*)','sum(z)'].

Available aggregation functions are: count(\*), sum, min, max, avg, mean, stddev, stddev\_pop, stddev\_samp, var, var\_pop, var\_samp, arg\_min, arg\_max and count\_distinct.

Available grouping functions are Rollup, Cube, and Grouping Sets

This service also provides support for Pivot operations.

Filtering on aggregates is supported via expressions using aggregation functions supplied to having.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column names must adhere to standard naming conventions; column/aggregation expressions will need to be aliased. If the source table's shard key is used as the grouping column(s) and all result records are selected (offset is 0 and limit is -9999), the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available when any of the values of columnNames is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateGroupBy() \[2/4]

AggregateGroupByResponse & gpudb::GPUdb::aggregateGroupBy ( const AggregateGroupByRequest & request\_,
AggregateGroupByResponse & response\_ ) const

Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.

This is somewhat analogous to an SQL-style SELECT...GROUP BY.

For aggregation details and examples, see Aggregation. For limitations, see Aggregation Limitations.

Any column(s) can be grouped on, and all column types except unrestricted-length strings may be used for computing applicable aggregates.

The results can be paged via the offset and limit parameters. For example, to get 10 groups with the largest counts the inputs would be: limit=10, options="sort\_order":"descending", "sort\_by":"value".

options can be used to customize behavior of this call e.g. filtering or sorting the results.

To group by columns 'x' and 'y' and compute the number of objects within each group, use: column\_names=\['x','y','count(\*)'].

To also compute the sum of 'z' over each group, use: column\_names=\['x','y','count(\*)','sum(z)'].

Available aggregation functions are: count(\*), sum, min, max, avg, mean, stddev, stddev\_pop, stddev\_samp, var, var\_pop, var\_samp, arg\_min, arg\_max and count\_distinct.

Available grouping functions are Rollup, Cube, and Grouping Sets

This service also provides support for Pivot operations.

Filtering on aggregates is supported via expressions using aggregation functions supplied to having.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column names must adhere to standard naming conventions; column/aggregation expressions will need to be aliased. If the source table's shard key is used as the grouping column(s) and all result records are selected (offset is 0 and limit is -9999), the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available when any of the values of columnNames is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateGroupBy() \[3/4]

AggregateGroupByResponse gpudb::GPUdb::aggregateGroupBy ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.

This is somewhat analogous to an SQL-style SELECT...GROUP BY.

For aggregation details and examples, see Aggregation. For limitations, see Aggregation Limitations.

Any column(s) can be grouped on, and all column types except unrestricted-length strings may be used for computing applicable aggregates.

The results can be paged via the offset and limit parameters. For example, to get 10 groups with the largest counts the inputs would be: limit=10, options="sort\_order":"descending", "sort\_by":"value".

options can be used to customize behavior of this call e.g. filtering or sorting the results.

To group by columns 'x' and 'y' and compute the number of objects within each group, use: column\_names=\['x','y','count(\*)'].

To also compute the sum of 'z' over each group, use: column\_names=\['x','y','count(\*)','sum(z)'].

Available aggregation functions are: count(\*), sum, min, max, avg, mean, stddev, stddev\_pop, stddev\_samp, var, var\_pop, var\_samp, arg\_min, arg\_max and count\_distinct.

Available grouping functions are Rollup, Cube, and Grouping Sets

This service also provides support for Pivot operations.

Filtering on aggregates is supported via expressions using aggregation functions supplied to having.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column names must adhere to standard naming conventions; column/aggregation expressions will need to be aliased. If the source table's shard key is used as the grouping column(s) and all result records are selected (offset is 0 and limit is -9999), the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available when any of the values of columnNames is an unrestricted-length string.

Parameters
\[in] tableName Name of an existing table or view on which the operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnNames List of one or more column names, expressions, and aggregate expressions.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateGroupBy() \[4/4]

AggregateGroupByResponse & gpudb::GPUdb::aggregateGroupBy ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
AggregateGroupByResponse & response\_ ) const

Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.

This is somewhat analogous to an SQL-style SELECT...GROUP BY.

For aggregation details and examples, see Aggregation. For limitations, see Aggregation Limitations.

Any column(s) can be grouped on, and all column types except unrestricted-length strings may be used for computing applicable aggregates.

The results can be paged via the offset and limit parameters. For example, to get 10 groups with the largest counts the inputs would be: limit=10, options="sort\_order":"descending", "sort\_by":"value".

options can be used to customize behavior of this call e.g. filtering or sorting the results.

To group by columns 'x' and 'y' and compute the number of objects within each group, use: column\_names=\['x','y','count(\*)'].

To also compute the sum of 'z' over each group, use: column\_names=\['x','y','count(\*)','sum(z)'].

Available aggregation functions are: count(\*), sum, min, max, avg, mean, stddev, stddev\_pop, stddev\_samp, var, var\_pop, var\_samp, arg\_min, arg\_max and count\_distinct.

Available grouping functions are Rollup, Cube, and Grouping Sets

This service also provides support for Pivot operations.

Filtering on aggregates is supported via expressions using aggregation functions supplied to having.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column names must adhere to standard naming conventions; column/aggregation expressions will need to be aliased. If the source table's shard key is used as the grouping column(s) and all result records are selected (offset is 0 and limit is -9999), the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available when any of the values of columnNames is an unrestricted-length string.

Parameters
\[in] tableName Name of an existing table or view on which the operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnNames List of one or more column names, expressions, and aggregate expressions.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateGroupByRaw() \[1/2]

RawAggregateGroupByResponse gpudb::GPUdb::aggregateGroupByRaw ( const AggregateGroupByRequest & request\_ ) const

Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.

This is somewhat analogous to an SQL-style SELECT...GROUP BY.

For aggregation details and examples, see Aggregation. For limitations, see Aggregation Limitations.

Any column(s) can be grouped on, and all column types except unrestricted-length strings may be used for computing applicable aggregates.

The results can be paged via the offset and limit parameters. For example, to get 10 groups with the largest counts the inputs would be: limit=10, options="sort\_order":"descending", "sort\_by":"value".

options can be used to customize behavior of this call e.g. filtering or sorting the results.

To group by columns 'x' and 'y' and compute the number of objects within each group, use: column\_names=\['x','y','count(\*)'].

To also compute the sum of 'z' over each group, use: column\_names=\['x','y','count(\*)','sum(z)'].

Available aggregation functions are: count(\*), sum, min, max, avg, mean, stddev, stddev\_pop, stddev\_samp, var, var\_pop, var\_samp, arg\_min, arg\_max and count\_distinct.

Available grouping functions are Rollup, Cube, and Grouping Sets

This service also provides support for Pivot operations.

Filtering on aggregates is supported via expressions using aggregation functions supplied to having.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column names must adhere to standard naming conventions; column/aggregation expressions will need to be aliased. If the source table's shard key is used as the grouping column(s) and all result records are selected (offset is 0 and limit is -9999), the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available when any of the values of columnNames is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateGroupByRaw() \[2/2]

RawAggregateGroupByResponse & gpudb::GPUdb::aggregateGroupByRaw ( const AggregateGroupByRequest & request\_,
RawAggregateGroupByResponse & response\_ ) const

Calculates unique combinations (groups) of values for the given columns in a given table or view and computes aggregates on each unique combination.

This is somewhat analogous to an SQL-style SELECT...GROUP BY.

For aggregation details and examples, see Aggregation. For limitations, see Aggregation Limitations.

Any column(s) can be grouped on, and all column types except unrestricted-length strings may be used for computing applicable aggregates.

The results can be paged via the offset and limit parameters. For example, to get 10 groups with the largest counts the inputs would be: limit=10, options="sort\_order":"descending", "sort\_by":"value".

options can be used to customize behavior of this call e.g. filtering or sorting the results.

To group by columns 'x' and 'y' and compute the number of objects within each group, use: column\_names=\['x','y','count(\*)'].

To also compute the sum of 'z' over each group, use: column\_names=\['x','y','count(\*)','sum(z)'].

Available aggregation functions are: count(\*), sum, min, max, avg, mean, stddev, stddev\_pop, stddev\_samp, var, var\_pop, var\_samp, arg\_min, arg\_max and count\_distinct.

Available grouping functions are Rollup, Cube, and Grouping Sets

This service also provides support for Pivot operations.

Filtering on aggregates is supported via expressions using aggregation functions supplied to having.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column names must adhere to standard naming conventions; column/aggregation expressions will need to be aliased. If the source table's shard key is used as the grouping column(s) and all result records are selected (offset is 0 and limit is -9999), the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available when any of the values of columnNames is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateHistogram() \[1/4]

AggregateHistogramResponse gpudb::GPUdb::aggregateHistogram ( const AggregateHistogramRequest & request\_ ) const

Performs a histogram calculation given a table, a column, and an interval function.

The interval is used to produce bins of that size and the result, computed over the records falling within each bin, is returned. For each bin, the start value is inclusive, but the end value is exclusive–except for the very last bin for which the end value is also inclusive. The value returned for each bin is the number of records in it, except when a column name is provided as a value\_column. In this latter case the sum of the values corresponding to the value\_column is used as the result instead. The total number of bins requested cannot exceed 10,000.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service a request that specifies a value\_column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateHistogram() \[2/4]

AggregateHistogramResponse & gpudb::GPUdb::aggregateHistogram ( const AggregateHistogramRequest & request\_,
AggregateHistogramResponse & response\_ ) const

Performs a histogram calculation given a table, a column, and an interval function.

The interval is used to produce bins of that size and the result, computed over the records falling within each bin, is returned. For each bin, the start value is inclusive, but the end value is exclusive–except for the very last bin for which the end value is also inclusive. The value returned for each bin is the number of records in it, except when a column name is provided as a value\_column. In this latter case the sum of the values corresponding to the value\_column is used as the result instead. The total number of bins requested cannot exceed 10,000.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service a request that specifies a value\_column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateHistogram() \[3/4]

AggregateHistogramResponse gpudb::GPUdb::aggregateHistogram ( const std::string & tableName,
const std::string & columnName,
const double start,
const double end,
const double interval,
const std::map\< std::string, std::string > & options ) const

Performs a histogram calculation given a table, a column, and an interval function.

The interval is used to produce bins of that size and the result, computed over the records falling within each bin, is returned. For each bin, the start value is inclusive, but the end value is exclusive–except for the very last bin for which the end value is also inclusive. The value returned for each bin is the number of records in it, except when a column name is provided as a value\_column. In this latter case the sum of the values corresponding to the value\_column is used as the result instead. The total number of bins requested cannot exceed 10,000.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service a request that specifies a value\_column.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a column or an expression of one or more column names over which the histogram will be calculated.
\[in] start Lower end value of the histogram interval, inclusive.
\[in] end Upper end value of the histogram interval, inclusive.
\[in] interval The size of each bin within the start and end parameters.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateHistogram() \[4/4]

AggregateHistogramResponse & gpudb::GPUdb::aggregateHistogram ( const std::string & tableName,
const std::string & columnName,
const double start,
const double end,
const double interval,
const std::map\< std::string, std::string > & options,
AggregateHistogramResponse & response\_ ) const

Performs a histogram calculation given a table, a column, and an interval function.

The interval is used to produce bins of that size and the result, computed over the records falling within each bin, is returned. For each bin, the start value is inclusive, but the end value is exclusive–except for the very last bin for which the end value is also inclusive. The value returned for each bin is the number of records in it, except when a column name is provided as a value\_column. In this latter case the sum of the values corresponding to the value\_column is used as the result instead. The total number of bins requested cannot exceed 10,000.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service a request that specifies a value\_column.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a column or an expression of one or more column names over which the histogram will be calculated.
\[in] start Lower end value of the histogram interval, inclusive.
\[in] end Upper end value of the histogram interval, inclusive.
\[in] interval The size of each bin within the start and end parameters.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateKMeans() \[1/4]

AggregateKMeansResponse gpudb::GPUdb::aggregateKMeans ( const AggregateKMeansRequest & request\_ ) const

This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.

An ideal k-means clustering algorithm selects k points such that the sum of the mean squared distances of each member of the set to the nearest of the k points is minimized. The k-means algorithm however does not necessarily produce such an ideal cluster. It begins with a randomly selected set of k points and then refines the location of the points iteratively and settles to a local minimum. Various parameters and options are provided to control the heuristic search.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateKMeans() \[2/4]

AggregateKMeansResponse & gpudb::GPUdb::aggregateKMeans ( const AggregateKMeansRequest & request\_,
AggregateKMeansResponse & response\_ ) const

This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.

An ideal k-means clustering algorithm selects k points such that the sum of the mean squared distances of each member of the set to the nearest of the k points is minimized. The k-means algorithm however does not necessarily produce such an ideal cluster. It begins with a randomly selected set of k points and then refines the location of the points iteratively and settles to a local minimum. Various parameters and options are provided to control the heuristic search.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateKMeans() \[3/4]

AggregateKMeansResponse gpudb::GPUdb::aggregateKMeans ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const int32\_t k,
const double tolerance,
const std::map\< std::string, std::string > & options ) const

This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.

An ideal k-means clustering algorithm selects k points such that the sum of the mean squared distances of each member of the set to the nearest of the k points is minimized. The k-means algorithm however does not necessarily produce such an ideal cluster. It begins with a randomly selected set of k points and then refines the location of the points iteratively and settles to a local minimum. Various parameters and options are provided to control the heuristic search.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnNames List of column names on which the operation would be performed. If n columns are provided then each of the k result points will have n dimensions corresponding to the n columns.
\[in] k The number of mean points to be determined by the algorithm.
\[in] tolerance Stop iterating when the distances between successive points is less than the given tolerance.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateKMeans() \[4/4]

AggregateKMeansResponse & gpudb::GPUdb::aggregateKMeans ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const int32\_t k,
const double tolerance,
const std::map\< std::string, std::string > & options,
AggregateKMeansResponse & response\_ ) const

This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering.

An ideal k-means clustering algorithm selects k points such that the sum of the mean squared distances of each member of the set to the nearest of the k points is minimized. The k-means algorithm however does not necessarily produce such an ideal cluster. It begins with a randomly selected set of k points and then refines the location of the points iteratively and settles to a local minimum. Various parameters and options are provided to control the heuristic search.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnNames List of column names on which the operation would be performed. If n columns are provided then each of the k result points will have n dimensions corresponding to the n columns.
\[in] k The number of mean points to be determined by the algorithm.
\[in] tolerance Stop iterating when the distances between successive points is less than the given tolerance.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateMinMax() \[1/4]

AggregateMinMaxResponse gpudb::GPUdb::aggregateMinMax ( const AggregateMinMaxRequest & request\_ ) const

Calculates and returns the minimum and maximum values of a particular column in a table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateMinMax() \[2/4]

AggregateMinMaxResponse & gpudb::GPUdb::aggregateMinMax ( const AggregateMinMaxRequest & request\_,
AggregateMinMaxResponse & response\_ ) const

Calculates and returns the minimum and maximum values of a particular column in a table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateMinMax() \[3/4]

AggregateMinMaxResponse gpudb::GPUdb::aggregateMinMax ( const std::string & tableName,
const std::string & columnName,
const std::map\< std::string, std::string > & options ) const

Calculates and returns the minimum and maximum values of a particular column in a table.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a column or an expression of one or more column on which the min-max will be calculated.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateMinMax() \[4/4]

AggregateMinMaxResponse & gpudb::GPUdb::aggregateMinMax ( const std::string & tableName,
const std::string & columnName,
const std::map\< std::string, std::string > & options,
AggregateMinMaxResponse & response\_ ) const

Calculates and returns the minimum and maximum values of a particular column in a table.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a column or an expression of one or more column on which the min-max will be calculated.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateMinMaxGeometry() \[1/4]

AggregateMinMaxGeometryResponse gpudb::GPUdb::aggregateMinMaxGeometry ( const AggregateMinMaxGeometryRequest & request\_ ) const

Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateMinMaxGeometry() \[2/4]

AggregateMinMaxGeometryResponse & gpudb::GPUdb::aggregateMinMaxGeometry ( const AggregateMinMaxGeometryRequest & request\_,
AggregateMinMaxGeometryResponse & response\_ ) const

Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateMinMaxGeometry() \[3/4]

AggregateMinMaxGeometryResponse gpudb::GPUdb::aggregateMinMaxGeometry ( const std::string & tableName,
const std::string & columnName,
const std::map\< std::string, std::string > & options ) const

Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a geospatial geometry column on which the min-max will be calculated.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateMinMaxGeometry() \[4/4]

AggregateMinMaxGeometryResponse & gpudb::GPUdb::aggregateMinMaxGeometry ( const std::string & tableName,
const std::string & columnName,
const std::map\< std::string, std::string > & options,
AggregateMinMaxGeometryResponse & response\_ ) const

Calculates and returns the minimum and maximum x- and y-coordinates of a particular geospatial geometry column in a table.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a geospatial geometry column on which the min-max will be calculated.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateStatistics() \[1/4]

AggregateStatisticsResponse gpudb::GPUdb::aggregateStatistics ( const AggregateStatisticsRequest & request\_ ) const

Calculates the requested statistics of the given column(s) in a given table.

The available statistics are: count (number of total objects), mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, weighted\_average, cardinality (unique count), estimated\_cardinality, percentile, and percentile\_rank.

Estimated cardinality is calculated by using the hyperloglog approximation technique.

Percentiles and percentile ranks are approximate and are calculated using the t-digest algorithm. They must include the desired percentile/percentile\_rank. To compute multiple percentiles each value must be specified separately (i.e.\ 'percentile(75.0),percentile(99.0),percentile\_rank(1234.56),percentile\_rank(-5)').

A second, comma-separated value can be added to the percentile statistic to calculate percentile resolution, e.g., a 50th percentile with 200 resolution would be 'percentile(50,200)'.

The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of columnName times the weight\_column\_name values divided by the sum of the weight\_column\_name values.

Additional columns can be used in the calculation of statistics via additional\_column\_names. Values in these columns will be included in the overall aggregate calculation–individual aggregates will not be calculated per additional column. For instance, requesting the count and mean of columnName x and additional\_column\_names y and z, where x holds the numbers 1-10, y holds 11-20, and z holds 21-30, would return the total number of x, y, and z values (30), and the single average value across all x, y, and z values (15.5).

The response includes a list of key/value pairs of each statistic requested and its corresponding value.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateStatistics() \[2/4]

AggregateStatisticsResponse & gpudb::GPUdb::aggregateStatistics ( const AggregateStatisticsRequest & request\_,
AggregateStatisticsResponse & response\_ ) const

Calculates the requested statistics of the given column(s) in a given table.

The available statistics are: count (number of total objects), mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, weighted\_average, cardinality (unique count), estimated\_cardinality, percentile, and percentile\_rank.

Estimated cardinality is calculated by using the hyperloglog approximation technique.

Percentiles and percentile ranks are approximate and are calculated using the t-digest algorithm. They must include the desired percentile/percentile\_rank. To compute multiple percentiles each value must be specified separately (i.e.\ 'percentile(75.0),percentile(99.0),percentile\_rank(1234.56),percentile\_rank(-5)').

A second, comma-separated value can be added to the percentile statistic to calculate percentile resolution, e.g., a 50th percentile with 200 resolution would be 'percentile(50,200)'.

The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of columnName times the weight\_column\_name values divided by the sum of the weight\_column\_name values.

Additional columns can be used in the calculation of statistics via additional\_column\_names. Values in these columns will be included in the overall aggregate calculation–individual aggregates will not be calculated per additional column. For instance, requesting the count and mean of columnName x and additional\_column\_names y and z, where x holds the numbers 1-10, y holds 11-20, and z holds 21-30, would return the total number of x, y, and z values (30), and the single average value across all x, y, and z values (15.5).

The response includes a list of key/value pairs of each statistic requested and its corresponding value.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateStatistics() \[3/4]

AggregateStatisticsResponse gpudb::GPUdb::aggregateStatistics ( const std::string & tableName,
const std::string & columnName,
const std::string & stats,
const std::map\< std::string, std::string > & options ) const

Calculates the requested statistics of the given column(s) in a given table.

The available statistics are: count (number of total objects), mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, weighted\_average, cardinality (unique count), estimated\_cardinality, percentile, and percentile\_rank.

Estimated cardinality is calculated by using the hyperloglog approximation technique.

Percentiles and percentile ranks are approximate and are calculated using the t-digest algorithm. They must include the desired percentile/percentile\_rank. To compute multiple percentiles each value must be specified separately (i.e.\ 'percentile(75.0),percentile(99.0),percentile\_rank(1234.56),percentile\_rank(-5)').

A second, comma-separated value can be added to the percentile statistic to calculate percentile resolution, e.g., a 50th percentile with 200 resolution would be 'percentile(50,200)'.

The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of columnName times the weight\_column\_name values divided by the sum of the weight\_column\_name values.

Additional columns can be used in the calculation of statistics via additional\_column\_names. Values in these columns will be included in the overall aggregate calculation–individual aggregates will not be calculated per additional column. For instance, requesting the count and mean of columnName x and additional\_column\_names y and z, where x holds the numbers 1-10, y holds 11-20, and z holds 21-30, would return the total number of x, y, and z values (30), and the single average value across all x, y, and z values (15.5).

The response includes a list of key/value pairs of each statistic requested and its corresponding value.

Parameters
\[in] tableName Name of the table on which the statistics operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of the primary column for which the statistics are to be calculated.
\[in] stats Comma separated list of the statistics to calculate, e.g. "sum,mean". Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateStatistics() \[4/4]

AggregateStatisticsResponse & gpudb::GPUdb::aggregateStatistics ( const std::string & tableName,
const std::string & columnName,
const std::string & stats,
const std::map\< std::string, std::string > & options,
AggregateStatisticsResponse & response\_ ) const

Calculates the requested statistics of the given column(s) in a given table.

The available statistics are: count (number of total objects), mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, weighted\_average, cardinality (unique count), estimated\_cardinality, percentile, and percentile\_rank.

Estimated cardinality is calculated by using the hyperloglog approximation technique.

Percentiles and percentile ranks are approximate and are calculated using the t-digest algorithm. They must include the desired percentile/percentile\_rank. To compute multiple percentiles each value must be specified separately (i.e.\ 'percentile(75.0),percentile(99.0),percentile\_rank(1234.56),percentile\_rank(-5)').

A second, comma-separated value can be added to the percentile statistic to calculate percentile resolution, e.g., a 50th percentile with 200 resolution would be 'percentile(50,200)'.

The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of columnName times the weight\_column\_name values divided by the sum of the weight\_column\_name values.

Additional columns can be used in the calculation of statistics via additional\_column\_names. Values in these columns will be included in the overall aggregate calculation–individual aggregates will not be calculated per additional column. For instance, requesting the count and mean of columnName x and additional\_column\_names y and z, where x holds the numbers 1-10, y holds 11-20, and z holds 21-30, would return the total number of x, y, and z values (30), and the single average value across all x, y, and z values (15.5).

The response includes a list of key/value pairs of each statistic requested and its corresponding value.

Parameters
\[in] tableName Name of the table on which the statistics operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of the primary column for which the statistics are to be calculated.
\[in] stats Comma separated list of the statistics to calculate, e.g. "sum,mean". Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateStatisticsByRange() \[1/4]

AggregateStatisticsByRangeResponse gpudb::GPUdb::aggregateStatisticsByRange ( const AggregateStatisticsByRangeRequest & request\_ ) const

Divides the given set into bins and calculates statistics of the values of a value-column in each bin.

The bins are based on the values of a given binning-column. The statistics that may be requested are mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, first, last and weighted average. In addition to the requested statistics the count of total samples in each bin is returned. This counts vector is just the histogram of the column used to divide the set members into bins. The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of the value column times the weight column divided by the sum of the weight column.

There are two methods for binning the set members. In the first, which can be used for numeric valued binning-columns, a min, max and interval are specified. The number of bins, nbins, is the integer upper bound of (max-min)/interval. Values that fall in the range \[min+n\*interval,min+(n+1)\*interval) are placed in the nth bin where n ranges from 0..nbin-2. The final bin is \[min+(nbin-1)\*interval,max]. In the second method, bin\_values specifies a list of binning column values. Binning-columns whose value matches the nth member of the bin\_values list are placed in the nth bin. When a list is provided, the binning-column must be of type string or int.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateStatisticsByRange() \[2/4]

AggregateStatisticsByRangeResponse & gpudb::GPUdb::aggregateStatisticsByRange ( const AggregateStatisticsByRangeRequest & request\_,
AggregateStatisticsByRangeResponse & response\_ ) const

Divides the given set into bins and calculates statistics of the values of a value-column in each bin.

The bins are based on the values of a given binning-column. The statistics that may be requested are mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, first, last and weighted average. In addition to the requested statistics the count of total samples in each bin is returned. This counts vector is just the histogram of the column used to divide the set members into bins. The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of the value column times the weight column divided by the sum of the weight column.

There are two methods for binning the set members. In the first, which can be used for numeric valued binning-columns, a min, max and interval are specified. The number of bins, nbins, is the integer upper bound of (max-min)/interval. Values that fall in the range \[min+n\*interval,min+(n+1)\*interval) are placed in the nth bin where n ranges from 0..nbin-2. The final bin is \[min+(nbin-1)\*interval,max]. In the second method, bin\_values specifies a list of binning column values. Binning-columns whose value matches the nth member of the bin\_values list are placed in the nth bin. When a list is provided, the binning-column must be of type string or int.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateStatisticsByRange() \[3/4]

AggregateStatisticsByRangeResponse gpudb::GPUdb::aggregateStatisticsByRange ( const std::string & tableName,
const std::string & selectExpression,
const std::string & columnName,
const std::string & valueColumnName,
const std::string & stats,
const double start,
const double end,
const double interval,
const std::map\< std::string, std::string > & options ) const

Divides the given set into bins and calculates statistics of the values of a value-column in each bin.

The bins are based on the values of a given binning-column. The statistics that may be requested are mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, first, last and weighted average. In addition to the requested statistics the count of total samples in each bin is returned. This counts vector is just the histogram of the column used to divide the set members into bins. The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of the value column times the weight column divided by the sum of the weight column.

There are two methods for binning the set members. In the first, which can be used for numeric valued binning-columns, a min, max and interval are specified. The number of bins, nbins, is the integer upper bound of (max-min)/interval. Values that fall in the range \[min+n\*interval,min+(n+1)\*interval) are placed in the nth bin where n ranges from 0..nbin-2. The final bin is \[min+(nbin-1)\*interval,max]. In the second method, bin\_values specifies a list of binning column values. Binning-columns whose value matches the nth member of the bin\_values list are placed in the nth bin. When a list is provided, the binning-column must be of type string or int.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] tableName Name of the table on which the ranged-statistics operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] selectExpression For a non-empty expression statistics are calculated for those records for which the expression is true. The default value is ''.
\[in] columnName Name of the binning-column used to divide the set samples into bins.
\[in] valueColumnName Name of the value-column for which statistics are to be computed.
\[in] stats A string of comma separated list of the statistics to calculate, e.g. 'sum,mean'. Available statistics: mean, stdv (standard deviation), variance, skew, kurtosis, sum.
\[in] start The lower bound of the binning-column.
\[in] end The upper bound of the binning-column.
\[in] interval The interval of a bin. Set members fall into bin i if the binning-column falls in the range \[start+interval\*i, start+interval\*(i+1)).
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateStatisticsByRange() \[4/4]

AggregateStatisticsByRangeResponse & gpudb::GPUdb::aggregateStatisticsByRange ( const std::string & tableName,
const std::string & selectExpression,
const std::string & columnName,
const std::string & valueColumnName,
const std::string & stats,
const double start,
const double end,
const double interval,
const std::map\< std::string, std::string > & options,
AggregateStatisticsByRangeResponse & response\_ ) const

Divides the given set into bins and calculates statistics of the values of a value-column in each bin.

The bins are based on the values of a given binning-column. The statistics that may be requested are mean, stdv (standard deviation), variance, skew, kurtosis, sum, min, max, first, last and weighted average. In addition to the requested statistics the count of total samples in each bin is returned. This counts vector is just the histogram of the column used to divide the set members into bins. The weighted average statistic requires a weight column to be specified in weight\_column\_name. The weighted average is then defined as the sum of the products of the value column times the weight column divided by the sum of the weight column.

There are two methods for binning the set members. In the first, which can be used for numeric valued binning-columns, a min, max and interval are specified. The number of bins, nbins, is the integer upper bound of (max-min)/interval. Values that fall in the range \[min+n\*interval,min+(n+1)\*interval) are placed in the nth bin where n ranges from 0..nbin-2. The final bin is \[min+(nbin-1)\*interval,max]. In the second method, bin\_values specifies a list of binning column values. Binning-columns whose value matches the nth member of the bin\_values list are placed in the nth bin. When a list is provided, the binning-column must be of type string or int.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

Parameters
\[in] tableName Name of the table on which the ranged-statistics operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] selectExpression For a non-empty expression statistics are calculated for those records for which the expression is true. The default value is ''.
\[in] columnName Name of the binning-column used to divide the set samples into bins.
\[in] valueColumnName Name of the value-column for which statistics are to be computed.
\[in] stats A string of comma separated list of the statistics to calculate, e.g. 'sum,mean'. Available statistics: mean, stdv (standard deviation), variance, skew, kurtosis, sum.
\[in] start The lower bound of the binning-column.
\[in] end The upper bound of the binning-column.
\[in] interval The interval of a bin. Set members fall into bin i if the binning-column falls in the range \[start+interval\*i, start+interval\*(i+1)).
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateUnique() \[1/4]

AggregateUniqueResponse gpudb::GPUdb::aggregateUnique ( const AggregateUniqueRequest & request\_ ) const

Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).

If columnName is a numeric column, the values will be in binaryEncodedResponse. Otherwise if columnName is a string column, the values will be in jsonEncodedResponse. The results can be paged via offset and limit parameters.

"limit":"10","sort\_order":"descending"

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column name must adhere to standard naming conventions; any column expression will need to be aliased. If the source table's shard key is used as the columnName, the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available if the value of columnName is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateUnique() \[2/4]

AggregateUniqueResponse & gpudb::GPUdb::aggregateUnique ( const AggregateUniqueRequest & request\_,
AggregateUniqueResponse & response\_ ) const

Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).

If columnName is a numeric column, the values will be in binaryEncodedResponse. Otherwise if columnName is a string column, the values will be in jsonEncodedResponse. The results can be paged via offset and limit parameters.

"limit":"10","sort\_order":"descending"

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column name must adhere to standard naming conventions; any column expression will need to be aliased. If the source table's shard key is used as the columnName, the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available if the value of columnName is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateUnique() \[3/4]

AggregateUniqueResponse gpudb::GPUdb::aggregateUnique ( const std::string & tableName,
const std::string & columnName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).

If columnName is a numeric column, the values will be in binaryEncodedResponse. Otherwise if columnName is a string column, the values will be in jsonEncodedResponse. The results can be paged via offset and limit parameters.

"limit":"10","sort\_order":"descending"

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column name must adhere to standard naming conventions; any column expression will need to be aliased. If the source table's shard key is used as the columnName, the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available if the value of columnName is an unrestricted-length string.

Parameters
\[in] tableName Name of an existing table or view on which the operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of the column or an expression containing one or more column names on which the unique function would be applied.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateUnique() \[4/4]

AggregateUniqueResponse & gpudb::GPUdb::aggregateUnique ( const std::string & tableName,
const std::string & columnName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
AggregateUniqueResponse & response\_ ) const

Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).

If columnName is a numeric column, the values will be in binaryEncodedResponse. Otherwise if columnName is a string column, the values will be in jsonEncodedResponse. The results can be paged via offset and limit parameters.

"limit":"10","sort\_order":"descending"

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column name must adhere to standard naming conventions; any column expression will need to be aliased. If the source table's shard key is used as the columnName, the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available if the value of columnName is an unrestricted-length string.

Parameters
\[in] tableName Name of an existing table or view on which the operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of the column or an expression containing one or more column names on which the unique function would be applied.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateUniqueRaw() \[1/2]

RawAggregateUniqueResponse gpudb::GPUdb::aggregateUniqueRaw ( const AggregateUniqueRequest & request\_ ) const

Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).

If columnName is a numeric column, the values will be in binaryEncodedResponse. Otherwise if columnName is a string column, the values will be in jsonEncodedResponse. The results can be paged via offset and limit parameters.

"limit":"10","sort\_order":"descending"

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column name must adhere to standard naming conventions; any column expression will need to be aliased. If the source table's shard key is used as the columnName, the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available if the value of columnName is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateUniqueRaw() \[2/2]

RawAggregateUniqueResponse & gpudb::GPUdb::aggregateUniqueRaw ( const AggregateUniqueRequest & request\_,
RawAggregateUniqueResponse & response\_ ) const

Returns all the unique values from a particular column (specified by columnName) of a particular table or view (specified by tableName).

If columnName is a numeric column, the values will be in binaryEncodedResponse. Otherwise if columnName is a string column, the values will be in jsonEncodedResponse. The results can be paged via offset and limit parameters.

"limit":"10","sort\_order":"descending"

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

If a result\_table name is specified in the options, the results are stored in a new table with that name–no results are returned in the response. Both the table name and resulting column name must adhere to standard naming conventions; any column expression will need to be aliased. If the source table's shard key is used as the columnName, the result table will be sharded, in all other cases it will be replicated. Sorting will properly function only if the result table is replicated or if there is only one processing node and should not be relied upon in other cases. Not available if the value of columnName is an unrestricted-length string.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateUnpivot() \[1/4]

AggregateUnpivotResponse gpudb::GPUdb::aggregateUnpivot ( const AggregateUnpivotRequest & request\_ ) const

Rotate the column values into rows values.

For unpivot details and examples, see Unpivot. For limitations, see Unpivot Limitations.

Unpivot is used to normalize tables that are built for cross tabular reporting purposes. The unpivot operator rotates the column values for all the pivoted columns. A variable column, value column and all columns from the source table except the unpivot columns are projected into the result table. The variable column and value columns in the result table indicate the pivoted column name and values respectively.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateUnpivot() \[2/4]

AggregateUnpivotResponse & gpudb::GPUdb::aggregateUnpivot ( const AggregateUnpivotRequest & request\_,
AggregateUnpivotResponse & response\_ ) const

Rotate the column values into rows values.

For unpivot details and examples, see Unpivot. For limitations, see Unpivot Limitations.

Unpivot is used to normalize tables that are built for cross tabular reporting purposes. The unpivot operator rotates the column values for all the pivoted columns. A variable column, value column and all columns from the source table except the unpivot columns are projected into the result table. The variable column and value columns in the result table indicate the pivoted column name and values respectively.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateUnpivot() \[3/4]

AggregateUnpivotResponse gpudb::GPUdb::aggregateUnpivot ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const std::string & variableColumnName,
const std::string & valueColumnName,
const std::vector\< std::string > & pivotedColumns,
const std::map\< std::string, std::string > & options ) const

Rotate the column values into rows values.

For unpivot details and examples, see Unpivot. For limitations, see Unpivot Limitations.

Unpivot is used to normalize tables that are built for cross tabular reporting purposes. The unpivot operator rotates the column values for all the pivoted columns. A variable column, value column and all columns from the source table except the unpivot columns are projected into the result table. The variable column and value columns in the result table indicate the pivoted column name and values respectively.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table/view, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnNames List of column names or expressions. A wildcard '\*' can be used to include all the non-pivoted columns from the source table.
\[in] variableColumnName Specifies the variable/parameter column name. The default value is ''.
\[in] valueColumnName Specifies the value column name. The default value is ''.
\[in] pivotedColumns List of one or more values typically the column names of the input table. All the columns in the source table must have the same data type.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ aggregateUnpivot() \[4/4]

AggregateUnpivotResponse & gpudb::GPUdb::aggregateUnpivot ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const std::string & variableColumnName,
const std::string & valueColumnName,
const std::vector\< std::string > & pivotedColumns,
const std::map\< std::string, std::string > & options,
AggregateUnpivotResponse & response\_ ) const

Rotate the column values into rows values.

For unpivot details and examples, see Unpivot. For limitations, see Unpivot Limitations.

Unpivot is used to normalize tables that are built for cross tabular reporting purposes. The unpivot operator rotates the column values for all the pivoted columns. A variable column, value column and all columns from the source table except the unpivot columns are projected into the result table. The variable column and value columns in the result table indicate the pivoted column name and values respectively.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] tableName Name of the table on which the operation will be performed. Must be an existing table/view, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnNames List of column names or expressions. A wildcard '\*' can be used to include all the non-pivoted columns from the source table.
\[in] variableColumnName Specifies the variable/parameter column name. The default value is ''.
\[in] valueColumnName Specifies the value column name. The default value is ''.
\[in] pivotedColumns List of one or more values typically the column names of the input table. All the columns in the source table must have the same data type.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ aggregateUnpivotRaw() \[1/2]

RawAggregateUnpivotResponse gpudb::GPUdb::aggregateUnpivotRaw ( const AggregateUnpivotRequest & request\_ ) const

Rotate the column values into rows values.

For unpivot details and examples, see Unpivot. For limitations, see Unpivot Limitations.

Unpivot is used to normalize tables that are built for cross tabular reporting purposes. The unpivot operator rotates the column values for all the pivoted columns. A variable column, value column and all columns from the source table except the unpivot columns are projected into the result table. The variable column and value columns in the result table indicate the pivoted column name and values respectively.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ aggregateUnpivotRaw() \[2/2]

RawAggregateUnpivotResponse & gpudb::GPUdb::aggregateUnpivotRaw ( const AggregateUnpivotRequest & request\_,
RawAggregateUnpivotResponse & response\_ ) const

Rotate the column values into rows values.

For unpivot details and examples, see Unpivot. For limitations, see Unpivot Limitations.

Unpivot is used to normalize tables that are built for cross tabular reporting purposes. The unpivot operator rotates the column values for all the pivoted columns. A variable column, value column and all columns from the source table except the unpivot columns are projected into the result table. The variable column and value columns in the result table indicate the pivoted column name and values respectively.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterBackup() \[1/4]

AlterBackupResponse gpudb::GPUdb::alterBackup ( const AlterBackupRequest & request\_ ) const

Alters an existing database backup, accessible via the data sink specified by datasinkName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterBackup() \[2/4]

AlterBackupResponse & gpudb::GPUdb::alterBackup ( const AlterBackupRequest & request\_,
AlterBackupResponse & response\_ ) const

Alters an existing database backup, accessible via the data sink specified by datasinkName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterBackup() \[3/4]

AlterBackupResponse gpudb::GPUdb::alterBackup ( const std::string & backupName,
const std::string & action,
const std::string & value,
const std::string & datasinkName,
const std::map\< std::string, std::string > & options ) const

Alters an existing database backup, accessible via the data sink specified by datasinkName.

Parameters
\[in] backupName Name of the backup to be altered.
\[in] action Operation to be applied. Supported values:
\[in] value Value of the modification, depending on action.
\[in] datasinkName Data sink through which the backup is accessible.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterBackup() \[4/4]

AlterBackupResponse & gpudb::GPUdb::alterBackup ( const std::string & backupName,
const std::string & action,
const std::string & value,
const std::string & datasinkName,
const std::map\< std::string, std::string > & options,
AlterBackupResponse & response\_ ) const

Alters an existing database backup, accessible via the data sink specified by datasinkName.

Parameters
\[in] backupName Name of the backup to be altered.
\[in] action Operation to be applied. Supported values:
\[in] value Value of the modification, depending on action.
\[in] datasinkName Data sink through which the backup is accessible.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterCredential() \[1/4]

AlterCredentialResponse gpudb::GPUdb::alterCredential ( const AlterCredentialRequest & request\_ ) const

Alter the properties of an existing credential.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterCredential() \[2/4]

AlterCredentialResponse & gpudb::GPUdb::alterCredential ( const AlterCredentialRequest & request\_,
AlterCredentialResponse & response\_ ) const

Alter the properties of an existing credential.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterCredential() \[3/4]

AlterCredentialResponse gpudb::GPUdb::alterCredential ( const std::string & credentialName,
const std::map\< std::string, std::string > & credentialUpdatesMap,
const std::map\< std::string, std::string > & options ) const

Alter the properties of an existing credential.

Parameters
\[in] credentialName Name of the credential to be altered. Must be an existing credential.
\[in] credentialUpdatesMap Map containing the properties of the credential to be updated. Error if empty.
\[in] options Optional parameters.
Returns
Response object containing the result of the operation.

◆ alterCredential() \[4/4]

AlterCredentialResponse & gpudb::GPUdb::alterCredential ( const std::string & credentialName,
const std::map\< std::string, std::string > & credentialUpdatesMap,
const std::map\< std::string, std::string > & options,
AlterCredentialResponse & response\_ ) const

Alter the properties of an existing credential.

Parameters
\[in] credentialName Name of the credential to be altered. Must be an existing credential.
\[in] credentialUpdatesMap Map containing the properties of the credential to be updated. Error if empty.
\[in] options Optional parameters.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterDatasink() \[1/4]

AlterDatasinkResponse gpudb::GPUdb::alterDatasink ( const AlterDatasinkRequest & request\_ ) const

Alters the properties of an existing data sink.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterDatasink() \[2/4]

AlterDatasinkResponse & gpudb::GPUdb::alterDatasink ( const AlterDatasinkRequest & request\_,
AlterDatasinkResponse & response\_ ) const

Alters the properties of an existing data sink.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterDatasink() \[3/4]

AlterDatasinkResponse gpudb::GPUdb::alterDatasink ( const std::string & name,
const std::map\< std::string, std::string > & datasinkUpdatesMap,
const std::map\< std::string, std::string > & options ) const

Alters the properties of an existing data sink.

Parameters
\[in] name Name of the data sink to be altered. Must be an existing data sink.
\[in] datasinkUpdatesMap Map containing the properties of the data sink to be updated. Error if empty.
\[in] options Optional parameters.
Returns
Response object containing the result of the operation.

◆ alterDatasink() \[4/4]

AlterDatasinkResponse & gpudb::GPUdb::alterDatasink ( const std::string & name,
const std::map\< std::string, std::string > & datasinkUpdatesMap,
const std::map\< std::string, std::string > & options,
AlterDatasinkResponse & response\_ ) const

Alters the properties of an existing data sink.

Parameters
\[in] name Name of the data sink to be altered. Must be an existing data sink.
\[in] datasinkUpdatesMap Map containing the properties of the data sink to be updated. Error if empty.
\[in] options Optional parameters.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterDatasource() \[1/4]

AlterDatasourceResponse gpudb::GPUdb::alterDatasource ( const AlterDatasourceRequest & request\_ ) const

Alters the properties of an existing data source.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterDatasource() \[2/4]

AlterDatasourceResponse & gpudb::GPUdb::alterDatasource ( const AlterDatasourceRequest & request\_,
AlterDatasourceResponse & response\_ ) const

Alters the properties of an existing data source.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterDatasource() \[3/4]

AlterDatasourceResponse gpudb::GPUdb::alterDatasource ( const std::string & name,
const std::map\< std::string, std::string > & datasourceUpdatesMap,
const std::map\< std::string, std::string > & options ) const

Alters the properties of an existing data source.

Parameters
\[in] name Name of the data source to be altered. Must be an existing data source.
\[in] datasourceUpdatesMap Map containing the properties of the data source to be updated. Error if empty.
\[in] options Optional parameters.
Returns
Response object containing the result of the operation.

◆ alterDatasource() \[4/4]

AlterDatasourceResponse & gpudb::GPUdb::alterDatasource ( const std::string & name,
const std::map\< std::string, std::string > & datasourceUpdatesMap,
const std::map\< std::string, std::string > & options,
AlterDatasourceResponse & response\_ ) const

Alters the properties of an existing data source.

Parameters
\[in] name Name of the data source to be altered. Must be an existing data source.
\[in] datasourceUpdatesMap Map containing the properties of the data source to be updated. Error if empty.
\[in] options Optional parameters.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterDirectory() \[1/4]

AlterDirectoryResponse gpudb::GPUdb::alterDirectory ( const AlterDirectoryRequest & request\_ ) const

Alters an existing directory in KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterDirectory() \[2/4]

AlterDirectoryResponse & gpudb::GPUdb::alterDirectory ( const AlterDirectoryRequest & request\_,
AlterDirectoryResponse & response\_ ) const

Alters an existing directory in KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterDirectory() \[3/4]

AlterDirectoryResponse gpudb::GPUdb::alterDirectory ( const std::string & directoryName,
const std::map\< std::string, std::string > & directoryUpdatesMap,
const std::map\< std::string, std::string > & options ) const

Alters an existing directory in KiFS.

Parameters
\[in] directoryName Name of the directory in KiFS to be altered.
\[in] directoryUpdatesMap Map containing the properties of the directory to be altered. Error if empty.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterDirectory() \[4/4]

AlterDirectoryResponse & gpudb::GPUdb::alterDirectory ( const std::string & directoryName,
const std::map\< std::string, std::string > & directoryUpdatesMap,
const std::map\< std::string, std::string > & options,
AlterDirectoryResponse & response\_ ) const

Alters an existing directory in KiFS.

Parameters
\[in] directoryName Name of the directory in KiFS to be altered.
\[in] directoryUpdatesMap Map containing the properties of the directory to be altered. Error if empty.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterEnvironment() \[1/4]

AlterEnvironmentResponse gpudb::GPUdb::alterEnvironment ( const AlterEnvironmentRequest & request\_ ) const

Alters an existing environment which can be referenced by a user-defined function (UDF).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterEnvironment() \[2/4]

AlterEnvironmentResponse & gpudb::GPUdb::alterEnvironment ( const AlterEnvironmentRequest & request\_,
AlterEnvironmentResponse & response\_ ) const

Alters an existing environment which can be referenced by a user-defined function (UDF).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterEnvironment() \[3/4]

AlterEnvironmentResponse gpudb::GPUdb::alterEnvironment ( const std::string & environmentName,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options ) const

Alters an existing environment which can be referenced by a user-defined function (UDF).

Parameters
\[in] environmentName Name of the environment to be altered.
\[in] action Modification operation to be applied. Supported values:
\[in] value The value of the modification, depending on action. For example, if action is install\_package, this would be the python package name. If action is install\_requirements, this would be the path of a requirements file from which to install packages. If an external data source is specified in datasource\_name, this can be the path to a wheel file or source archive. Alternatively, if installing from a file (wheel or source archive), the value may be a reference to a file in KiFS.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterEnvironment() \[4/4]

AlterEnvironmentResponse & gpudb::GPUdb::alterEnvironment ( const std::string & environmentName,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options,
AlterEnvironmentResponse & response\_ ) const

Alters an existing environment which can be referenced by a user-defined function (UDF).

Parameters
\[in] environmentName Name of the environment to be altered.
\[in] action Modification operation to be applied. Supported values:
\[in] value The value of the modification, depending on action. For example, if action is install\_package, this would be the python package name. If action is install\_requirements, this would be the path of a requirements file from which to install packages. If an external data source is specified in datasource\_name, this can be the path to a wheel file or source archive. Alternatively, if installing from a file (wheel or source archive), the value may be a reference to a file in KiFS.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterResourceGroup() \[1/4]

AlterResourceGroupResponse gpudb::GPUdb::alterResourceGroup ( const AlterResourceGroupRequest & request\_ ) const

Alters the properties of an existing resource group to facilitate resource management.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterResourceGroup() \[2/4]

AlterResourceGroupResponse & gpudb::GPUdb::alterResourceGroup ( const AlterResourceGroupRequest & request\_,
AlterResourceGroupResponse & response\_ ) const

Alters the properties of an existing resource group to facilitate resource management.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterResourceGroup() \[3/4]

AlterResourceGroupResponse gpudb::GPUdb::alterResourceGroup ( const std::string & name,
const std::map\< std::string, std::map\< std::string, std::string > > & tierAttributes,
const std::string & ranking,
const std::string & adjoiningResourceGroup,
const std::map\< std::string, std::string > & options ) const

Alters the properties of an existing resource group to facilitate resource management.

Parameters
\[in] name Name of the group to be altered. Must be an existing resource group name or an empty string when used in conjunction with is\_default\_group.
\[in] tierAttributes Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max\_memory (in bytes) for the VRAM and RAM tiers. For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: 'VRAM':'max\_memory':'1000000000', 'RAM':'max\_memory':'10000000000'.
  • alter\_resource\_group\_max\_memory: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
The default value is an empty map.
\[in] ranking If the resource group ranking is to be updated, this indicates the relative ranking among existing resource groups where this resource group will be placed. Supported values: The default value is alter\_resource\_group\_empty\_string.
\[in] adjoiningResourceGroup If ranking is before or after, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterResourceGroup() \[4/4]

AlterResourceGroupResponse & gpudb::GPUdb::alterResourceGroup ( const std::string & name,
const std::map\< std::string, std::map\< std::string, std::string > > & tierAttributes,
const std::string & ranking,
const std::string & adjoiningResourceGroup,
const std::map\< std::string, std::string > & options,
AlterResourceGroupResponse & response\_ ) const

Alters the properties of an existing resource group to facilitate resource management.

Parameters
\[in] name Name of the group to be altered. Must be an existing resource group name or an empty string when used in conjunction with is\_default\_group.
\[in] tierAttributes Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max\_memory (in bytes) for the VRAM and RAM tiers. For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: 'VRAM':'max\_memory':'1000000000', 'RAM':'max\_memory':'10000000000'.
  • alter\_resource\_group\_max\_memory: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
The default value is an empty map.
\[in] ranking If the resource group ranking is to be updated, this indicates the relative ranking among existing resource groups where this resource group will be placed. Supported values: The default value is alter\_resource\_group\_empty\_string.
\[in] adjoiningResourceGroup If ranking is before or after, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterRole() \[1/4]

AlterRoleResponse gpudb::GPUdb::alterRole ( const AlterRoleRequest & request\_ ) const

Alters a Role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterRole() \[2/4]

AlterRoleResponse & gpudb::GPUdb::alterRole ( const AlterRoleRequest & request\_,
AlterRoleResponse & response\_ ) const

Alters a Role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterRole() \[3/4]

AlterRoleResponse gpudb::GPUdb::alterRole ( const std::string & name,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options ) const

Alters a Role.

Parameters
\[in] name Name of the role to be altered. Must be an existing role.
\[in] action Modification operation to be applied to the role. Supported values:
\[in] value The value of the modification, depending on action.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterRole() \[4/4]

AlterRoleResponse & gpudb::GPUdb::alterRole ( const std::string & name,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options,
AlterRoleResponse & response\_ ) const

Alters a Role.

Parameters
\[in] name Name of the role to be altered. Must be an existing role.
\[in] action Modification operation to be applied to the role. Supported values:
\[in] value The value of the modification, depending on action.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterSchema() \[1/4]

AlterSchemaResponse gpudb::GPUdb::alterSchema ( const AlterSchemaRequest & request\_ ) const

Used to change the name of a SQL-style schema, specified in schemaName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterSchema() \[2/4]

AlterSchemaResponse & gpudb::GPUdb::alterSchema ( const AlterSchemaRequest & request\_,
AlterSchemaResponse & response\_ ) const

Used to change the name of a SQL-style schema, specified in schemaName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterSchema() \[3/4]

AlterSchemaResponse gpudb::GPUdb::alterSchema ( const std::string & schemaName,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options ) const

Used to change the name of a SQL-style schema, specified in schemaName.

Parameters
\[in] schemaName Name of the schema to be altered.
\[in] action Modification operation to be applied. Supported values:
\[in] value The value of the modification, depending on action. For now the only value of action is rename\_schema. In this case the value is the new name of the schema.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterSchema() \[4/4]

AlterSchemaResponse & gpudb::GPUdb::alterSchema ( const std::string & schemaName,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options,
AlterSchemaResponse & response\_ ) const

Used to change the name of a SQL-style schema, specified in schemaName.

Parameters
\[in] schemaName Name of the schema to be altered.
\[in] action Modification operation to be applied. Supported values:
\[in] value The value of the modification, depending on action. For now the only value of action is rename\_schema. In this case the value is the new name of the schema.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterSystemProperties() \[1/4]

AlterSystemPropertiesResponse gpudb::GPUdb::alterSystemProperties ( const AlterSystemPropertiesRequest & request\_ ) const

The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.

Commands are given through the propertyUpdatesMap whose keys are commands and values are strings representing integer values (for example '8000') or boolean values ('true' or 'false').

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterSystemProperties() \[2/4]

AlterSystemPropertiesResponse & gpudb::GPUdb::alterSystemProperties ( const AlterSystemPropertiesRequest & request\_,
AlterSystemPropertiesResponse & response\_ ) const

The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.

Commands are given through the propertyUpdatesMap whose keys are commands and values are strings representing integer values (for example '8000') or boolean values ('true' or 'false').

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterSystemProperties() \[3/4]

AlterSystemPropertiesResponse gpudb::GPUdb::alterSystemProperties ( const std::map\< std::string, std::string > & propertyUpdatesMap,
const std::map\< std::string, std::string > & options ) const

The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.

Commands are given through the propertyUpdatesMap whose keys are commands and values are strings representing integer values (for example '8000') or boolean values ('true' or 'false').

Parameters
\[in] propertyUpdatesMap Map containing the properties of the system to be updated. Error if empty.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterSystemProperties() \[4/4]

AlterSystemPropertiesResponse & gpudb::GPUdb::alterSystemProperties ( const std::map\< std::string, std::string > & propertyUpdatesMap,
const std::map\< std::string, std::string > & options,
AlterSystemPropertiesResponse & response\_ ) const

The alterSystemProperties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution.

Commands are given through the propertyUpdatesMap whose keys are commands and values are strings representing integer values (for example '8000') or boolean values ('true' or 'false').

Parameters
\[in] propertyUpdatesMap Map containing the properties of the system to be updated. Error if empty.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTable() \[1/4]

AlterTableResponse gpudb::GPUdb::alterTable ( const AlterTableRequest & request\_ ) const

Apply various modifications to a table or view.

The available modifications include the following:

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

External tables cannot be modified except for their refresh method.

Create or delete a column, low-cardinality index, chunk skip, geospatial, CAGRA, or HNSW index. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Create or delete a foreign key on a particular column.

Manage a range-partitioned or a manual list-partitioned table's partitions.

Set (or reset) the tier strategy of a table or view.

Refresh and manage the refresh mode of a materialized view or an external table.

Set the time-to-live (TTL). This can be applied to tables or views.

Set the global access mode (i.e. locking) for a table. This setting trumps any role-based access controls that may be in place; e.g., a user with write access to a table marked read-only will not be able to insert records into it. The mode can be set to read-only, write-only, read/write, and no access.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterTable() \[2/4]

AlterTableResponse & gpudb::GPUdb::alterTable ( const AlterTableRequest & request\_,
AlterTableResponse & response\_ ) const

Apply various modifications to a table or view.

The available modifications include the following:

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

External tables cannot be modified except for their refresh method.

Create or delete a column, low-cardinality index, chunk skip, geospatial, CAGRA, or HNSW index. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Create or delete a foreign key on a particular column.

Manage a range-partitioned or a manual list-partitioned table's partitions.

Set (or reset) the tier strategy of a table or view.

Refresh and manage the refresh mode of a materialized view or an external table.

Set the time-to-live (TTL). This can be applied to tables or views.

Set the global access mode (i.e. locking) for a table. This setting trumps any role-based access controls that may be in place; e.g., a user with write access to a table marked read-only will not be able to insert records into it. The mode can be set to read-only, write-only, read/write, and no access.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTable() \[3/4]

AlterTableResponse gpudb::GPUdb::alterTable ( const std::string & tableName,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options ) const

Apply various modifications to a table or view.

The available modifications include the following:

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

External tables cannot be modified except for their refresh method.

Create or delete a column, low-cardinality index, chunk skip, geospatial, CAGRA, or HNSW index. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Create or delete a foreign key on a particular column.

Manage a range-partitioned or a manual list-partitioned table's partitions.

Set (or reset) the tier strategy of a table or view.

Refresh and manage the refresh mode of a materialized view or an external table.

Set the time-to-live (TTL). This can be applied to tables or views.

Set the global access mode (i.e. locking) for a table. This setting trumps any role-based access controls that may be in place; e.g., a user with write access to a table marked read-only will not be able to insert records into it. The mode can be set to read-only, write-only, read/write, and no access.

Parameters
\[in] tableName Table on which the operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table or view.
\[in] action Modification operation to be applied. Supported values:
\[in] value The value of the modification, depending on action. For example, if action is add\_column, this would be the column name; while the column's definition would be covered by the column\_type, column\_properties, column\_default\_value, and add\_column\_expression in options. If action is ttl, it would be the number of minutes for the new TTL. If action is refresh, this field would be blank.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterTable() \[4/4]

AlterTableResponse & gpudb::GPUdb::alterTable ( const std::string & tableName,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options,
AlterTableResponse & response\_ ) const

Apply various modifications to a table or view.

The available modifications include the following:

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

External tables cannot be modified except for their refresh method.

Create or delete a column, low-cardinality index, chunk skip, geospatial, CAGRA, or HNSW index. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Create or delete a foreign key on a particular column.

Manage a range-partitioned or a manual list-partitioned table's partitions.

Set (or reset) the tier strategy of a table or view.

Refresh and manage the refresh mode of a materialized view or an external table.

Set the time-to-live (TTL). This can be applied to tables or views.

Set the global access mode (i.e. locking) for a table. This setting trumps any role-based access controls that may be in place; e.g., a user with write access to a table marked read-only will not be able to insert records into it. The mode can be set to read-only, write-only, read/write, and no access.

Parameters
\[in] tableName Table on which the operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table or view.
\[in] action Modification operation to be applied. Supported values:
\[in] value The value of the modification, depending on action. For example, if action is add\_column, this would be the column name; while the column's definition would be covered by the column\_type, column\_properties, column\_default\_value, and add\_column\_expression in options. If action is ttl, it would be the number of minutes for the new TTL. If action is refresh, this field would be blank.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTableColumns() \[1/4]

AlterTableColumnsResponse gpudb::GPUdb::alterTableColumns ( const AlterTableColumnsRequest & request\_ ) const

Apply various modifications to columns in a table, view.

The available modifications include the following:

Create or delete an index on a particular column. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterTableColumns() \[2/4]

AlterTableColumnsResponse & gpudb::GPUdb::alterTableColumns ( const AlterTableColumnsRequest & request\_,
AlterTableColumnsResponse & response\_ ) const

Apply various modifications to columns in a table, view.

The available modifications include the following:

Create or delete an index on a particular column. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTableColumns() \[3/4]

AlterTableColumnsResponse gpudb::GPUdb::alterTableColumns ( const std::string & tableName,
const std::vector\< std::map\< std::string, std::string > > & columnAlterations,
const std::map\< std::string, std::string > & options ) const

Apply various modifications to columns in a table, view.

The available modifications include the following:

Create or delete an index on a particular column. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

Parameters
\[in] tableName Table on which the operation will be performed. Must be an existing table or view, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnAlterations List of alter table add/delete/change column requests - all for the same table. Each request is a map that includes 'column\_name', 'action' and the options specific for the action. Note that the same options as in alter table requests but in the same map as the column name and the action. For example: \['column\_name':'col\_1','action':'change\_column','rename\_column':'col\_2','column\_name':'col\_1','action':'add\_column', 'type':'int','default\_value':'1'].
\[in] options Optional parameters.
Returns
Response object containing the result of the operation.

◆ alterTableColumns() \[4/4]

AlterTableColumnsResponse & gpudb::GPUdb::alterTableColumns ( const std::string & tableName,
const std::vector\< std::map\< std::string, std::string > > & columnAlterations,
const std::map\< std::string, std::string > & options,
AlterTableColumnsResponse & response\_ ) const

Apply various modifications to columns in a table, view.

The available modifications include the following:

Create or delete an index on a particular column. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.

Manage a table's columns–a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.

Parameters
\[in] tableName Table on which the operation will be performed. Must be an existing table or view, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnAlterations List of alter table add/delete/change column requests - all for the same table. Each request is a map that includes 'column\_name', 'action' and the options specific for the action. Note that the same options as in alter table requests but in the same map as the column name and the action. For example: \['column\_name':'col\_1','action':'change\_column','rename\_column':'col\_2','column\_name':'col\_1','action':'add\_column', 'type':'int','default\_value':'1'].
\[in] options Optional parameters.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTableMetadata() \[1/4]

AlterTableMetadataResponse gpudb::GPUdb::alterTableMetadata ( const AlterTableMetadataRequest & request\_ ) const

Updates (adds or changes) metadata for tables.

The metadata key and values must both be strings. This is an easy way to annotate whole tables rather than single records within tables. Some examples of metadata are owner of the table, table creation timestamp etc.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterTableMetadata() \[2/4]

AlterTableMetadataResponse & gpudb::GPUdb::alterTableMetadata ( const AlterTableMetadataRequest & request\_,
AlterTableMetadataResponse & response\_ ) const

Updates (adds or changes) metadata for tables.

The metadata key and values must both be strings. This is an easy way to annotate whole tables rather than single records within tables. Some examples of metadata are owner of the table, table creation timestamp etc.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTableMetadata() \[3/4]

AlterTableMetadataResponse gpudb::GPUdb::alterTableMetadata ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & metadataMap,
const std::map\< std::string, std::string > & options ) const

Updates (adds or changes) metadata for tables.

The metadata key and values must both be strings. This is an easy way to annotate whole tables rather than single records within tables. Some examples of metadata are owner of the table, table creation timestamp etc.

Parameters
\[in] tableNames Names of the tables whose metadata will be updated, in \[schema\_name.]table\_name format, using standard name resolution rules. All specified tables must exist, or an error will be returned.
\[in] metadataMap A map which contains the metadata of the tables that are to be updated. Note that only one map is provided for all the tables; so the change will be applied to every table. If the provided map is empty, then all existing metadata for the table(s) will be cleared.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterTableMetadata() \[4/4]

AlterTableMetadataResponse & gpudb::GPUdb::alterTableMetadata ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & metadataMap,
const std::map\< std::string, std::string > & options,
AlterTableMetadataResponse & response\_ ) const

Updates (adds or changes) metadata for tables.

The metadata key and values must both be strings. This is an easy way to annotate whole tables rather than single records within tables. Some examples of metadata are owner of the table, table creation timestamp etc.

Parameters
\[in] tableNames Names of the tables whose metadata will be updated, in \[schema\_name.]table\_name format, using standard name resolution rules. All specified tables must exist, or an error will be returned.
\[in] metadataMap A map which contains the metadata of the tables that are to be updated. Note that only one map is provided for all the tables; so the change will be applied to every table. If the provided map is empty, then all existing metadata for the table(s) will be cleared.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTableMonitor() \[1/4]

AlterTableMonitorResponse gpudb::GPUdb::alterTableMonitor ( const AlterTableMonitorRequest & request\_ ) const

Alters a table monitor previously created with createTableMonitor.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterTableMonitor() \[2/4]

AlterTableMonitorResponse & gpudb::GPUdb::alterTableMonitor ( const AlterTableMonitorRequest & request\_,
AlterTableMonitorResponse & response\_ ) const

Alters a table monitor previously created with createTableMonitor.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTableMonitor() \[3/4]

AlterTableMonitorResponse gpudb::GPUdb::alterTableMonitor ( const std::string & topicId,
const std::map\< std::string, std::string > & monitorUpdatesMap,
const std::map\< std::string, std::string > & options ) const

Alters a table monitor previously created with createTableMonitor.

Parameters
\[in] topicId The topic ID returned by createTableMonitor.
\[in] monitorUpdatesMap Map containing the properties of the table monitor to be updated. Error if empty.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterTableMonitor() \[4/4]

AlterTableMonitorResponse & gpudb::GPUdb::alterTableMonitor ( const std::string & topicId,
const std::map\< std::string, std::string > & monitorUpdatesMap,
const std::map\< std::string, std::string > & options,
AlterTableMonitorResponse & response\_ ) const

Alters a table monitor previously created with createTableMonitor.

Parameters
\[in] topicId The topic ID returned by createTableMonitor.
\[in] monitorUpdatesMap Map containing the properties of the table monitor to be updated. Error if empty.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTier() \[1/4]

AlterTierResponse gpudb::GPUdb::alterTier ( const AlterTierRequest & request\_ ) const

Alters properties of an existing tier to facilitate resource management.

To disable watermark-based eviction, set both high\_watermark and low\_watermark to 100.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterTier() \[2/4]

AlterTierResponse & gpudb::GPUdb::alterTier ( const AlterTierRequest & request\_,
AlterTierResponse & response\_ ) const

Alters properties of an existing tier to facilitate resource management.

To disable watermark-based eviction, set both high\_watermark and low\_watermark to 100.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterTier() \[3/4]

AlterTierResponse gpudb::GPUdb::alterTier ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Alters properties of an existing tier to facilitate resource management.

To disable watermark-based eviction, set both high\_watermark and low\_watermark to 100.

Parameters
\[in] name Name of the tier to be altered. Must be an existing tier group name: vram, ram, disk\[n], persist, cold\[n].
\[in] options Optional parameters.
  • alter\_tier\_capacity: Maximum size in bytes this tier may hold at once, per rank.
  • alter\_tier\_high\_watermark: Threshold of usage of this tier's resource that once exceeded, will trigger watermark-based eviction from this tier. The minimum allowed value is '0'. The maximum allowed value is '100'.
  • alter\_tier\_low\_watermark: Threshold of resource usage that once fallen below after crossing the high\_watermark, will cease watermark-based eviction from this tier. The minimum allowed value is '0'. The maximum allowed value is '100'.
  • alter\_tier\_wait\_timeout: Timeout in seconds for reading from or writing to this resource. Applies to cold storage tiers only.
  • alter\_tier\_persist: If true the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications. Supported values: The default value is alter\_tier\_true.
  • alter\_tier\_rank: Apply the requested change only to a specific rank. The minimum allowed value is '0'. The maximum allowed value is '10000'.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterTier() \[4/4]

AlterTierResponse & gpudb::GPUdb::alterTier ( const std::string & name,
const std::map\< std::string, std::string > & options,
AlterTierResponse & response\_ ) const

Alters properties of an existing tier to facilitate resource management.

To disable watermark-based eviction, set both high\_watermark and low\_watermark to 100.

Parameters
\[in] name Name of the tier to be altered. Must be an existing tier group name: vram, ram, disk\[n], persist, cold\[n].
\[in] options Optional parameters.
  • alter\_tier\_capacity: Maximum size in bytes this tier may hold at once, per rank.
  • alter\_tier\_high\_watermark: Threshold of usage of this tier's resource that once exceeded, will trigger watermark-based eviction from this tier. The minimum allowed value is '0'. The maximum allowed value is '100'.
  • alter\_tier\_low\_watermark: Threshold of resource usage that once fallen below after crossing the high\_watermark, will cease watermark-based eviction from this tier. The minimum allowed value is '0'. The maximum allowed value is '100'.
  • alter\_tier\_wait\_timeout: Timeout in seconds for reading from or writing to this resource. Applies to cold storage tiers only.
  • alter\_tier\_persist: If true the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications. Supported values: The default value is alter\_tier\_true.
  • alter\_tier\_rank: Apply the requested change only to a specific rank. The minimum allowed value is '0'. The maximum allowed value is '10000'.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterUser() \[1/4]

AlterUserResponse gpudb::GPUdb::alterUser ( const AlterUserRequest & request\_ ) const

Alters a user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterUser() \[2/4]

AlterUserResponse & gpudb::GPUdb::alterUser ( const AlterUserRequest & request\_,
AlterUserResponse & response\_ ) const

Alters a user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterUser() \[3/4]

AlterUserResponse gpudb::GPUdb::alterUser ( const std::string & name,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options ) const

Alters a user.

Parameters
\[in] name Name of the user to be altered. Must be an existing user.
\[in] action Modification operation to be applied to the user. Supported values:
\[in] value The value of the modification, depending on action.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterUser() \[4/4]

AlterUserResponse & gpudb::GPUdb::alterUser ( const std::string & name,
const std::string & action,
const std::string & value,
const std::map\< std::string, std::string > & options,
AlterUserResponse & response\_ ) const

Alters a user.

Parameters
\[in] name Name of the user to be altered. Must be an existing user.
\[in] action Modification operation to be applied to the user. Supported values:
\[in] value The value of the modification, depending on action.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterVideo() \[1/4]

AlterVideoResponse gpudb::GPUdb::alterVideo ( const AlterVideoRequest & request\_ ) const

Alters a video.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterVideo() \[2/4]

AlterVideoResponse & gpudb::GPUdb::alterVideo ( const AlterVideoRequest & request\_,
AlterVideoResponse & response\_ ) const

Alters a video.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterVideo() \[3/4]

AlterVideoResponse gpudb::GPUdb::alterVideo ( const std::string & path,
const std::map\< std::string, std::string > & options ) const

Alters a video.

Parameters
\[in] path Fully-qualified KiFS path to the video to be altered.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterVideo() \[4/4]

AlterVideoResponse & gpudb::GPUdb::alterVideo ( const std::string & path,
const std::map\< std::string, std::string > & options,
AlterVideoResponse & response\_ ) const

Alters a video.

Parameters
\[in] path Fully-qualified KiFS path to the video to be altered.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterWal() \[1/4]

AlterWalResponse gpudb::GPUdb::alterWal ( const AlterWalRequest & request\_ ) const

Alters table write-ahead log (WAL) settings.

Returns information about the requested table WAL modifications.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ alterWal() \[2/4]

AlterWalResponse & gpudb::GPUdb::alterWal ( const AlterWalRequest & request\_,
AlterWalResponse & response\_ ) const

Alters table write-ahead log (WAL) settings.

Returns information about the requested table WAL modifications.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ alterWal() \[3/4]

AlterWalResponse gpudb::GPUdb::alterWal ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options ) const

Alters table write-ahead log (WAL) settings.

Returns information about the requested table WAL modifications.

Parameters
\[in] tableNames List of tables to modify. An asterisk changes the system settings.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ alterWal() \[4/4]

AlterWalResponse & gpudb::GPUdb::alterWal ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options,
AlterWalResponse & response\_ ) const

Alters table write-ahead log (WAL) settings.

Returns information about the requested table WAL modifications.

Parameters
\[in] tableNames List of tables to modify. An asterisk changes the system settings.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ appendRecords() \[1/4]

AppendRecordsResponse gpudb::GPUdb::appendRecords ( const AppendRecordsRequest & request\_ ) const

Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).

The field map (specified by fieldMap) holds the user specified map of target table column names with their mapped source column names.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ appendRecords() \[2/4]

AppendRecordsResponse & gpudb::GPUdb::appendRecords ( const AppendRecordsRequest & request\_,
AppendRecordsResponse & response\_ ) const

Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).

The field map (specified by fieldMap) holds the user specified map of target table column names with their mapped source column names.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ appendRecords() \[3/4]

AppendRecordsResponse gpudb::GPUdb::appendRecords ( const std::string & tableName,
const std::string & sourceTableName,
const std::map\< std::string, std::string > & fieldMap,
const std::map\< std::string, std::string > & options ) const

Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).

The field map (specified by fieldMap) holds the user specified map of target table column names with their mapped source column names.

Parameters
\[in] tableName The table name for the records to be appended, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] sourceTableName The source table name to get records from, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table name.
\[in] fieldMap Contains the mapping of column names from the target table (specified by tableName) as the keys, and corresponding column names or expressions (e.g., 'col\_name+1') from the source table (specified by sourceTableName). Must be existing column names in source table and target table, and their types must be matched. For details on using expressions, see Expressions.
\[in] options Optional parameters.
  • append\_records\_offset: A positive integer indicating the number of initial results to skip from sourceTableName. Default is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT. The default value is '0'.
  • append\_records\_limit: A positive integer indicating the maximum number of results to be returned from sourceTableName. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is '-9999'.
  • append\_records\_expression: Filter expression to apply to the sourceTableName. The default value is ''.
  • append\_records\_order\_by: Comma-separated list of the columns to be sorted by from source table (specified by sourceTableName), e.g., 'timestamp asc, x desc'. The order\_by columns do not have to be present in fieldMap. The default value is ''.
  • append\_records\_error\_handling: Specifies how record errors are handled while appending source table records into the target table. Currently this governs primary-key collision behavior: skip and permissive drop the colliding source records and continue, while abort rejects the batch. Explicit update\_on\_existing\_pk or ignore\_existing\_pk take precedence over this option. Supported values:
    • append\_records\_permissive: Source records that cannot be appended (e.g. a primary-key collision) are skipped and reported; the rest of the batch is appended.
    • append\_records\_skip: Source records that cannot be appended are skipped and reported; the rest of the batch is appended.
    • append\_records\_abort: A source record that cannot be appended (e.g. a primary-key collision) raises an error. This is the default.
    The default value is append\_records\_abort.
  • append\_records\_update\_on\_existing\_pk: Specifies the record collision policy for inserting source table records (specified by sourceTableName) into a target table (specified by tableName) with a primary key. If set to true, any existing table record with primary key values that match those of a source table record being inserted will be replaced by that new record (the new data will be "upserted"). If set to false, any existing table record with primary key values that match those of a source table record being inserted will remain unchanged, while the source record will be rejected and an error handled as determined by ignore\_existing\_pk. If the specified table does not have a primary key, then this option has no effect. Supported values: The default value is append\_records\_false.
  • append\_records\_enable\_inplace\_updates: Applies only when upserting (when update\_on\_existing\_pk is true). If set to true, an existing record matched by primary key is modified in place. If set to false, 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: The default value is append\_records\_true.
  • append\_records\_ignore\_existing\_pk: Specifies the record collision error-suppression policy for inserting source table records (specified by sourceTableName) into a target table (specified by tableName) with a primary key, only used when not in upsert mode (upsert mode is disabled when update\_on\_existing\_pk is false). If set to true, any source table record being inserted that is rejected for having primary key values that match those of an existing target table record will be ignored with no error generated. If false, the rejection of any source table record for having primary key values matching an existing target table record will result in an error being raised. If the specified table does not have a primary key or if upsert mode is in effect (update\_on\_existing\_pk is true), then this option has no effect. Supported values:
    • append\_records\_true: Ignore source table records whose primary key values collide with those of target table records.
    • append\_records\_false: Raise an error for any source table record whose primary key values collide with those of a target table record.
    The default value is append\_records\_false.
  • append\_records\_pk\_conflict\_predicate\_higher: The record with higher value for the column resolves the primary-key insert conflict. The default value is ''.
  • append\_records\_pk\_conflict\_predicate\_lower: The record with lower value for the column resolves the primary-key insert conflict. The default value is ''.
  • append\_records\_truncate\_strings: If set to true, it allows inserting longer strings into smaller charN string columns by truncating the longer strings to fit. Supported values: The default value is append\_records\_false.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ appendRecords() \[4/4]

AppendRecordsResponse & gpudb::GPUdb::appendRecords ( const std::string & tableName,
const std::string & sourceTableName,
const std::map\< std::string, std::string > & fieldMap,
const std::map\< std::string, std::string > & options,
AppendRecordsResponse & response\_ ) const

Append (or insert) all records from a source table (specified by sourceTableName) to a particular target table (specified by tableName).

The field map (specified by fieldMap) holds the user specified map of target table column names with their mapped source column names.

Parameters
\[in] tableName The table name for the records to be appended, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] sourceTableName The source table name to get records from, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table name.
\[in] fieldMap Contains the mapping of column names from the target table (specified by tableName) as the keys, and corresponding column names or expressions (e.g., 'col\_name+1') from the source table (specified by sourceTableName). Must be existing column names in source table and target table, and their types must be matched. For details on using expressions, see Expressions.
\[in] options Optional parameters.
  • append\_records\_offset: A positive integer indicating the number of initial results to skip from sourceTableName. Default is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT. The default value is '0'.
  • append\_records\_limit: A positive integer indicating the maximum number of results to be returned from sourceTableName. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is '-9999'.
  • append\_records\_expression: Filter expression to apply to the sourceTableName. The default value is ''.
  • append\_records\_order\_by: Comma-separated list of the columns to be sorted by from source table (specified by sourceTableName), e.g., 'timestamp asc, x desc'. The order\_by columns do not have to be present in fieldMap. The default value is ''.
  • append\_records\_error\_handling: Specifies how record errors are handled while appending source table records into the target table. Currently this governs primary-key collision behavior: skip and permissive drop the colliding source records and continue, while abort rejects the batch. Explicit update\_on\_existing\_pk or ignore\_existing\_pk take precedence over this option. Supported values:
    • append\_records\_permissive: Source records that cannot be appended (e.g. a primary-key collision) are skipped and reported; the rest of the batch is appended.
    • append\_records\_skip: Source records that cannot be appended are skipped and reported; the rest of the batch is appended.
    • append\_records\_abort: A source record that cannot be appended (e.g. a primary-key collision) raises an error. This is the default.
    The default value is append\_records\_abort.
  • append\_records\_update\_on\_existing\_pk: Specifies the record collision policy for inserting source table records (specified by sourceTableName) into a target table (specified by tableName) with a primary key. If set to true, any existing table record with primary key values that match those of a source table record being inserted will be replaced by that new record (the new data will be "upserted"). If set to false, any existing table record with primary key values that match those of a source table record being inserted will remain unchanged, while the source record will be rejected and an error handled as determined by ignore\_existing\_pk. If the specified table does not have a primary key, then this option has no effect. Supported values: The default value is append\_records\_false.
  • append\_records\_enable\_inplace\_updates: Applies only when upserting (when update\_on\_existing\_pk is true). If set to true, an existing record matched by primary key is modified in place. If set to false, 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: The default value is append\_records\_true.
  • append\_records\_ignore\_existing\_pk: Specifies the record collision error-suppression policy for inserting source table records (specified by sourceTableName) into a target table (specified by tableName) with a primary key, only used when not in upsert mode (upsert mode is disabled when update\_on\_existing\_pk is false). If set to true, any source table record being inserted that is rejected for having primary key values that match those of an existing target table record will be ignored with no error generated. If false, the rejection of any source table record for having primary key values matching an existing target table record will result in an error being raised. If the specified table does not have a primary key or if upsert mode is in effect (update\_on\_existing\_pk is true), then this option has no effect. Supported values:
    • append\_records\_true: Ignore source table records whose primary key values collide with those of target table records.
    • append\_records\_false: Raise an error for any source table record whose primary key values collide with those of a target table record.
    The default value is append\_records\_false.
  • append\_records\_pk\_conflict\_predicate\_higher: The record with higher value for the column resolves the primary-key insert conflict. The default value is ''.
  • append\_records\_pk\_conflict\_predicate\_lower: The record with lower value for the column resolves the primary-key insert conflict. The default value is ''.
  • append\_records\_truncate\_strings: If set to true, it allows inserting longer strings into smaller charN string columns by truncating the longer strings to fit. Supported values: The default value is append\_records\_false.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ checkTable() \[1/4]

CheckTableResponse gpudb::GPUdb::checkTable ( const CheckTableRequest & request\_ ) const

Scans the requested tables as specified in tableNames for integrity.

Any table chunks which fail the check will be marked as corrupt. By default the database will automatically repair corrupt tables (via truncating). Note that since this reads every table column from disk it may be a potentially long-running operation. The option local\_only can be used to skip any table files already written to a remote storage. Returns table corruption results.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ checkTable() \[2/4]

CheckTableResponse & gpudb::GPUdb::checkTable ( const CheckTableRequest & request\_,
CheckTableResponse & response\_ ) const

Scans the requested tables as specified in tableNames for integrity.

Any table chunks which fail the check will be marked as corrupt. By default the database will automatically repair corrupt tables (via truncating). Note that since this reads every table column from disk it may be a potentially long-running operation. The option local\_only can be used to skip any table files already written to a remote storage. Returns table corruption results.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ checkTable() \[3/4]

CheckTableResponse gpudb::GPUdb::checkTable ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options ) const

Scans the requested tables as specified in tableNames for integrity.

Any table chunks which fail the check will be marked as corrupt. By default the database will automatically repair corrupt tables (via truncating). Note that since this reads every table column from disk it may be a potentially long-running operation. The option local\_only can be used to skip any table files already written to a remote storage. Returns table corruption results.

Parameters
\[in] tableNames List of tables to query. An asterisk returns all tables.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ checkTable() \[4/4]

CheckTableResponse & gpudb::GPUdb::checkTable ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options,
CheckTableResponse & response\_ ) const

Scans the requested tables as specified in tableNames for integrity.

Any table chunks which fail the check will be marked as corrupt. By default the database will automatically repair corrupt tables (via truncating). Note that since this reads every table column from disk it may be a potentially long-running operation. The option local\_only can be used to skip any table files already written to a remote storage. Returns table corruption results.

Parameters
\[in] tableNames List of tables to query. An asterisk returns all tables.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearStatistics() \[1/4]

ClearStatisticsResponse gpudb::GPUdb::clearStatistics ( const ClearStatisticsRequest & request\_ ) const

Clears statistics (cardinality, mean value, etc.) for a column in a specified table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ clearStatistics() \[2/4]

ClearStatisticsResponse & gpudb::GPUdb::clearStatistics ( const ClearStatisticsRequest & request\_,
ClearStatisticsResponse & response\_ ) const

Clears statistics (cardinality, mean value, etc.) for a column in a specified table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearStatistics() \[3/4]

ClearStatisticsResponse gpudb::GPUdb::clearStatistics ( const std::string & tableName,
const std::string & columnName,
const std::map\< std::string, std::string > & options ) const

Clears statistics (cardinality, mean value, etc.) for a column in a specified table.

Parameters
\[in] tableName Name of a table, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table. A value of '\*' clears statistics on every user table the caller may read (excluding system schemas, views, and temporary tables); when used, columnName must be empty. The default value is ''.
\[in] columnName Name of the column in tableName for which to clear statistics. The column must be from an existing table. An empty string clears statistics for all columns in the table. Must be empty when tableName is '\*'. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ clearStatistics() \[4/4]

ClearStatisticsResponse & gpudb::GPUdb::clearStatistics ( const std::string & tableName,
const std::string & columnName,
const std::map\< std::string, std::string > & options,
ClearStatisticsResponse & response\_ ) const

Clears statistics (cardinality, mean value, etc.) for a column in a specified table.

Parameters
\[in] tableName Name of a table, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table. A value of '\*' clears statistics on every user table the caller may read (excluding system schemas, views, and temporary tables); when used, columnName must be empty. The default value is ''.
\[in] columnName Name of the column in tableName for which to clear statistics. The column must be from an existing table. An empty string clears statistics for all columns in the table. Must be empty when tableName is '\*'. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTable() \[1/4]

ClearTableResponse gpudb::GPUdb::clearTable ( const ClearTableRequest & request\_ ) const

Clears (drops) one or all tables in the database cluster.

The operation is synchronous meaning that the table will be cleared before the function returns. The response payload returns the status of the operation along with the name of the table that was cleared.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ clearTable() \[2/4]

ClearTableResponse & gpudb::GPUdb::clearTable ( const ClearTableRequest & request\_,
ClearTableResponse & response\_ ) const

Clears (drops) one or all tables in the database cluster.

The operation is synchronous meaning that the table will be cleared before the function returns. The response payload returns the status of the operation along with the name of the table that was cleared.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTable() \[3/4]

ClearTableResponse gpudb::GPUdb::clearTable ( const std::string & tableName,
const std::string & authorization,
const std::map\< std::string, std::string > & options ) const

Clears (drops) one or all tables in the database cluster.

The operation is synchronous meaning that the table will be cleared before the function returns. The response payload returns the status of the operation along with the name of the table that was cleared.

Parameters
\[in] tableName Name of the table to be cleared, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table. Empty string clears all available tables, though this behavior is be prevented by default via gpudb.conf parameter 'disable\_clear\_all'. The default value is ''.
\[in] authorization No longer used. User can pass an empty string. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ clearTable() \[4/4]

ClearTableResponse & gpudb::GPUdb::clearTable ( const std::string & tableName,
const std::string & authorization,
const std::map\< std::string, std::string > & options,
ClearTableResponse & response\_ ) const

Clears (drops) one or all tables in the database cluster.

The operation is synchronous meaning that the table will be cleared before the function returns. The response payload returns the status of the operation along with the name of the table that was cleared.

Parameters
\[in] tableName Name of the table to be cleared, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table. Empty string clears all available tables, though this behavior is be prevented by default via gpudb.conf parameter 'disable\_clear\_all'. The default value is ''.
\[in] authorization No longer used. User can pass an empty string. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTableMonitor() \[1/4]

ClearTableMonitorResponse gpudb::GPUdb::clearTableMonitor ( const ClearTableMonitorRequest & request\_ ) const

Deactivates a table monitor previously created with createTableMonitor.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ clearTableMonitor() \[2/4]

ClearTableMonitorResponse & gpudb::GPUdb::clearTableMonitor ( const ClearTableMonitorRequest & request\_,
ClearTableMonitorResponse & response\_ ) const

Deactivates a table monitor previously created with createTableMonitor.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTableMonitor() \[3/4]

ClearTableMonitorResponse gpudb::GPUdb::clearTableMonitor ( const std::string & topicId,
const std::map\< std::string, std::string > & options ) const

Deactivates a table monitor previously created with createTableMonitor.

Parameters
\[in] topicId The topic ID returned by createTableMonitor.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ clearTableMonitor() \[4/4]

ClearTableMonitorResponse & gpudb::GPUdb::clearTableMonitor ( const std::string & topicId,
const std::map\< std::string, std::string > & options,
ClearTableMonitorResponse & response\_ ) const

Deactivates a table monitor previously created with createTableMonitor.

Parameters
\[in] topicId The topic ID returned by createTableMonitor.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTables() \[1/4]

ClearTablesResponse gpudb::GPUdb::clearTables ( const ClearTablesRequest & request\_ ) const

Clears (drops) tables in the database cluster.

The operation is synchronous meaning that the tables will be cleared before the function returns. The response payload returns the status of the operation for each table requested.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ clearTables() \[2/4]

ClearTablesResponse & gpudb::GPUdb::clearTables ( const ClearTablesRequest & request\_,
ClearTablesResponse & response\_ ) const

Clears (drops) tables in the database cluster.

The operation is synchronous meaning that the tables will be cleared before the function returns. The response payload returns the status of the operation for each table requested.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTables() \[3/4]

ClearTablesResponse gpudb::GPUdb::clearTables ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options ) const

Clears (drops) tables in the database cluster.

The operation is synchronous meaning that the tables will be cleared before the function returns. The response payload returns the status of the operation for each table requested.

Parameters
\[in] tableNames Names of the tables to be cleared, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be existing tables. Empty list clears all available tables, though this behavior is be prevented by default via gpudb.conf parameter 'disable\_clear\_all'. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ clearTables() \[4/4]

ClearTablesResponse & gpudb::GPUdb::clearTables ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options,
ClearTablesResponse & response\_ ) const

Clears (drops) tables in the database cluster.

The operation is synchronous meaning that the tables will be cleared before the function returns. The response payload returns the status of the operation for each table requested.

Parameters
\[in] tableNames Names of the tables to be cleared, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be existing tables. Empty list clears all available tables, though this behavior is be prevented by default via gpudb.conf parameter 'disable\_clear\_all'. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTrigger() \[1/4]

ClearTriggerResponse gpudb::GPUdb::clearTrigger ( const ClearTriggerRequest & request\_ ) const

Clears or cancels the trigger identified by the specified handle.

The output returns the handle of the trigger cleared as well as indicating success or failure of the trigger deactivation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ clearTrigger() \[2/4]

ClearTriggerResponse & gpudb::GPUdb::clearTrigger ( const ClearTriggerRequest & request\_,
ClearTriggerResponse & response\_ ) const

Clears or cancels the trigger identified by the specified handle.

The output returns the handle of the trigger cleared as well as indicating success or failure of the trigger deactivation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ clearTrigger() \[3/4]

ClearTriggerResponse gpudb::GPUdb::clearTrigger ( const std::string & triggerId,
const std::map\< std::string, std::string > & options ) const

Clears or cancels the trigger identified by the specified handle.

The output returns the handle of the trigger cleared as well as indicating success or failure of the trigger deactivation.

Parameters
\[in] triggerId ID for the trigger to be deactivated.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ clearTrigger() \[4/4]

ClearTriggerResponse & gpudb::GPUdb::clearTrigger ( const std::string & triggerId,
const std::map\< std::string, std::string > & options,
ClearTriggerResponse & response\_ ) const

Clears or cancels the trigger identified by the specified handle.

The output returns the handle of the trigger cleared as well as indicating success or failure of the trigger deactivation.

Parameters
\[in] triggerId ID for the trigger to be deactivated.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ collectStatistics() \[1/4]

CollectStatisticsResponse gpudb::GPUdb::collectStatistics ( const CollectStatisticsRequest & request\_ ) const

Collect statistics for a column(s) in a specified table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ collectStatistics() \[2/4]

CollectStatisticsResponse & gpudb::GPUdb::collectStatistics ( const CollectStatisticsRequest & request\_,
CollectStatisticsResponse & response\_ ) const

Collect statistics for a column(s) in a specified table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ collectStatistics() \[3/4]

CollectStatisticsResponse gpudb::GPUdb::collectStatistics ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const std::map\< std::string, std::string > & options ) const

Collect statistics for a column(s) in a specified table.

Parameters
\[in] tableName Name of a table, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table. A value of '\*' collects statistics on every user table the caller may read (excluding system schemas, views, and temporary tables); when used, columnNames must be '\*'.
\[in] columnNames List of one or more column names in tableName for which to collect statistics (cardinality, mean value, etc.). A single entry of '\*' expands to every collectable column on the table (geometry, vector, JSON, and array columns are skipped).
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ collectStatistics() \[4/4]

CollectStatisticsResponse & gpudb::GPUdb::collectStatistics ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const std::map\< std::string, std::string > & options,
CollectStatisticsResponse & response\_ ) const

Collect statistics for a column(s) in a specified table.

Parameters
\[in] tableName Name of a table, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table. A value of '\*' collects statistics on every user table the caller may read (excluding system schemas, views, and temporary tables); when used, columnNames must be '\*'.
\[in] columnNames List of one or more column names in tableName for which to collect statistics (cardinality, mean value, etc.). A single entry of '\*' expands to every collectable column on the table (geometry, vector, JSON, and array columns are skipped).
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createBackup() \[1/4]

CreateBackupResponse gpudb::GPUdb::createBackup ( const CreateBackupRequest & request\_ ) const

Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createBackup() \[2/4]

CreateBackupResponse & gpudb::GPUdb::createBackup ( const CreateBackupRequest & request\_,
CreateBackupResponse & response\_ ) const

Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createBackup() \[3/4]

CreateBackupResponse gpudb::GPUdb::createBackup ( const std::string & backupName,
const std::string & backupType,
const std::map\< std::string, std::string > & backupObjectsMap,
const std::string & datasinkName,
const std::map\< std::string, std::string > & options ) const

Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.

Parameters
\[in] backupName Name for this backup. If the backup already exists, only an incremental or differential backup can be made, unless recreate is set to true.
\[in] backupType Type of snapshot to create. Supported values:
\[in] backupObjectsMap Map of objects to be captured in the backup; must be specified when creating a full snapshot and left unspecified when creating an incremental or differential snapshot. The default value is an empty map.
\[in] datasinkName Data sink through which the backup will be stored.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createBackup() \[4/4]

CreateBackupResponse & gpudb::GPUdb::createBackup ( const std::string & backupName,
const std::string & backupType,
const std::map\< std::string, std::string > & backupObjectsMap,
const std::string & datasinkName,
const std::map\< std::string, std::string > & options,
CreateBackupResponse & response\_ ) const

Creates a database backup, containing a snapshot of existing objects, at the remote file store accessible via the data sink specified by datasinkName.

Parameters
\[in] backupName Name for this backup. If the backup already exists, only an incremental or differential backup can be made, unless recreate is set to true.
\[in] backupType Type of snapshot to create. Supported values:
\[in] backupObjectsMap Map of objects to be captured in the backup; must be specified when creating a full snapshot and left unspecified when creating an incremental or differential snapshot. The default value is an empty map.
\[in] datasinkName Data sink through which the backup will be stored.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createCatalog() \[1/4]

CreateCatalogResponse gpudb::GPUdb::createCatalog ( const CreateCatalogRequest & request\_ ) const

Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createCatalog() \[2/4]

CreateCatalogResponse & gpudb::GPUdb::createCatalog ( const CreateCatalogRequest & request\_,
CreateCatalogResponse & response\_ ) const

Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createCatalog() \[3/4]

CreateCatalogResponse gpudb::GPUdb::createCatalog ( const std::string & name,
const std::string & tableFormat,
const std::string & location,
const std::string & type,
const std::string & credential,
const std::string & datasource,
const std::map\< std::string, std::string > & options ) const

Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.

Parameters
\[in] name Name of the catalog to be created.
\[in] tableFormat Table format (iceberg, hudi, deltalake).
\[in] location Location of the catalog in 'http\[s]://\[server\[:port]]]' format.
\[in] type Type of the catalog (REST (unity, polaris, tabular), nessie, hive, glue).
\[in] credential Name of the credential object to be used in catalog.
\[in] datasource Password for the remote system user; may be an empty string.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createCatalog() \[4/4]

CreateCatalogResponse & gpudb::GPUdb::createCatalog ( const std::string & name,
const std::string & tableFormat,
const std::string & location,
const std::string & type,
const std::string & credential,
const std::string & datasource,
const std::map\< std::string, std::string > & options,
CreateCatalogResponse & response\_ ) const

Creates a catalog, which contains the location and connection information for a deltalake catalog that is external to the database.

Parameters
\[in] name Name of the catalog to be created.
\[in] tableFormat Table format (iceberg, hudi, deltalake).
\[in] location Location of the catalog in 'http\[s]://\[server\[:port]]]' format.
\[in] type Type of the catalog (REST (unity, polaris, tabular), nessie, hive, glue).
\[in] credential Name of the credential object to be used in catalog.
\[in] datasource Password for the remote system user; may be an empty string.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createCredential() \[1/4]

CreateCredentialResponse gpudb::GPUdb::createCredential ( const CreateCredentialRequest & request\_ ) const

Create a new credential.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createCredential() \[2/4]

CreateCredentialResponse & gpudb::GPUdb::createCredential ( const CreateCredentialRequest & request\_,
CreateCredentialResponse & response\_ ) const

Create a new credential.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createCredential() \[3/4]

CreateCredentialResponse gpudb::GPUdb::createCredential ( const std::string & credentialName,
const std::string & type,
const std::string & identity,
const std::string & secret,
const std::map\< std::string, std::string > & options ) const

Create a new credential.

Parameters
\[in] credentialName Name of the credential to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match an existing credential name.
\[in] type Type of the credential to be created. Supported values:
\[in] identity User of the credential to be created.
\[in] secret Password of the credential to be created.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createCredential() \[4/4]

CreateCredentialResponse & gpudb::GPUdb::createCredential ( const std::string & credentialName,
const std::string & type,
const std::string & identity,
const std::string & secret,
const std::map\< std::string, std::string > & options,
CreateCredentialResponse & response\_ ) const

Create a new credential.

Parameters
\[in] credentialName Name of the credential to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match an existing credential name.
\[in] type Type of the credential to be created. Supported values:
\[in] identity User of the credential to be created.
\[in] secret Password of the credential to be created.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createDatasink() \[1/4]

CreateDatasinkResponse gpudb::GPUdb::createDatasink ( const CreateDatasinkRequest & request\_ ) const

Creates a data sink, which contains the destination information for a data sink that is external to the database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createDatasink() \[2/4]

CreateDatasinkResponse & gpudb::GPUdb::createDatasink ( const CreateDatasinkRequest & request\_,
CreateDatasinkResponse & response\_ ) const

Creates a data sink, which contains the destination information for a data sink that is external to the database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createDatasink() \[3/4]

CreateDatasinkResponse gpudb::GPUdb::createDatasink ( const std::string & name,
const std::string & destination,
const std::map\< std::string, std::string > & options ) const

Creates a data sink, which contains the destination information for a data sink that is external to the database.

Parameters
\[in] name Name of the data sink to be created.
\[in] destination Destination for the output data in format 'storage\_provider\_type://path\[:port]'. Supported storage provider types are 'azure', 'gcs', 'hdfs', 'http', 'https', 'jdbc', 'kafka', and 's3'.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createDatasink() \[4/4]

CreateDatasinkResponse & gpudb::GPUdb::createDatasink ( const std::string & name,
const std::string & destination,
const std::map\< std::string, std::string > & options,
CreateDatasinkResponse & response\_ ) const

Creates a data sink, which contains the destination information for a data sink that is external to the database.

Parameters
\[in] name Name of the data sink to be created.
\[in] destination Destination for the output data in format 'storage\_provider\_type://path\[:port]'. Supported storage provider types are 'azure', 'gcs', 'hdfs', 'http', 'https', 'jdbc', 'kafka', and 's3'.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createDatasource() \[1/4]

CreateDatasourceResponse gpudb::GPUdb::createDatasource ( const CreateDatasourceRequest & request\_ ) const

Creates a data source, which contains the location and connection information for a data store that is external to the database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createDatasource() \[2/4]

CreateDatasourceResponse & gpudb::GPUdb::createDatasource ( const CreateDatasourceRequest & request\_,
CreateDatasourceResponse & response\_ ) const

Creates a data source, which contains the location and connection information for a data store that is external to the database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createDatasource() \[3/4]

CreateDatasourceResponse gpudb::GPUdb::createDatasource ( const std::string & name,
const std::string & location,
const std::string & userName,
const std::string & password,
const std::map\< std::string, std::string > & options ) const

Creates a data source, which contains the location and connection information for a data store that is external to the database.

Parameters
\[in] name Name of the data source to be created.
\[in] location Location of the remote storage in 'storage\_provider\_type://\[storage\_path\[:storage\_port]]' format. Supported storage provider types are 'azure', 'gcs', 'hdfs', 'jdbc', 'kafka', 'confluent', and 's3'.
\[in] userName Name of the remote system user; may be an empty string.
\[in] password Password for the remote system user; may be an empty string.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createDatasource() \[4/4]

CreateDatasourceResponse & gpudb::GPUdb::createDatasource ( const std::string & name,
const std::string & location,
const std::string & userName,
const std::string & password,
const std::map\< std::string, std::string > & options,
CreateDatasourceResponse & response\_ ) const

Creates a data source, which contains the location and connection information for a data store that is external to the database.

Parameters
\[in] name Name of the data source to be created.
\[in] location Location of the remote storage in 'storage\_provider\_type://\[storage\_path\[:storage\_port]]' format. Supported storage provider types are 'azure', 'gcs', 'hdfs', 'jdbc', 'kafka', 'confluent', and 's3'.
\[in] userName Name of the remote system user; may be an empty string.
\[in] password Password for the remote system user; may be an empty string.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createDirectory() \[1/4]

CreateDirectoryResponse gpudb::GPUdb::createDirectory ( const CreateDirectoryRequest & request\_ ) const

Creates a new directory in KiFS.

The new directory serves as a location in which the user can upload files using uploadFiles.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createDirectory() \[2/4]

CreateDirectoryResponse & gpudb::GPUdb::createDirectory ( const CreateDirectoryRequest & request\_,
CreateDirectoryResponse & response\_ ) const

Creates a new directory in KiFS.

The new directory serves as a location in which the user can upload files using uploadFiles.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createDirectory() \[3/4]

CreateDirectoryResponse gpudb::GPUdb::createDirectory ( const std::string & directoryName,
const std::map\< std::string, std::string > & options ) const

Creates a new directory in KiFS.

The new directory serves as a location in which the user can upload files using uploadFiles.

Parameters
\[in] directoryName Name of the directory in KiFS to be created.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createDirectory() \[4/4]

CreateDirectoryResponse & gpudb::GPUdb::createDirectory ( const std::string & directoryName,
const std::map\< std::string, std::string > & options,
CreateDirectoryResponse & response\_ ) const

Creates a new directory in KiFS.

The new directory serves as a location in which the user can upload files using uploadFiles.

Parameters
\[in] directoryName Name of the directory in KiFS to be created.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createEnvironment() \[1/4]

CreateEnvironmentResponse gpudb::GPUdb::createEnvironment ( const CreateEnvironmentRequest & request\_ ) const

Creates a new environment which can be used by user-defined functions (UDF).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createEnvironment() \[2/4]

CreateEnvironmentResponse & gpudb::GPUdb::createEnvironment ( const CreateEnvironmentRequest & request\_,
CreateEnvironmentResponse & response\_ ) const

Creates a new environment which can be used by user-defined functions (UDF).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createEnvironment() \[3/4]

CreateEnvironmentResponse gpudb::GPUdb::createEnvironment ( const std::string & environmentName,
const std::map\< std::string, std::string > & options ) const

Creates a new environment which can be used by user-defined functions (UDF).

Parameters
\[in] environmentName Name of the environment to be created.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createEnvironment() \[4/4]

CreateEnvironmentResponse & gpudb::GPUdb::createEnvironment ( const std::string & environmentName,
const std::map\< std::string, std::string > & options,
CreateEnvironmentResponse & response\_ ) const

Creates a new environment which can be used by user-defined functions (UDF).

Parameters
\[in] environmentName Name of the environment to be created.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createGraph() \[1/4]

CreateGraphResponse gpudb::GPUdb::createGraph ( const CreateGraphRequest & request\_ ) const

Creates a new graph network using given nodes, edges, weights, and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createGraph() \[2/4]

CreateGraphResponse & gpudb::GPUdb::createGraph ( const CreateGraphRequest & request\_,
CreateGraphResponse & response\_ ) const

Creates a new graph network using given nodes, edges, weights, and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createGraph() \[3/4]

CreateGraphResponse gpudb::GPUdb::createGraph ( const std::string & graphName,
const bool directedGraph,
const std::vector\< std::string > & nodes,
const std::vector\< std::string > & edges,
const std::vector\< std::string > & weights,
const std::vector\< std::string > & restrictions,
const std::map\< std::string, std::string > & options ) const

Creates a new graph network using given nodes, edges, weights, and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to generate.
\[in] directedGraph If set to true, the graph will be directed. If set to false, the graph will not be directed. Consult Directed Graphs for more details. Supported values:
  • true
  • false
The default value is true.
\[in] nodes Nodes represent fundamental topological units of a graph. Nodes must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS NODE\_ID', expressions, e.g., 'ST\_MAKEPOINT(column1, column2) AS NODE\_WKTPOINT', or constant values, e.g., '9, 10, 11 AS NODE\_ID'. If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] edges Edges represent the required fundamental topological unit of a graph that typically connect nodes. Edges must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS EDGE\_ID', expressions, e.g., 'SUBSTR(column, 1, 6) AS EDGE\_NODE1\_NAME', or constant values, e.g., "'family', 'coworker' AS EDGE\_LABEL". If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] weights Weights represent a method of informing the graph solver of the cost of including a given edge in a solution. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED', or constant values, e.g., '4, 15 AS WEIGHTS\_VALUESPECIFIED'. If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] restrictions Restrictions represent a method of informing the graph solver which edges and/or nodes should be ignored for the solution. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or constant values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createGraph() \[4/4]

CreateGraphResponse & gpudb::GPUdb::createGraph ( const std::string & graphName,
const bool directedGraph,
const std::vector\< std::string > & nodes,
const std::vector\< std::string > & edges,
const std::vector\< std::string > & weights,
const std::vector\< std::string > & restrictions,
const std::map\< std::string, std::string > & options,
CreateGraphResponse & response\_ ) const

Creates a new graph network using given nodes, edges, weights, and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to generate.
\[in] directedGraph If set to true, the graph will be directed. If set to false, the graph will not be directed. Consult Directed Graphs for more details. Supported values:
  • true
  • false
The default value is true.
\[in] nodes Nodes represent fundamental topological units of a graph. Nodes must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS NODE\_ID', expressions, e.g., 'ST\_MAKEPOINT(column1, column2) AS NODE\_WKTPOINT', or constant values, e.g., '9, 10, 11 AS NODE\_ID'. If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] edges Edges represent the required fundamental topological unit of a graph that typically connect nodes. Edges must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS EDGE\_ID', expressions, e.g., 'SUBSTR(column, 1, 6) AS EDGE\_NODE1\_NAME', or constant values, e.g., "'family', 'coworker' AS EDGE\_LABEL". If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] weights Weights represent a method of informing the graph solver of the cost of including a given edge in a solution. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED', or constant values, e.g., '4, 15 AS WEIGHTS\_VALUESPECIFIED'. If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] restrictions Restrictions represent a method of informing the graph solver which edges and/or nodes should be ignored for the solution. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or constant values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using constant values in an identifier combination, the number of values specified must match across the combination.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createJob() \[1/4]

CreateJobResponse gpudb::GPUdb::createJob ( const CreateJobRequest & request\_ ) const

Create a job which will run asynchronously.

The response returns a job ID, which can be used to query the status and result of the job. The status and the result of the job upon completion can be requested by getJob.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createJob() \[2/4]

CreateJobResponse & gpudb::GPUdb::createJob ( const CreateJobRequest & request\_,
CreateJobResponse & response\_ ) const

Create a job which will run asynchronously.

The response returns a job ID, which can be used to query the status and result of the job. The status and the result of the job upon completion can be requested by getJob.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createJob() \[3/4]

CreateJobResponse gpudb::GPUdb::createJob ( const std::string & endpoint,
const std::string & requestEncoding,
const std::vector\< uint8\_t > & data,
const std::string & dataStr,
const std::map\< std::string, std::string > & options ) const

Create a job which will run asynchronously.

The response returns a job ID, which can be used to query the status and result of the job. The status and the result of the job upon completion can be requested by getJob.

Parameters
\[in] endpoint Indicates which endpoint to execute, e.g. '/alter/table'.
\[in] requestEncoding The encoding of the request payload for the job. Supported values: The default value is create\_job\_binary.
\[in] data Binary-encoded payload for the job to be run asynchronously. The payload must contain the relevant input parameters for the endpoint indicated in endpoint. Please see the documentation for the appropriate endpoint to see what values must (or can) be specified. If this parameter is used, then requestEncoding must be binary or snappy.
\[in] dataStr JSON-encoded payload for the job to be run asynchronously. The payload must contain the relevant input parameters for the endpoint indicated in endpoint. Please see the documentation for the appropriate endpoint to see what values must (or can) be specified. If this parameter is used, then requestEncoding must be json.
\[in] options Optional parameters.
  • create\_job\_job\_tag: Tag to use for submitted job. The same tag could be used on backup cluster to retrieve response for the job. Tags can use letter, numbers, '\_' and '-'.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createJob() \[4/4]

CreateJobResponse & gpudb::GPUdb::createJob ( const std::string & endpoint,
const std::string & requestEncoding,
const std::vector\< uint8\_t > & data,
const std::string & dataStr,
const std::map\< std::string, std::string > & options,
CreateJobResponse & response\_ ) const

Create a job which will run asynchronously.

The response returns a job ID, which can be used to query the status and result of the job. The status and the result of the job upon completion can be requested by getJob.

Parameters
\[in] endpoint Indicates which endpoint to execute, e.g. '/alter/table'.
\[in] requestEncoding The encoding of the request payload for the job. Supported values: The default value is create\_job\_binary.
\[in] data Binary-encoded payload for the job to be run asynchronously. The payload must contain the relevant input parameters for the endpoint indicated in endpoint. Please see the documentation for the appropriate endpoint to see what values must (or can) be specified. If this parameter is used, then requestEncoding must be binary or snappy.
\[in] dataStr JSON-encoded payload for the job to be run asynchronously. The payload must contain the relevant input parameters for the endpoint indicated in endpoint. Please see the documentation for the appropriate endpoint to see what values must (or can) be specified. If this parameter is used, then requestEncoding must be json.
\[in] options Optional parameters.
  • create\_job\_job\_tag: Tag to use for submitted job. The same tag could be used on backup cluster to retrieve response for the job. Tags can use letter, numbers, '\_' and '-'.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createJoinTable() \[1/4]

CreateJoinTableResponse gpudb::GPUdb::createJoinTable ( const CreateJoinTableRequest & request\_ ) const

Creates a table that is the result of a SQL JOIN.

For join details and examples see: Joins. For limitations, see Join Limitations and Cautions.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createJoinTable() \[2/4]

CreateJoinTableResponse & gpudb::GPUdb::createJoinTable ( const CreateJoinTableRequest & request\_,
CreateJoinTableResponse & response\_ ) const

Creates a table that is the result of a SQL JOIN.

For join details and examples see: Joins. For limitations, see Join Limitations and Cautions.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createJoinTable() \[3/4]

CreateJoinTableResponse gpudb::GPUdb::createJoinTable ( const std::string & joinTableName,
const std::vector\< std::string > & tableNames,
const std::vector\< std::string > & columnNames,
const std::vector\< std::string > & expressions,
const std::map\< std::string, std::string > & options ) const

Creates a table that is the result of a SQL JOIN.

For join details and examples see: Joins. For limitations, see Join Limitations and Cautions.

Parameters
\[in] joinTableName Name of the join table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] tableNames The list of table names composing the join, each in \[schema\_name.]table\_name format, using standard name resolution rules. Corresponds to a SQL statement FROM clause.
\[in] columnNames List of member table columns or column expressions to be included in the join. Columns can be prefixed with 'table\_id.column\_name', where 'table\_id' is the table name or alias. Columns can be aliased via the syntax 'column\_name as alias'. Wild cards '' can be used to include all columns across member tables or 'table\_id.' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased–therefore, the '\*' wild card cannot be used if column names aren't unique across all tables.
\[in] expressions An optional list of expressions to combine and filter the joined tables. Corresponds to a SQL statement WHERE clause. For details see: expressions. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createJoinTable() \[4/4]

CreateJoinTableResponse & gpudb::GPUdb::createJoinTable ( const std::string & joinTableName,
const std::vector\< std::string > & tableNames,
const std::vector\< std::string > & columnNames,
const std::vector\< std::string > & expressions,
const std::map\< std::string, std::string > & options,
CreateJoinTableResponse & response\_ ) const

Creates a table that is the result of a SQL JOIN.

For join details and examples see: Joins. For limitations, see Join Limitations and Cautions.

Parameters
\[in] joinTableName Name of the join table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] tableNames The list of table names composing the join, each in \[schema\_name.]table\_name format, using standard name resolution rules. Corresponds to a SQL statement FROM clause.
\[in] columnNames List of member table columns or column expressions to be included in the join. Columns can be prefixed with 'table\_id.column\_name', where 'table\_id' is the table name or alias. Columns can be aliased via the syntax 'column\_name as alias'. Wild cards '' can be used to include all columns across member tables or 'table\_id.' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased–therefore, the '\*' wild card cannot be used if column names aren't unique across all tables.
\[in] expressions An optional list of expressions to combine and filter the joined tables. Corresponds to a SQL statement WHERE clause. For details see: expressions. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createMaterializedView() \[1/4]

CreateMaterializedViewResponse gpudb::GPUdb::createMaterializedView ( const CreateMaterializedViewRequest & request\_ ) const

Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.

For materialized view details and examples, see Materialized Views.

The response contains viewId, which is used to tag each subsequent operation (projection, union, aggregation, filter, or join) that will compose the view.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createMaterializedView() \[2/4]

CreateMaterializedViewResponse & gpudb::GPUdb::createMaterializedView ( const CreateMaterializedViewRequest & request\_,
CreateMaterializedViewResponse & response\_ ) const

Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.

For materialized view details and examples, see Materialized Views.

The response contains viewId, which is used to tag each subsequent operation (projection, union, aggregation, filter, or join) that will compose the view.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createMaterializedView() \[3/4]

CreateMaterializedViewResponse gpudb::GPUdb::createMaterializedView ( const std::string & tableName,
const std::map\< std::string, std::string > & options ) const

Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.

For materialized view details and examples, see Materialized Views.

The response contains viewId, which is used to tag each subsequent operation (projection, union, aggregation, filter, or join) that will compose the view.

Parameters
\[in] tableName Name of the table to be created that is the top-level table of the materialized view, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createMaterializedView() \[4/4]

CreateMaterializedViewResponse & gpudb::GPUdb::createMaterializedView ( const std::string & tableName,
const std::map\< std::string, std::string > & options,
CreateMaterializedViewResponse & response\_ ) const

Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.

For materialized view details and examples, see Materialized Views.

The response contains viewId, which is used to tag each subsequent operation (projection, union, aggregation, filter, or join) that will compose the view.

Parameters
\[in] tableName Name of the table to be created that is the top-level table of the materialized view, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createProc() \[1/4]

CreateProcResponse gpudb::GPUdb::createProc ( const CreateProcRequest & request\_ ) const

Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createProc() \[2/4]

CreateProcResponse & gpudb::GPUdb::createProc ( const CreateProcRequest & request\_,
CreateProcResponse & response\_ ) const

Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createProc() \[3/4]

CreateProcResponse gpudb::GPUdb::createProc ( const std::string & procName,
const std::string & executionMode,
const std::map\< std::string, std::vector\< uint8\_t > > & files,
const std::string & command,
const std::vector\< std::string > & args,
const std::map\< std::string, std::string > & options ) const

Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.

Parameters
\[in] procName Name of the proc to be created. Must not be the name of a currently existing proc.
\[in] executionMode The execution mode of the proc. Supported values:
  • create\_proc\_distributed: Input table data will be divided into data segments that are distributed across all nodes in the cluster, and the proc command will be invoked once per data segment in parallel. Output table data from each invocation will be saved to the same node as the corresponding input data.
  • create\_proc\_nondistributed: The proc command will be invoked only once per execution, and will not have direct access to any tables named as input or output table parameters in the call to executeProc. It will, however, be able to access the database using native API calls.
The default value is create\_proc\_distributed.
\[in] files A map of the files that make up the proc. The keys of the map are file names, and the values are the binary contents of the files. The file names may include subdirectory names (e.g. 'subdir/file') but must not resolve to a directory above the root for the proc. Files may be loaded from existing files in KiFS. Those file names should be prefixed with the uri kifs\:// and the values in the map should be empty. The default value is an empty map.
\[in] command The command (excluding arguments) that will be invoked when the proc is executed. It will be invoked from the directory containing the proc files and may be any command that can be resolved from that directory. It need not refer to a file actually in that directory; for example, it could be 'java' if the proc is a Java application; however, any necessary external programs must be preinstalled on every database node. If the command refers to a file in that directory, it must be preceded with './' as per Linux convention. If not specified, and exactly one file is provided in files, that file will be invoked. The default value is ''.
\[in] args An array of command-line arguments that will be passed to command when the proc is executed. The default value is an empty vector.
\[in] options Optional parameters.
  • create\_proc\_max\_concurrency\_per\_node: The maximum number of concurrent instances of the proc that will be executed per node. 0 allows unlimited concurrency. The default value is '0'.
  • create\_proc\_set\_environment: A python environment to use when executing the proc. Must be an existing environment, else an error will be returned. The default value is ''.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createProc() \[4/4]

CreateProcResponse & gpudb::GPUdb::createProc ( const std::string & procName,
const std::string & executionMode,
const std::map\< std::string, std::vector\< uint8\_t > > & files,
const std::string & command,
const std::vector\< std::string > & args,
const std::map\< std::string, std::string > & options,
CreateProcResponse & response\_ ) const

Creates an instance (proc) of the user-defined functions (UDF) specified by the given command, options, and files, and makes it available for execution.

Parameters
\[in] procName Name of the proc to be created. Must not be the name of a currently existing proc.
\[in] executionMode The execution mode of the proc. Supported values:
  • create\_proc\_distributed: Input table data will be divided into data segments that are distributed across all nodes in the cluster, and the proc command will be invoked once per data segment in parallel. Output table data from each invocation will be saved to the same node as the corresponding input data.
  • create\_proc\_nondistributed: The proc command will be invoked only once per execution, and will not have direct access to any tables named as input or output table parameters in the call to executeProc. It will, however, be able to access the database using native API calls.
The default value is create\_proc\_distributed.
\[in] files A map of the files that make up the proc. The keys of the map are file names, and the values are the binary contents of the files. The file names may include subdirectory names (e.g. 'subdir/file') but must not resolve to a directory above the root for the proc. Files may be loaded from existing files in KiFS. Those file names should be prefixed with the uri kifs\:// and the values in the map should be empty. The default value is an empty map.
\[in] command The command (excluding arguments) that will be invoked when the proc is executed. It will be invoked from the directory containing the proc files and may be any command that can be resolved from that directory. It need not refer to a file actually in that directory; for example, it could be 'java' if the proc is a Java application; however, any necessary external programs must be preinstalled on every database node. If the command refers to a file in that directory, it must be preceded with './' as per Linux convention. If not specified, and exactly one file is provided in files, that file will be invoked. The default value is ''.
\[in] args An array of command-line arguments that will be passed to command when the proc is executed. The default value is an empty vector.
\[in] options Optional parameters.
  • create\_proc\_max\_concurrency\_per\_node: The maximum number of concurrent instances of the proc that will be executed per node. 0 allows unlimited concurrency. The default value is '0'.
  • create\_proc\_set\_environment: A python environment to use when executing the proc. Must be an existing environment, else an error will be returned. The default value is ''.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createProjection() \[1/4]

CreateProjectionResponse gpudb::GPUdb::createProjection ( const CreateProjectionRequest & request\_ ) const

Creates a new projection of an existing table.

A projection represents a subset of the columns (potentially including derived columns) of a table.

For projection details and examples, see Projections. For limitations, see Projection Limitations and Cautions.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as getRecordsByColumn.

A projection can be created with a different shard key than the source table. By specifying shard\_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createProjection() \[2/4]

CreateProjectionResponse & gpudb::GPUdb::createProjection ( const CreateProjectionRequest & request\_,
CreateProjectionResponse & response\_ ) const

Creates a new projection of an existing table.

A projection represents a subset of the columns (potentially including derived columns) of a table.

For projection details and examples, see Projections. For limitations, see Projection Limitations and Cautions.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as getRecordsByColumn.

A projection can be created with a different shard key than the source table. By specifying shard\_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createProjection() \[3/4]

CreateProjectionResponse gpudb::GPUdb::createProjection ( const std::string & tableName,
const std::string & projectionName,
const std::vector\< std::string > & columnNames,
const std::map\< std::string, std::string > & options ) const

Creates a new projection of an existing table.

A projection represents a subset of the columns (potentially including derived columns) of a table.

For projection details and examples, see Projections. For limitations, see Projection Limitations and Cautions.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as getRecordsByColumn.

A projection can be created with a different shard key than the source table. By specifying shard\_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

Parameters
\[in] tableName Name of the existing table on which the projection is to be applied, in \[schema\_name.]table\_name format, using standard name resolution rules. An empty table name creates a projection from a single-row virtual table, where columns specified should be constants or constant expressions.
\[in] projectionName Name of the projection to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] columnNames List of columns from tableName to be included in the projection. Can include derived columns. Can be specified as aliased via the syntax 'column\_name as alias'.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createProjection() \[4/4]

CreateProjectionResponse & gpudb::GPUdb::createProjection ( const std::string & tableName,
const std::string & projectionName,
const std::vector\< std::string > & columnNames,
const std::map\< std::string, std::string > & options,
CreateProjectionResponse & response\_ ) const

Creates a new projection of an existing table.

A projection represents a subset of the columns (potentially including derived columns) of a table.

For projection details and examples, see Projections. For limitations, see Projection Limitations and Cautions.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as getRecordsByColumn.

A projection can be created with a different shard key than the source table. By specifying shard\_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

Parameters
\[in] tableName Name of the existing table on which the projection is to be applied, in \[schema\_name.]table\_name format, using standard name resolution rules. An empty table name creates a projection from a single-row virtual table, where columns specified should be constants or constant expressions.
\[in] projectionName Name of the projection to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] columnNames List of columns from tableName to be included in the projection. Can include derived columns. Can be specified as aliased via the syntax 'column\_name as alias'.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createResourceGroup() \[1/4]

CreateResourceGroupResponse gpudb::GPUdb::createResourceGroup ( const CreateResourceGroupRequest & request\_ ) const

Creates a new resource group to facilitate resource management.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createResourceGroup() \[2/4]

CreateResourceGroupResponse & gpudb::GPUdb::createResourceGroup ( const CreateResourceGroupRequest & request\_,
CreateResourceGroupResponse & response\_ ) const

Creates a new resource group to facilitate resource management.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createResourceGroup() \[3/4]

CreateResourceGroupResponse gpudb::GPUdb::createResourceGroup ( const std::string & name,
const std::map\< std::string, std::map\< std::string, std::string > > & tierAttributes,
const std::string & ranking,
const std::string & adjoiningResourceGroup,
const std::map\< std::string, std::string > & options ) const

Creates a new resource group to facilitate resource management.

Parameters
\[in] name Name of the group to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match existing resource group name.
\[in] tierAttributes Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max\_memory (in bytes) for the VRAM and RAM tiers. For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: 'VRAM':'max\_memory':'1000000000', 'RAM':'max\_memory':'10000000000'.
  • create\_resource\_group\_max\_memory: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
The default value is an empty map.
\[in] ranking Indicates the relative ranking among existing resource groups where this new resource group will be placed. Supported values:
\[in] adjoiningResourceGroup If ranking is before or after, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createResourceGroup() \[4/4]

CreateResourceGroupResponse & gpudb::GPUdb::createResourceGroup ( const std::string & name,
const std::map\< std::string, std::map\< std::string, std::string > > & tierAttributes,
const std::string & ranking,
const std::string & adjoiningResourceGroup,
const std::map\< std::string, std::string > & options,
CreateResourceGroupResponse & response\_ ) const

Creates a new resource group to facilitate resource management.

Parameters
\[in] name Name of the group to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match existing resource group name.
\[in] tierAttributes Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max\_memory (in bytes) for the VRAM and RAM tiers. For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: 'VRAM':'max\_memory':'1000000000', 'RAM':'max\_memory':'10000000000'.
  • create\_resource\_group\_max\_memory: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
The default value is an empty map.
\[in] ranking Indicates the relative ranking among existing resource groups where this new resource group will be placed. Supported values:
\[in] adjoiningResourceGroup If ranking is before or after, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createRole() \[1/4]

CreateRoleResponse gpudb::GPUdb::createRole ( const CreateRoleRequest & request\_ ) const

Creates a new role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createRole() \[2/4]

CreateRoleResponse & gpudb::GPUdb::createRole ( const CreateRoleRequest & request\_,
CreateRoleResponse & response\_ ) const

Creates a new role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createRole() \[3/4]

CreateRoleResponse gpudb::GPUdb::createRole ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Creates a new role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the role to be created. Must contain only lowercase letters, digits, and underscores, and cannot begin with a digit. Must not be the same name as an existing user or role.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createRole() \[4/4]

CreateRoleResponse & gpudb::GPUdb::createRole ( const std::string & name,
const std::map\< std::string, std::string > & options,
CreateRoleResponse & response\_ ) const

Creates a new role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the role to be created. Must contain only lowercase letters, digits, and underscores, and cannot begin with a digit. Must not be the same name as an existing user or role.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createSchema() \[1/4]

CreateSchemaResponse gpudb::GPUdb::createSchema ( const CreateSchemaRequest & request\_ ) const

Creates a SQL-style schema.

Schemas are containers for tables and views. Multiple tables and views can be defined with the same name in different schemas.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createSchema() \[2/4]

CreateSchemaResponse & gpudb::GPUdb::createSchema ( const CreateSchemaRequest & request\_,
CreateSchemaResponse & response\_ ) const

Creates a SQL-style schema.

Schemas are containers for tables and views. Multiple tables and views can be defined with the same name in different schemas.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createSchema() \[3/4]

CreateSchemaResponse gpudb::GPUdb::createSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options ) const

Creates a SQL-style schema.

Schemas are containers for tables and views. Multiple tables and views can be defined with the same name in different schemas.

Parameters
\[in] schemaName Name of the schema to be created. Has the same naming restrictions as tables.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createSchema() \[4/4]

CreateSchemaResponse & gpudb::GPUdb::createSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options,
CreateSchemaResponse & response\_ ) const

Creates a SQL-style schema.

Schemas are containers for tables and views. Multiple tables and views can be defined with the same name in different schemas.

Parameters
\[in] schemaName Name of the schema to be created. Has the same naming restrictions as tables.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTable() \[1/4]

CreateTableResponse gpudb::GPUdb::createTable ( const CreateTableRequest & request\_ ) const

Creates a new table with the given type (definition of columns).

The type is specified in typeId as either a numerical type ID (as returned by createType) or as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the properties map values from createType), and any data handling, data key, or data replacement properties.

A table may optionally be designated to use a replicated distribution scheme, or be assigned: foreign keys to other tables, a partitioning scheme, and/or a tier strategy.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createTable() \[2/4]

CreateTableResponse & gpudb::GPUdb::createTable ( const CreateTableRequest & request\_,
CreateTableResponse & response\_ ) const

Creates a new table with the given type (definition of columns).

The type is specified in typeId as either a numerical type ID (as returned by createType) or as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the properties map values from createType), and any data handling, data key, or data replacement properties.

A table may optionally be designated to use a replicated distribution scheme, or be assigned: foreign keys to other tables, a partitioning scheme, and/or a tier strategy.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTable() \[3/4]

CreateTableResponse gpudb::GPUdb::createTable ( const std::string & tableName,
const std::string & typeId,
const std::map\< std::string, std::string > & options ) const

Creates a new table with the given type (definition of columns).

The type is specified in typeId as either a numerical type ID (as returned by createType) or as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the properties map values from createType), and any data handling, data key, or data replacement properties.

A table may optionally be designated to use a replicated distribution scheme, or be assigned: foreign keys to other tables, a partitioning scheme, and/or a tier strategy.

Parameters
\[in] tableName Name of the table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. Error for requests with existing table of the same name and type ID may be suppressed by using the no\_error\_if\_exists option.
\[in] typeId The type for the table, specified as either an existing table's numerical type ID (as returned by createType) or a type definition (as described above).
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createTable() \[4/4]

CreateTableResponse & gpudb::GPUdb::createTable ( const std::string & tableName,
const std::string & typeId,
const std::map\< std::string, std::string > & options,
CreateTableResponse & response\_ ) const

Creates a new table with the given type (definition of columns).

The type is specified in typeId as either a numerical type ID (as returned by createType) or as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the properties map values from createType), and any data handling, data key, or data replacement properties.

A table may optionally be designated to use a replicated distribution scheme, or be assigned: foreign keys to other tables, a partitioning scheme, and/or a tier strategy.

Parameters
\[in] tableName Name of the table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. Error for requests with existing table of the same name and type ID may be suppressed by using the no\_error\_if\_exists option.
\[in] typeId The type for the table, specified as either an existing table's numerical type ID (as returned by createType) or a type definition (as described above).
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTableExternal() \[1/4]

CreateTableExternalResponse gpudb::GPUdb::createTableExternal ( const CreateTableExternalRequest & request\_ ) const

Creates a new external table, which is a local database object whose source data is located externally to the database.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

The external table can have its structure defined explicitly, via createTableOptions, which contains many of the options from createTable; or defined implicitly, inferred from the source data.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createTableExternal() \[2/4]

CreateTableExternalResponse & gpudb::GPUdb::createTableExternal ( const CreateTableExternalRequest & request\_,
CreateTableExternalResponse & response\_ ) const

Creates a new external table, which is a local database object whose source data is located externally to the database.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

The external table can have its structure defined explicitly, via createTableOptions, which contains many of the options from createTable; or defined implicitly, inferred from the source data.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTableExternal() \[3/4]

CreateTableExternalResponse gpudb::GPUdb::createTableExternal ( const std::string & tableName,
const std::vector\< std::string > & filepaths,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options ) const

Creates a new external table, which is a local database object whose source data is located externally to the database.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

The external table can have its structure defined explicitly, via createTableOptions, which contains many of the options from createTable; or defined implicitly, inferred from the source data.

Parameters
\[in] tableName Name of the table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] filepaths A list of file paths from which data will be sourced; For paths in KiFS, use the URI prefix of kifs\:// followed by the path to a file or directory. File matching by prefix is supported, e.g. kifs\://dir/file would match dir/file\_1 and dir/file\_2. When prefix matching is used, the path must start with a full, valid KiFS directory name. If an external data source is specified in datasource\_name, these file paths must resolve to accessible files at that data source location. Prefix matching is supported. If the data source is hdfs, prefixes must be aligned with directories, i.e. partial file names will not match. If no data source is specified, the files are assumed to be local to the database and must all be accessible to the gpudb user, residing on the path (or relative to the path) specified by the external files directory in the Kinetica configuration file. Wildcards (\*) can be used to specify a group of files. Prefix matching is supported, the prefixes must be aligned with directories. If the first path ends in .tsv, the text delimiter will be defaulted to a tab character. If the first path ends in .psv, the text delimiter will be defaulted to a pipe character (|).
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options from createTable, allowing the structure of the table to be defined independently of the data source. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createTableExternal() \[4/4]

CreateTableExternalResponse & gpudb::GPUdb::createTableExternal ( const std::string & tableName,
const std::vector\< std::string > & filepaths,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options,
CreateTableExternalResponse & response\_ ) const

Creates a new external table, which is a local database object whose source data is located externally to the database.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

The external table can have its structure defined explicitly, via createTableOptions, which contains many of the options from createTable; or defined implicitly, inferred from the source data.

Parameters
\[in] tableName Name of the table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] filepaths A list of file paths from which data will be sourced; For paths in KiFS, use the URI prefix of kifs\:// followed by the path to a file or directory. File matching by prefix is supported, e.g. kifs\://dir/file would match dir/file\_1 and dir/file\_2. When prefix matching is used, the path must start with a full, valid KiFS directory name. If an external data source is specified in datasource\_name, these file paths must resolve to accessible files at that data source location. Prefix matching is supported. If the data source is hdfs, prefixes must be aligned with directories, i.e. partial file names will not match. If no data source is specified, the files are assumed to be local to the database and must all be accessible to the gpudb user, residing on the path (or relative to the path) specified by the external files directory in the Kinetica configuration file. Wildcards (\*) can be used to specify a group of files. Prefix matching is supported, the prefixes must be aligned with directories. If the first path ends in .tsv, the text delimiter will be defaulted to a tab character. If the first path ends in .psv, the text delimiter will be defaulted to a pipe character (|).
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options from createTable, allowing the structure of the table to be defined independently of the data source. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTableMonitor() \[1/4]

CreateTableMonitorResponse gpudb::GPUdb::createTableMonitor ( const CreateTableMonitorRequest & request\_ ) const

Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.

After this call completes, subscribe to the returned topicId on the ZMQ table monitor port (default 9002). Each time an operation of the given type on the table completes, a multipart message is published for that topic; the first part contains only the topic ID, and each subsequent part contains one binary-encoded Avro object that corresponds to the event and can be decoded using typeSchema. The monitor will continue to run (regardless of whether or not there are any subscribers) until deactivated with clearTableMonitor.

For more information on table monitors, see Table Monitors.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createTableMonitor() \[2/4]

CreateTableMonitorResponse & gpudb::GPUdb::createTableMonitor ( const CreateTableMonitorRequest & request\_,
CreateTableMonitorResponse & response\_ ) const

Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.

After this call completes, subscribe to the returned topicId on the ZMQ table monitor port (default 9002). Each time an operation of the given type on the table completes, a multipart message is published for that topic; the first part contains only the topic ID, and each subsequent part contains one binary-encoded Avro object that corresponds to the event and can be decoded using typeSchema. The monitor will continue to run (regardless of whether or not there are any subscribers) until deactivated with clearTableMonitor.

For more information on table monitors, see Table Monitors.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTableMonitor() \[3/4]

CreateTableMonitorResponse gpudb::GPUdb::createTableMonitor ( const std::string & tableName,
const std::map\< std::string, std::string > & options ) const

Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.

After this call completes, subscribe to the returned topicId on the ZMQ table monitor port (default 9002). Each time an operation of the given type on the table completes, a multipart message is published for that topic; the first part contains only the topic ID, and each subsequent part contains one binary-encoded Avro object that corresponds to the event and can be decoded using typeSchema. The monitor will continue to run (regardless of whether or not there are any subscribers) until deactivated with clearTableMonitor.

For more information on table monitors, see Table Monitors.

Parameters
\[in] tableName Name of the table to monitor, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createTableMonitor() \[4/4]

CreateTableMonitorResponse & gpudb::GPUdb::createTableMonitor ( const std::string & tableName,
const std::map\< std::string, std::string > & options,
CreateTableMonitorResponse & response\_ ) const

Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by tableName) and forwards event notifications to subscribers via ZMQ.

After this call completes, subscribe to the returned topicId on the ZMQ table monitor port (default 9002). Each time an operation of the given type on the table completes, a multipart message is published for that topic; the first part contains only the topic ID, and each subsequent part contains one binary-encoded Avro object that corresponds to the event and can be decoded using typeSchema. The monitor will continue to run (regardless of whether or not there are any subscribers) until deactivated with clearTableMonitor.

For more information on table monitors, see Table Monitors.

Parameters
\[in] tableName Name of the table to monitor, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTriggerByArea() \[1/4]

CreateTriggerByAreaResponse gpudb::GPUdb::createTriggerByArea ( const CreateTriggerByAreaRequest & request\_ ) const

Sets up an area trigger mechanism for two column\_names for one or more tables.

(This function is essentially the two-dimensional version of createTriggerByRange.) Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen columns' values falling within the specified region will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createTriggerByArea() \[2/4]

CreateTriggerByAreaResponse & gpudb::GPUdb::createTriggerByArea ( const CreateTriggerByAreaRequest & request\_,
CreateTriggerByAreaResponse & response\_ ) const

Sets up an area trigger mechanism for two column\_names for one or more tables.

(This function is essentially the two-dimensional version of createTriggerByRange.) Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen columns' values falling within the specified region will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTriggerByArea() \[3/4]

CreateTriggerByAreaResponse gpudb::GPUdb::createTriggerByArea ( const std::string & requestId,
const std::vector\< std::string > & tableNames,
const std::string & xColumnName,
const std::vector\< double > & xVector,
const std::string & yColumnName,
const std::vector\< double > & yVector,
const std::map\< std::string, std::string > & options ) const

Sets up an area trigger mechanism for two column\_names for one or more tables.

(This function is essentially the two-dimensional version of createTriggerByRange.) Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen columns' values falling within the specified region will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] requestId User-created ID for the trigger. The ID can be alphanumeric, contain symbols, and must contain at least one character.
\[in] tableNames Names of the tables on which the trigger will be activated and maintained, each in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] xColumnName Name of a numeric column on which the trigger is activated. Usually 'x' for geospatial data points.
\[in] xVector The respective coordinate values for the region on which the trigger is activated. This usually translates to the x-coordinates of a geospatial region.
\[in] yColumnName Name of a second numeric column on which the trigger is activated. Usually 'y' for geospatial data points.
\[in] yVector The respective coordinate values for the region on which the trigger is activated. This usually translates to the y-coordinates of a geospatial region. Must be the same length as xvals.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createTriggerByArea() \[4/4]

CreateTriggerByAreaResponse & gpudb::GPUdb::createTriggerByArea ( const std::string & requestId,
const std::vector\< std::string > & tableNames,
const std::string & xColumnName,
const std::vector\< double > & xVector,
const std::string & yColumnName,
const std::vector\< double > & yVector,
const std::map\< std::string, std::string > & options,
CreateTriggerByAreaResponse & response\_ ) const

Sets up an area trigger mechanism for two column\_names for one or more tables.

(This function is essentially the two-dimensional version of createTriggerByRange.) Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen columns' values falling within the specified region will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] requestId User-created ID for the trigger. The ID can be alphanumeric, contain symbols, and must contain at least one character.
\[in] tableNames Names of the tables on which the trigger will be activated and maintained, each in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] xColumnName Name of a numeric column on which the trigger is activated. Usually 'x' for geospatial data points.
\[in] xVector The respective coordinate values for the region on which the trigger is activated. This usually translates to the x-coordinates of a geospatial region.
\[in] yColumnName Name of a second numeric column on which the trigger is activated. Usually 'y' for geospatial data points.
\[in] yVector The respective coordinate values for the region on which the trigger is activated. This usually translates to the y-coordinates of a geospatial region. Must be the same length as xvals.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTriggerByRange() \[1/4]

CreateTriggerByRangeResponse gpudb::GPUdb::createTriggerByRange ( const CreateTriggerByRangeRequest & request\_ ) const

Sets up a simple range trigger for a column\_name for one or more tables.

Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen column\_name's value falling within the specified range will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createTriggerByRange() \[2/4]

CreateTriggerByRangeResponse & gpudb::GPUdb::createTriggerByRange ( const CreateTriggerByRangeRequest & request\_,
CreateTriggerByRangeResponse & response\_ ) const

Sets up a simple range trigger for a column\_name for one or more tables.

Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen column\_name's value falling within the specified range will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createTriggerByRange() \[3/4]

CreateTriggerByRangeResponse gpudb::GPUdb::createTriggerByRange ( const std::string & requestId,
const std::vector\< std::string > & tableNames,
const std::string & columnName,
const double min,
const double max,
const std::map\< std::string, std::string > & options ) const

Sets up a simple range trigger for a column\_name for one or more tables.

Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen column\_name's value falling within the specified range will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] requestId User-created ID for the trigger. The ID can be alphanumeric, contain symbols, and must contain at least one character.
\[in] tableNames Tables on which the trigger will be active, each in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a numeric column\_name on which the trigger is activated.
\[in] min The lower bound (inclusive) for the trigger range.
\[in] max The upper bound (inclusive) for the trigger range.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createTriggerByRange() \[4/4]

CreateTriggerByRangeResponse & gpudb::GPUdb::createTriggerByRange ( const std::string & requestId,
const std::vector\< std::string > & tableNames,
const std::string & columnName,
const double min,
const double max,
const std::map\< std::string, std::string > & options,
CreateTriggerByRangeResponse & response\_ ) const

Sets up a simple range trigger for a column\_name for one or more tables.

Once the trigger has been activated, any record added to the listed tables(s) via insertRecords with the chosen column\_name's value falling within the specified range will trip the trigger. All such records will be queued at the trigger port (by default '9001' but able to be retrieved via showSystemStatus) for any listening client to collect. Active triggers can be cancelled by using the clearTrigger endpoint or by clearing all relevant tables.

The output returns the trigger handle as well as indicating success or failure of the trigger activation.

Parameters
\[in] requestId User-created ID for the trigger. The ID can be alphanumeric, contain symbols, and must contain at least one character.
\[in] tableNames Tables on which the trigger will be active, each in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] columnName Name of a numeric column\_name on which the trigger is activated.
\[in] min The lower bound (inclusive) for the trigger range.
\[in] max The upper bound (inclusive) for the trigger range.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createType() \[1/4]

CreateTypeResponse gpudb::GPUdb::createType ( const CreateTypeRequest & request\_ ) const

Creates a new type describing the columns of a table.

The type definition is specified as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the possible values for properties), and any data handling, data key, or data replacement properties.

Note that some properties are mutually exclusive–i.e. they cannot be specified for any given column simultaneously. One example of mutually exclusive properties are primary\_key and nullable.

A single primary key and/or single shard key can be set across one or more columns. If a primary key is specified, then a uniqueness constraint is enforced, in that only a single object can exist with a given primary key column value (or set of values for the key columns, if using a composite primary key). When inserting data into a table with a primary key, depending on the parameters in the request, incoming objects with primary key values that match existing objects will either overwrite (i.e. update) the existing object or will be skipped and not added into the set.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createType() \[2/4]

CreateTypeResponse & gpudb::GPUdb::createType ( const CreateTypeRequest & request\_,
CreateTypeResponse & response\_ ) const

Creates a new type describing the columns of a table.

The type definition is specified as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the possible values for properties), and any data handling, data key, or data replacement properties.

Note that some properties are mutually exclusive–i.e. they cannot be specified for any given column simultaneously. One example of mutually exclusive properties are primary\_key and nullable.

A single primary key and/or single shard key can be set across one or more columns. If a primary key is specified, then a uniqueness constraint is enforced, in that only a single object can exist with a given primary key column value (or set of values for the key columns, if using a composite primary key). When inserting data into a table with a primary key, depending on the parameters in the request, incoming objects with primary key values that match existing objects will either overwrite (i.e. update) the existing object or will be skipped and not added into the set.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createType() \[3/4]

CreateTypeResponse gpudb::GPUdb::createType ( const std::string & typeDefinition,
const std::string & label,
const std::map\< std::string, std::vector\< std::string > > & properties,
const std::map\< std::string, std::string > & options ) const

Creates a new type describing the columns of a table.

The type definition is specified as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the possible values for properties), and any data handling, data key, or data replacement properties.

Note that some properties are mutually exclusive–i.e. they cannot be specified for any given column simultaneously. One example of mutually exclusive properties are primary\_key and nullable.

A single primary key and/or single shard key can be set across one or more columns. If a primary key is specified, then a uniqueness constraint is enforced, in that only a single object can exist with a given primary key column value (or set of values for the key columns, if using a composite primary key). When inserting data into a table with a primary key, depending on the parameters in the request, incoming objects with primary key values that match existing objects will either overwrite (i.e. update) the existing object or will be skipped and not added into the set.

Parameters
\[in] typeDefinition JSON string defining the columns of the type to be registered, as described above.
\[in] label A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.
\[in] properties \[DEPRECATED–please use these property values in the typeDefinition directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name. All keys used must be relevant column names for the given table. Specifying any property overrides the default properties for that column (which is based on the column's data type). Valid values are:
  • create\_type\_data: Default property for all numeric and string type columns; makes the column available for GPU queries.
  • create\_type\_text\_search: Valid only for select 'string' columns. Enables full text search–see Full Text Search for details and applicable string column types.
  • create\_type\_timestamp: Valid only for 'long' columns. Indicates that this field represents a timestamp and will be provided in milliseconds since the Unix epoch: 00:00:00 Jan 1 1970. Dates represented by a timestamp must fall between the year 1000 and the year 2900.
  • create\_type\_ulong: Valid only for 'string' columns. It represents an unsigned long integer data type. The string can only be interpreted as an unsigned long data type with minimum value of zero, and maximum value of 18446744073709551615.
  • create\_type\_uuid: Valid only for 'string' columns. It represents an uuid data type. Internally, it is stored as a 128-bit integer.
  • create\_type\_decimal: Valid only for 'string' columns. It represents a SQL type NUMERIC(19, 4) data type. There can be up to 15 digits before the decimal point and up to four digits in the fractional part. The value can be positive or negative (indicated by a minus sign at the beginning). This property is mutually exclusive with the text\_search property.
  • create\_type\_date: Valid only for 'string' columns. Indicates that this field represents a date and will be provided in the format 'YYYY-MM-DD'. The allowable range is 1000-01-01 through 2900-01-01. This property is mutually exclusive with the text\_search property.
  • create\_type\_time: Valid only for 'string' columns. Indicates that this field represents a time-of-day and will be provided in the format 'HH:MM:SS.mmm'. The allowable range is 00:00:00.000 through 23:59:59.999. This property is mutually exclusive with the text\_search property.
  • create\_type\_datetime: Valid only for 'string' columns. Indicates that this field represents a datetime and will be provided in the format 'YYYY-MM-DD HH:MM:SS.mmm'. The allowable range is 1000-01-01 00:00:00.000 through 2900-01-01 23:59:59.999. This property is mutually exclusive with the text\_search property.
  • create\_type\_char1: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 1 character.
  • create\_type\_char2: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 2 characters.
  • create\_type\_char4: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 4 characters.
  • create\_type\_char8: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 8 characters.
  • create\_type\_char16: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 16 characters.
  • create\_type\_char32: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 32 characters.
  • create\_type\_char64: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 64 characters.
  • create\_type\_char128: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 128 characters.
  • create\_type\_char256: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 256 characters.
  • create\_type\_boolean: This property provides optimized memory and query performance for int columns. Ints with this property must be between 0 and 1(inclusive)
  • create\_type\_int8: This property provides optimized memory and query performance for int columns. Ints with this property must be between -128 and +127 (inclusive)
  • create\_type\_int16: This property provides optimized memory and query performance for int columns. Ints with this property must be between -32768 and +32767 (inclusive)
  • create\_type\_ipv4: This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1). Strings with this property must be of the form: A.B.C.D where A, B, C and D are in the range of 0-255.
  • create\_type\_array: Valid only for 'string' columns. Indicates that this field contains an array. The value type and (optionally) the item count should be specified in parenthesis; e.g., 'array(int, 10)' for a 10-integer array. Both 'array(int)' and 'array(int, -1)' will designate an unlimited-length integer array, though no bounds checking is performed on arrays of any length.
  • create\_type\_json: Valid only for 'string' columns. Indicates that this field contains values in JSON format.
  • create\_type\_vector: Valid only for 'bytes' columns. Indicates that this field contains a vector of floats. The length should be specified in parenthesis, e.g., 'vector(1000)'.
  • create\_type\_wkt: Valid only for 'string' and 'bytes' columns. Indicates that this field contains geospatial geometry objects in Well-Known Text (WKT) or Well-Known Binary (WKB) format.
  • create\_type\_primary\_key: This property indicates that this column will be part of (or the entire) primary key.
  • create\_type\_soft\_primary\_key: This property indicates that this column will be part of (or the entire) soft primary key.
  • create\_type\_shard\_key: This property indicates that this column will be part of (or the entire) shard key.
  • create\_type\_nullable: This property indicates that this column is nullable. However, setting this property is insufficient for making the column nullable. The user must declare the type of the column as a union between its regular type and 'null' in the Avro schema for the record type in typeDefinition. For example, if a column is of type integer and is nullable, then the entry for the column in the Avro schema must be: \['int', 'null']. The C++, C#, Java, and Python APIs have built-in convenience for bypassing setting the Avro schema by hand. For those languages, one can use this property as usual and not have to worry about the Avro schema for the record.
  • create\_type\_compress: This property indicates that this column should be compressed with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression. This property is primarily used in order to save disk space.
  • create\_type\_dict: This property indicates that this column should be dictionary encoded. It can only be used in conjunction with restricted string (charN), int, long or date columns. Dictionary encoding is best for columns where the cardinality (the number of unique values) is expected to be low. This property can save a large amount of memory.
  • create\_type\_init\_with\_now: For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert.
  • create\_type\_init\_with\_uuid: For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert.
  • create\_type\_update\_with\_now: For 'date', 'time', 'datetime', or 'timestamp' column types, update the field with 'NOW()' upon any update.
  • create\_type\_update\_with\_user: For 'charN' or 'string' column types, update the field with the current user's name upon any update.
  • create\_type\_default: Sets a default value expression for this column, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. When the column is omitted from an insert via request\_schema\_str, the expression is evaluated and the result is used as the column value.
  • create\_type\_default\_sql: Sets a default value expression for this column with SQL syntax, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. Only used for showing the expression when generating SQL DDL.
The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createType() \[4/4]

CreateTypeResponse & gpudb::GPUdb::createType ( const std::string & typeDefinition,
const std::string & label,
const std::map\< std::string, std::vector\< std::string > > & properties,
const std::map\< std::string, std::string > & options,
CreateTypeResponse & response\_ ) const

Creates a new type describing the columns of a table.

The type definition is specified as a list of columns, each specified as a list of the column name, data type, and any column attributes.

Example of a type definition with some parameters:

\[
\["id", "int8", "primary\_key"],
\["dept\_id", "int8", "primary\_key", "shard\_key"],
\["manager\_id", "int8", "nullable"],
\["first\_name", "char32"],
\["last\_name", "char64"],
\["salary", "decimal"],
\["hire\_date", "date"]
]

Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the possible values for properties), and any data handling, data key, or data replacement properties.

Note that some properties are mutually exclusive–i.e. they cannot be specified for any given column simultaneously. One example of mutually exclusive properties are primary\_key and nullable.

A single primary key and/or single shard key can be set across one or more columns. If a primary key is specified, then a uniqueness constraint is enforced, in that only a single object can exist with a given primary key column value (or set of values for the key columns, if using a composite primary key). When inserting data into a table with a primary key, depending on the parameters in the request, incoming objects with primary key values that match existing objects will either overwrite (i.e. update) the existing object or will be skipped and not added into the set.

Parameters
\[in] typeDefinition JSON string defining the columns of the type to be registered, as described above.
\[in] label A user-defined description string which can be used to differentiate between tables and types with otherwise identical schemas.
\[in] properties \[DEPRECATED–please use these property values in the typeDefinition directly, as described at the top, instead] Each key-value pair specifies the properties to use for a given column where the key is the column name. All keys used must be relevant column names for the given table. Specifying any property overrides the default properties for that column (which is based on the column's data type). Valid values are:
  • create\_type\_data: Default property for all numeric and string type columns; makes the column available for GPU queries.
  • create\_type\_text\_search: Valid only for select 'string' columns. Enables full text search–see Full Text Search for details and applicable string column types.
  • create\_type\_timestamp: Valid only for 'long' columns. Indicates that this field represents a timestamp and will be provided in milliseconds since the Unix epoch: 00:00:00 Jan 1 1970. Dates represented by a timestamp must fall between the year 1000 and the year 2900.
  • create\_type\_ulong: Valid only for 'string' columns. It represents an unsigned long integer data type. The string can only be interpreted as an unsigned long data type with minimum value of zero, and maximum value of 18446744073709551615.
  • create\_type\_uuid: Valid only for 'string' columns. It represents an uuid data type. Internally, it is stored as a 128-bit integer.
  • create\_type\_decimal: Valid only for 'string' columns. It represents a SQL type NUMERIC(19, 4) data type. There can be up to 15 digits before the decimal point and up to four digits in the fractional part. The value can be positive or negative (indicated by a minus sign at the beginning). This property is mutually exclusive with the text\_search property.
  • create\_type\_date: Valid only for 'string' columns. Indicates that this field represents a date and will be provided in the format 'YYYY-MM-DD'. The allowable range is 1000-01-01 through 2900-01-01. This property is mutually exclusive with the text\_search property.
  • create\_type\_time: Valid only for 'string' columns. Indicates that this field represents a time-of-day and will be provided in the format 'HH:MM:SS.mmm'. The allowable range is 00:00:00.000 through 23:59:59.999. This property is mutually exclusive with the text\_search property.
  • create\_type\_datetime: Valid only for 'string' columns. Indicates that this field represents a datetime and will be provided in the format 'YYYY-MM-DD HH:MM:SS.mmm'. The allowable range is 1000-01-01 00:00:00.000 through 2900-01-01 23:59:59.999. This property is mutually exclusive with the text\_search property.
  • create\_type\_char1: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 1 character.
  • create\_type\_char2: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 2 characters.
  • create\_type\_char4: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 4 characters.
  • create\_type\_char8: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 8 characters.
  • create\_type\_char16: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 16 characters.
  • create\_type\_char32: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 32 characters.
  • create\_type\_char64: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 64 characters.
  • create\_type\_char128: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 128 characters.
  • create\_type\_char256: This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 256 characters.
  • create\_type\_boolean: This property provides optimized memory and query performance for int columns. Ints with this property must be between 0 and 1(inclusive)
  • create\_type\_int8: This property provides optimized memory and query performance for int columns. Ints with this property must be between -128 and +127 (inclusive)
  • create\_type\_int16: This property provides optimized memory and query performance for int columns. Ints with this property must be between -32768 and +32767 (inclusive)
  • create\_type\_ipv4: This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1). Strings with this property must be of the form: A.B.C.D where A, B, C and D are in the range of 0-255.
  • create\_type\_array: Valid only for 'string' columns. Indicates that this field contains an array. The value type and (optionally) the item count should be specified in parenthesis; e.g., 'array(int, 10)' for a 10-integer array. Both 'array(int)' and 'array(int, -1)' will designate an unlimited-length integer array, though no bounds checking is performed on arrays of any length.
  • create\_type\_json: Valid only for 'string' columns. Indicates that this field contains values in JSON format.
  • create\_type\_vector: Valid only for 'bytes' columns. Indicates that this field contains a vector of floats. The length should be specified in parenthesis, e.g., 'vector(1000)'.
  • create\_type\_wkt: Valid only for 'string' and 'bytes' columns. Indicates that this field contains geospatial geometry objects in Well-Known Text (WKT) or Well-Known Binary (WKB) format.
  • create\_type\_primary\_key: This property indicates that this column will be part of (or the entire) primary key.
  • create\_type\_soft\_primary\_key: This property indicates that this column will be part of (or the entire) soft primary key.
  • create\_type\_shard\_key: This property indicates that this column will be part of (or the entire) shard key.
  • create\_type\_nullable: This property indicates that this column is nullable. However, setting this property is insufficient for making the column nullable. The user must declare the type of the column as a union between its regular type and 'null' in the Avro schema for the record type in typeDefinition. For example, if a column is of type integer and is nullable, then the entry for the column in the Avro schema must be: \['int', 'null']. The C++, C#, Java, and Python APIs have built-in convenience for bypassing setting the Avro schema by hand. For those languages, one can use this property as usual and not have to worry about the Avro schema for the record.
  • create\_type\_compress: This property indicates that this column should be compressed with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression. This property is primarily used in order to save disk space.
  • create\_type\_dict: This property indicates that this column should be dictionary encoded. It can only be used in conjunction with restricted string (charN), int, long or date columns. Dictionary encoding is best for columns where the cardinality (the number of unique values) is expected to be low. This property can save a large amount of memory.
  • create\_type\_init\_with\_now: For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert.
  • create\_type\_init\_with\_uuid: For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert.
  • create\_type\_update\_with\_now: For 'date', 'time', 'datetime', or 'timestamp' column types, update the field with 'NOW()' upon any update.
  • create\_type\_update\_with\_user: For 'charN' or 'string' column types, update the field with the current user's name upon any update.
  • create\_type\_default: Sets a default value expression for this column, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. When the column is omitted from an insert via request\_schema\_str, the expression is evaluated and the result is used as the column value.
  • create\_type\_default\_sql: Sets a default value expression for this column with SQL syntax, e.g. 'default(0)', 'default(''pending'')', or 'default(NOW())'. Only used for showing the expression when generating SQL DDL.
The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createUnion() \[1/4]

CreateUnionResponse gpudb::GPUdb::createUnion ( const CreateUnionRequest & request\_ ) const

Merges data from one or more tables with comparable data types into a new table.

The following merges are supported:

UNION (DISTINCT/ALL) - For data set union details and examples, see Union. For limitations, see Union Limitations and Cautions.

INTERSECT (DISTINCT/ALL) - For data set intersection details and examples, see Intersect. For limitations, see Intersect Limitations.

EXCEPT (DISTINCT/ALL) - For data set subtraction details and examples, see Except. For limitations, see Except Limitations.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createUnion() \[2/4]

CreateUnionResponse & gpudb::GPUdb::createUnion ( const CreateUnionRequest & request\_,
CreateUnionResponse & response\_ ) const

Merges data from one or more tables with comparable data types into a new table.

The following merges are supported:

UNION (DISTINCT/ALL) - For data set union details and examples, see Union. For limitations, see Union Limitations and Cautions.

INTERSECT (DISTINCT/ALL) - For data set intersection details and examples, see Intersect. For limitations, see Intersect Limitations.

EXCEPT (DISTINCT/ALL) - For data set subtraction details and examples, see Except. For limitations, see Except Limitations.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createUnion() \[3/4]

CreateUnionResponse gpudb::GPUdb::createUnion ( const std::string & tableName,
const std::vector\< std::string > & tableNames,
const std::vector\< std::vector\< std::string > > & inputColumnNames,
const std::vector\< std::string > & outputColumnNames,
const std::map\< std::string, std::string > & options ) const

Merges data from one or more tables with comparable data types into a new table.

The following merges are supported:

UNION (DISTINCT/ALL) - For data set union details and examples, see Union. For limitations, see Union Limitations and Cautions.

INTERSECT (DISTINCT/ALL) - For data set intersection details and examples, see Intersect. For limitations, see Intersect Limitations.

EXCEPT (DISTINCT/ALL) - For data set subtraction details and examples, see Except. For limitations, see Except Limitations.

Parameters
\[in] tableName Name of the table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] tableNames The list of table names to merge, in \[schema\_name.]table\_name format, using standard name resolution rules. Must contain the names of one or more existing tables.
\[in] inputColumnNames The list of columns from each of the corresponding input tables.
\[in] outputColumnNames The list of names of the columns to be stored in the output table.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createUnion() \[4/4]

CreateUnionResponse & gpudb::GPUdb::createUnion ( const std::string & tableName,
const std::vector\< std::string > & tableNames,
const std::vector\< std::vector\< std::string > > & inputColumnNames,
const std::vector\< std::string > & outputColumnNames,
const std::map\< std::string, std::string > & options,
CreateUnionResponse & response\_ ) const

Merges data from one or more tables with comparable data types into a new table.

The following merges are supported:

UNION (DISTINCT/ALL) - For data set union details and examples, see Union. For limitations, see Union Limitations and Cautions.

INTERSECT (DISTINCT/ALL) - For data set intersection details and examples, see Intersect. For limitations, see Intersect Limitations.

EXCEPT (DISTINCT/ALL) - For data set subtraction details and examples, see Except. For limitations, see Except Limitations.

Parameters
\[in] tableName Name of the table to be created, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria.
\[in] tableNames The list of table names to merge, in \[schema\_name.]table\_name format, using standard name resolution rules. Must contain the names of one or more existing tables.
\[in] inputColumnNames The list of columns from each of the corresponding input tables.
\[in] outputColumnNames The list of names of the columns to be stored in the output table.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createUserExternal() \[1/4]

CreateUserExternalResponse gpudb::GPUdb::createUserExternal ( const CreateUserExternalRequest & request\_ ) const

Creates a new external user (a user whose credentials are managed by an external LDAP).

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createUserExternal() \[2/4]

CreateUserExternalResponse & gpudb::GPUdb::createUserExternal ( const CreateUserExternalRequest & request\_,
CreateUserExternalResponse & response\_ ) const

Creates a new external user (a user whose credentials are managed by an external LDAP).

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createUserExternal() \[3/4]

CreateUserExternalResponse gpudb::GPUdb::createUserExternal ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Creates a new external user (a user whose credentials are managed by an external LDAP).

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the user to be created. Must exactly match the user's name in the external LDAP, prefixed with a . Must not be the same name as an existing user.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createUserExternal() \[4/4]

CreateUserExternalResponse & gpudb::GPUdb::createUserExternal ( const std::string & name,
const std::map\< std::string, std::string > & options,
CreateUserExternalResponse & response\_ ) const

Creates a new external user (a user whose credentials are managed by an external LDAP).

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the user to be created. Must exactly match the user's name in the external LDAP, prefixed with a . Must not be the same name as an existing user.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createUserInternal() \[1/4]

CreateUserInternalResponse gpudb::GPUdb::createUserInternal ( const CreateUserInternalRequest & request\_ ) const

Creates a new internal user (a user whose credentials are managed by the database system).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createUserInternal() \[2/4]

CreateUserInternalResponse & gpudb::GPUdb::createUserInternal ( const CreateUserInternalRequest & request\_,
CreateUserInternalResponse & response\_ ) const

Creates a new internal user (a user whose credentials are managed by the database system).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createUserInternal() \[3/4]

CreateUserInternalResponse gpudb::GPUdb::createUserInternal ( const std::string & name,
const std::string & password,
const std::map\< std::string, std::string > & options ) const

Creates a new internal user (a user whose credentials are managed by the database system).

Parameters
\[in] name Name of the user to be created. Must contain only lowercase letters, digits, and underscores, and cannot begin with a digit. Must not be the same name as an existing user or role.
\[in] password Initial password of the user to be created. May be an empty string for no password.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createUserInternal() \[4/4]

CreateUserInternalResponse & gpudb::GPUdb::createUserInternal ( const std::string & name,
const std::string & password,
const std::map\< std::string, std::string > & options,
CreateUserInternalResponse & response\_ ) const

Creates a new internal user (a user whose credentials are managed by the database system).

Parameters
\[in] name Name of the user to be created. Must contain only lowercase letters, digits, and underscores, and cannot begin with a digit. Must not be the same name as an existing user or role.
\[in] password Initial password of the user to be created. May be an empty string for no password.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createVideo() \[1/4]

CreateVideoResponse gpudb::GPUdb::createVideo ( const CreateVideoRequest & request\_ ) const

Creates a job to generate a sequence of raster images that visualize data over a specified time.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ createVideo() \[2/4]

CreateVideoResponse & gpudb::GPUdb::createVideo ( const CreateVideoRequest & request\_,
CreateVideoResponse & response\_ ) const

Creates a job to generate a sequence of raster images that visualize data over a specified time.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ createVideo() \[3/4]

CreateVideoResponse gpudb::GPUdb::createVideo ( const std::string & attribute,
const std::string & begin,
const double durationSeconds,
const std::string & end,
const double framesPerSecond,
const std::string & style,
const std::string & path,
const std::string & styleParameters,
const std::map\< std::string, std::string > & options ) const

Creates a job to generate a sequence of raster images that visualize data over a specified time.

Parameters
\[in] attribute The animated attribute to map to the video's frames. Must be present in the LAYERS specified for the visualization. This is often a time-related field but may be any numeric type.
\[in] begin The start point for the video. Accepts an expression evaluable over the attribute.
\[in] durationSeconds Seconds of video to produce.
\[in] end The end point for the video. Accepts an expression evaluable over the attribute.
\[in] framesPerSecond The presentation frame rate of the encoded video in frames per second.
\[in] style The name of the visualize mode; should correspond to the schema used for the styleParameters field. Supported values:
\[in] path Fully-qualified KiFS path. Write access is required. A file must not exist at that path, unless replace\_if\_exists is true.
\[in] styleParameters A string containing the JSON-encoded visualize request. Must correspond to the visualize mode specified in the style field.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ createVideo() \[4/4]

CreateVideoResponse & gpudb::GPUdb::createVideo ( const std::string & attribute,
const std::string & begin,
const double durationSeconds,
const std::string & end,
const double framesPerSecond,
const std::string & style,
const std::string & path,
const std::string & styleParameters,
const std::map\< std::string, std::string > & options,
CreateVideoResponse & response\_ ) const

Creates a job to generate a sequence of raster images that visualize data over a specified time.

Parameters
\[in] attribute The animated attribute to map to the video's frames. Must be present in the LAYERS specified for the visualization. This is often a time-related field but may be any numeric type.
\[in] begin The start point for the video. Accepts an expression evaluable over the attribute.
\[in] durationSeconds Seconds of video to produce.
\[in] end The end point for the video. Accepts an expression evaluable over the attribute.
\[in] framesPerSecond The presentation frame rate of the encoded video in frames per second.
\[in] style The name of the visualize mode; should correspond to the schema used for the styleParameters field. Supported values:
\[in] path Fully-qualified KiFS path. Write access is required. A file must not exist at that path, unless replace\_if\_exists is true.
\[in] styleParameters A string containing the JSON-encoded visualize request. Must correspond to the visualize mode specified in the style field.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteDirectory() \[1/4]

DeleteDirectoryResponse gpudb::GPUdb::deleteDirectory ( const DeleteDirectoryRequest & request\_ ) const

Deletes a directory from KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteDirectory() \[2/4]

DeleteDirectoryResponse & gpudb::GPUdb::deleteDirectory ( const DeleteDirectoryRequest & request\_,
DeleteDirectoryResponse & response\_ ) const

Deletes a directory from KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteDirectory() \[3/4]

DeleteDirectoryResponse gpudb::GPUdb::deleteDirectory ( const std::string & directoryName,
const std::map\< std::string, std::string > & options ) const

Deletes a directory from KiFS.

Parameters
\[in] directoryName Name of the directory in KiFS to be deleted. The directory must contain no files, unless recursive is true.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteDirectory() \[4/4]

DeleteDirectoryResponse & gpudb::GPUdb::deleteDirectory ( const std::string & directoryName,
const std::map\< std::string, std::string > & options,
DeleteDirectoryResponse & response\_ ) const

Deletes a directory from KiFS.

Parameters
\[in] directoryName Name of the directory in KiFS to be deleted. The directory must contain no files, unless recursive is true.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteFiles() \[1/4]

DeleteFilesResponse gpudb::GPUdb::deleteFiles ( const DeleteFilesRequest & request\_ ) const

Deletes one or more files from KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteFiles() \[2/4]

DeleteFilesResponse & gpudb::GPUdb::deleteFiles ( const DeleteFilesRequest & request\_,
DeleteFilesResponse & response\_ ) const

Deletes one or more files from KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteFiles() \[3/4]

DeleteFilesResponse gpudb::GPUdb::deleteFiles ( const std::vector\< std::string > & fileNames,
const std::map\< std::string, std::string > & options ) const

Deletes one or more files from KiFS.

Parameters
\[in] fileNames An array of names of files to be deleted. File paths may contain wildcard characters after the KiFS directory delimiter. Accepted wildcard characters are asterisk (\*) to represent any string of zero or more characters, and question mark (?) to indicate a single character.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteFiles() \[4/4]

DeleteFilesResponse & gpudb::GPUdb::deleteFiles ( const std::vector\< std::string > & fileNames,
const std::map\< std::string, std::string > & options,
DeleteFilesResponse & response\_ ) const

Deletes one or more files from KiFS.

Parameters
\[in] fileNames An array of names of files to be deleted. File paths may contain wildcard characters after the KiFS directory delimiter. Accepted wildcard characters are asterisk (\*) to represent any string of zero or more characters, and question mark (?) to indicate a single character.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteGraph() \[1/4]

DeleteGraphResponse gpudb::GPUdb::deleteGraph ( const DeleteGraphRequest & request\_ ) const

Deletes an existing graph from the graph server and/or persist.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteGraph() \[2/4]

DeleteGraphResponse & gpudb::GPUdb::deleteGraph ( const DeleteGraphRequest & request\_,
DeleteGraphResponse & response\_ ) const

Deletes an existing graph from the graph server and/or persist.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteGraph() \[3/4]

DeleteGraphResponse gpudb::GPUdb::deleteGraph ( const std::string & graphName,
const std::map\< std::string, std::string > & options ) const

Deletes an existing graph from the graph server and/or persist.

Parameters
\[in] graphName Name of the graph to be deleted.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteGraph() \[4/4]

DeleteGraphResponse & gpudb::GPUdb::deleteGraph ( const std::string & graphName,
const std::map\< std::string, std::string > & options,
DeleteGraphResponse & response\_ ) const

Deletes an existing graph from the graph server and/or persist.

Parameters
\[in] graphName Name of the graph to be deleted.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteProc() \[1/4]

DeleteProcResponse gpudb::GPUdb::deleteProc ( const DeleteProcRequest & request\_ ) const

Deletes a proc.

Any currently running instances of the proc will be killed.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteProc() \[2/4]

DeleteProcResponse & gpudb::GPUdb::deleteProc ( const DeleteProcRequest & request\_,
DeleteProcResponse & response\_ ) const

Deletes a proc.

Any currently running instances of the proc will be killed.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteProc() \[3/4]

DeleteProcResponse gpudb::GPUdb::deleteProc ( const std::string & procName,
const std::map\< std::string, std::string > & options ) const

Deletes a proc.

Any currently running instances of the proc will be killed.

Parameters
\[in] procName Name of the proc to be deleted. Must be the name of a currently existing proc.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteProc() \[4/4]

DeleteProcResponse & gpudb::GPUdb::deleteProc ( const std::string & procName,
const std::map\< std::string, std::string > & options,
DeleteProcResponse & response\_ ) const

Deletes a proc.

Any currently running instances of the proc will be killed.

Parameters
\[in] procName Name of the proc to be deleted. Must be the name of a currently existing proc.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteRecords() \[1/4]

DeleteRecordsResponse gpudb::GPUdb::deleteRecords ( const DeleteRecordsRequest & request\_ ) const

Deletes record(s) matching the provided criteria from the given table.

The record selection criteria can either be one or more expressions (matching multiple records), a single record identified by record\_id options, or all records when using delete\_all\_records. Note that the three selection criteria are mutually exclusive. This operation cannot be run on a view. The operation is synchronous meaning that a response will not be available until the request is completely processed and all the matching records are deleted.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteRecords() \[2/4]

DeleteRecordsResponse & gpudb::GPUdb::deleteRecords ( const DeleteRecordsRequest & request\_,
DeleteRecordsResponse & response\_ ) const

Deletes record(s) matching the provided criteria from the given table.

The record selection criteria can either be one or more expressions (matching multiple records), a single record identified by record\_id options, or all records when using delete\_all\_records. Note that the three selection criteria are mutually exclusive. This operation cannot be run on a view. The operation is synchronous meaning that a response will not be available until the request is completely processed and all the matching records are deleted.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteRecords() \[3/4]

DeleteRecordsResponse gpudb::GPUdb::deleteRecords ( const std::string & tableName,
const std::vector\< std::string > & expressions,
const std::map\< std::string, std::string > & options ) const

Deletes record(s) matching the provided criteria from the given table.

The record selection criteria can either be one or more expressions (matching multiple records), a single record identified by record\_id options, or all records when using delete\_all\_records. Note that the three selection criteria are mutually exclusive. This operation cannot be run on a view. The operation is synchronous meaning that a response will not be available until the request is completely processed and all the matching records are deleted.

Parameters
\[in] tableName Name of the table from which to delete records, in \[schema\_name.]table\_name format, using standard name resolution rules. Must contain the name of an existing table; not applicable to views.
\[in] expressions A list of the actual predicates, one for each select; format should follow the guidelines provided here. Specifying one or more expressions is mutually exclusive to specifying record\_id in the options.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteRecords() \[4/4]

DeleteRecordsResponse & gpudb::GPUdb::deleteRecords ( const std::string & tableName,
const std::vector\< std::string > & expressions,
const std::map\< std::string, std::string > & options,
DeleteRecordsResponse & response\_ ) const

Deletes record(s) matching the provided criteria from the given table.

The record selection criteria can either be one or more expressions (matching multiple records), a single record identified by record\_id options, or all records when using delete\_all\_records. Note that the three selection criteria are mutually exclusive. This operation cannot be run on a view. The operation is synchronous meaning that a response will not be available until the request is completely processed and all the matching records are deleted.

Parameters
\[in] tableName Name of the table from which to delete records, in \[schema\_name.]table\_name format, using standard name resolution rules. Must contain the name of an existing table; not applicable to views.
\[in] expressions A list of the actual predicates, one for each select; format should follow the guidelines provided here. Specifying one or more expressions is mutually exclusive to specifying record\_id in the options.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteResourceGroup() \[1/4]

DeleteResourceGroupResponse gpudb::GPUdb::deleteResourceGroup ( const DeleteResourceGroupRequest & request\_ ) const

Deletes a resource group.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteResourceGroup() \[2/4]

DeleteResourceGroupResponse & gpudb::GPUdb::deleteResourceGroup ( const DeleteResourceGroupRequest & request\_,
DeleteResourceGroupResponse & response\_ ) const

Deletes a resource group.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteResourceGroup() \[3/4]

DeleteResourceGroupResponse gpudb::GPUdb::deleteResourceGroup ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Deletes a resource group.

Parameters
\[in] name Name of the resource group to be deleted.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteResourceGroup() \[4/4]

DeleteResourceGroupResponse & gpudb::GPUdb::deleteResourceGroup ( const std::string & name,
const std::map\< std::string, std::string > & options,
DeleteResourceGroupResponse & response\_ ) const

Deletes a resource group.

Parameters
\[in] name Name of the resource group to be deleted.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteRole() \[1/4]

DeleteRoleResponse gpudb::GPUdb::deleteRole ( const DeleteRoleRequest & request\_ ) const

Deletes an existing role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteRole() \[2/4]

DeleteRoleResponse & gpudb::GPUdb::deleteRole ( const DeleteRoleRequest & request\_,
DeleteRoleResponse & response\_ ) const

Deletes an existing role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteRole() \[3/4]

DeleteRoleResponse gpudb::GPUdb::deleteRole ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Deletes an existing role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the role to be deleted. Must be an existing role.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteRole() \[4/4]

DeleteRoleResponse & gpudb::GPUdb::deleteRole ( const std::string & name,
const std::map\< std::string, std::string > & options,
DeleteRoleResponse & response\_ ) const

Deletes an existing role.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the role to be deleted. Must be an existing role.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteUser() \[1/4]

DeleteUserResponse gpudb::GPUdb::deleteUser ( const DeleteUserRequest & request\_ ) const

Deletes an existing user.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ deleteUser() \[2/4]

DeleteUserResponse & gpudb::GPUdb::deleteUser ( const DeleteUserRequest & request\_,
DeleteUserResponse & response\_ ) const

Deletes an existing user.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ deleteUser() \[3/4]

DeleteUserResponse gpudb::GPUdb::deleteUser ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Deletes an existing user.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the user to be deleted. Must be an existing user.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ deleteUser() \[4/4]

DeleteUserResponse & gpudb::GPUdb::deleteUser ( const std::string & name,
const std::map\< std::string, std::string > & options,
DeleteUserResponse & response\_ ) const

Deletes an existing user.

Attention
This method should be used for on-premise deployments only.
Parameters
\[in] name Name of the user to be deleted. Must be an existing user.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ downloadFiles() \[1/4]

DownloadFilesResponse gpudb::GPUdb::downloadFiles ( const DownloadFilesRequest & request\_ ) const

Downloads one or more files from KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ downloadFiles() \[2/4]

DownloadFilesResponse & gpudb::GPUdb::downloadFiles ( const DownloadFilesRequest & request\_,
DownloadFilesResponse & response\_ ) const

Downloads one or more files from KiFS.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ downloadFiles() \[3/4]

DownloadFilesResponse gpudb::GPUdb::downloadFiles ( const std::vector\< std::string > & fileNames,
const std::vector\< int64\_t > & readOffsets,
const std::vector\< int64\_t > & readLengths,
const std::map\< std::string, std::string > & options ) const

Downloads one or more files from KiFS.

Parameters
\[in] fileNames An array of the file names to download from KiFS. File paths may contain wildcard characters after the KiFS directory delimiter. Accepted wildcard characters are asterisk (\*) to represent any string of zero or more characters, and question mark (?) to indicate a single character.
\[in] readOffsets An array of starting byte offsets from which to read each respective file in fileNames. Must either be empty or the same length as fileNames. If empty, files are downloaded in their entirety. If not empty, readLengths must also not be empty.
\[in] readLengths Array of number of bytes to read from each respective file in fileNames. Must either be empty or the same length as fileNames. If empty, files are downloaded in their entirety. If not empty, readOffsets must also not be empty.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ downloadFiles() \[4/4]

DownloadFilesResponse & gpudb::GPUdb::downloadFiles ( const std::vector\< std::string > & fileNames,
const std::vector\< int64\_t > & readOffsets,
const std::vector\< int64\_t > & readLengths,
const std::map\< std::string, std::string > & options,
DownloadFilesResponse & response\_ ) const

Downloads one or more files from KiFS.

Parameters
\[in] fileNames An array of the file names to download from KiFS. File paths may contain wildcard characters after the KiFS directory delimiter. Accepted wildcard characters are asterisk (\*) to represent any string of zero or more characters, and question mark (?) to indicate a single character.
\[in] readOffsets An array of starting byte offsets from which to read each respective file in fileNames. Must either be empty or the same length as fileNames. If empty, files are downloaded in their entirety. If not empty, readLengths must also not be empty.
\[in] readLengths Array of number of bytes to read from each respective file in fileNames. Must either be empty or the same length as fileNames. If empty, files are downloaded in their entirety. If not empty, readOffsets must also not be empty.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropBackup() \[1/4]

DropBackupResponse gpudb::GPUdb::dropBackup ( const DropBackupRequest & request\_ ) const

Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropBackup() \[2/4]

DropBackupResponse & gpudb::GPUdb::dropBackup ( const DropBackupRequest & request\_,
DropBackupResponse & response\_ ) const

Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropBackup() \[3/4]

DropBackupResponse gpudb::GPUdb::dropBackup ( const std::string & backupName,
const std::string & datasinkName,
const std::map\< std::string, std::string > & options ) const

Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.

Parameters
\[in] backupName Name of the backup to be deleted. An empty string or '' will delete all existing backups. Any text followed by a '' will delete backups whose name starts with that text. When deleting multiple backups, delete\_all\_backups must be set to true.
\[in] datasinkName Data sink through which the backup is accessible.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropBackup() \[4/4]

DropBackupResponse & gpudb::GPUdb::dropBackup ( const std::string & backupName,
const std::string & datasinkName,
const std::map\< std::string, std::string > & options,
DropBackupResponse & response\_ ) const

Deletes one or more existing database backups and contained snapshots, accessible via the data sink specified by datasinkName.

Parameters
\[in] backupName Name of the backup to be deleted. An empty string or '' will delete all existing backups. Any text followed by a '' will delete backups whose name starts with that text. When deleting multiple backups, delete\_all\_backups must be set to true.
\[in] datasinkName Data sink through which the backup is accessible.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropCatalog() \[1/4]

DropCatalogResponse gpudb::GPUdb::dropCatalog ( const DropCatalogRequest & request\_ ) const

Drops an existing catalog.

Any external tables that depend on the catalog must be dropped before it can be dropped.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropCatalog() \[2/4]

DropCatalogResponse & gpudb::GPUdb::dropCatalog ( const DropCatalogRequest & request\_,
DropCatalogResponse & response\_ ) const

Drops an existing catalog.

Any external tables that depend on the catalog must be dropped before it can be dropped.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropCatalog() \[3/4]

DropCatalogResponse gpudb::GPUdb::dropCatalog ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Drops an existing catalog.

Any external tables that depend on the catalog must be dropped before it can be dropped.

Parameters
\[in] name Name of the catalog to be dropped. Must be an existing catalog.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropCatalog() \[4/4]

DropCatalogResponse & gpudb::GPUdb::dropCatalog ( const std::string & name,
const std::map\< std::string, std::string > & options,
DropCatalogResponse & response\_ ) const

Drops an existing catalog.

Any external tables that depend on the catalog must be dropped before it can be dropped.

Parameters
\[in] name Name of the catalog to be dropped. Must be an existing catalog.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropCredential() \[1/4]

DropCredentialResponse gpudb::GPUdb::dropCredential ( const DropCredentialRequest & request\_ ) const

Drop an existing credential.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropCredential() \[2/4]

DropCredentialResponse & gpudb::GPUdb::dropCredential ( const DropCredentialRequest & request\_,
DropCredentialResponse & response\_ ) const

Drop an existing credential.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropCredential() \[3/4]

DropCredentialResponse gpudb::GPUdb::dropCredential ( const std::string & credentialName,
const std::map\< std::string, std::string > & options ) const

Drop an existing credential.

Parameters
\[in] credentialName Name of the credential to be dropped. Must be an existing credential.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropCredential() \[4/4]

DropCredentialResponse & gpudb::GPUdb::dropCredential ( const std::string & credentialName,
const std::map\< std::string, std::string > & options,
DropCredentialResponse & response\_ ) const

Drop an existing credential.

Parameters
\[in] credentialName Name of the credential to be dropped. Must be an existing credential.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropDatasink() \[1/4]

DropDatasinkResponse gpudb::GPUdb::dropDatasink ( const DropDatasinkRequest & request\_ ) const

Drops an existing data sink.

By default, if any table monitors use this sink as a destination, the request will be blocked unless option clear\_table\_monitors is true.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropDatasink() \[2/4]

DropDatasinkResponse & gpudb::GPUdb::dropDatasink ( const DropDatasinkRequest & request\_,
DropDatasinkResponse & response\_ ) const

Drops an existing data sink.

By default, if any table monitors use this sink as a destination, the request will be blocked unless option clear\_table\_monitors is true.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropDatasink() \[3/4]

DropDatasinkResponse gpudb::GPUdb::dropDatasink ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Drops an existing data sink.

By default, if any table monitors use this sink as a destination, the request will be blocked unless option clear\_table\_monitors is true.

Parameters
\[in] name Name of the data sink to be dropped. Must be an existing data sink.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropDatasink() \[4/4]

DropDatasinkResponse & gpudb::GPUdb::dropDatasink ( const std::string & name,
const std::map\< std::string, std::string > & options,
DropDatasinkResponse & response\_ ) const

Drops an existing data sink.

By default, if any table monitors use this sink as a destination, the request will be blocked unless option clear\_table\_monitors is true.

Parameters
\[in] name Name of the data sink to be dropped. Must be an existing data sink.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropDatasource() \[1/4]

DropDatasourceResponse gpudb::GPUdb::dropDatasource ( const DropDatasourceRequest & request\_ ) const

Drops an existing data source.

Any external tables that depend on the data source must be dropped before it can be dropped.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropDatasource() \[2/4]

DropDatasourceResponse & gpudb::GPUdb::dropDatasource ( const DropDatasourceRequest & request\_,
DropDatasourceResponse & response\_ ) const

Drops an existing data source.

Any external tables that depend on the data source must be dropped before it can be dropped.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropDatasource() \[3/4]

DropDatasourceResponse gpudb::GPUdb::dropDatasource ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Drops an existing data source.

Any external tables that depend on the data source must be dropped before it can be dropped.

Parameters
\[in] name Name of the data source to be dropped. Must be an existing data source.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropDatasource() \[4/4]

DropDatasourceResponse & gpudb::GPUdb::dropDatasource ( const std::string & name,
const std::map\< std::string, std::string > & options,
DropDatasourceResponse & response\_ ) const

Drops an existing data source.

Any external tables that depend on the data source must be dropped before it can be dropped.

Parameters
\[in] name Name of the data source to be dropped. Must be an existing data source.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropEnvironment() \[1/4]

DropEnvironmentResponse gpudb::GPUdb::dropEnvironment ( const DropEnvironmentRequest & request\_ ) const

Drop an existing user-defined function (UDF) environment.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropEnvironment() \[2/4]

DropEnvironmentResponse & gpudb::GPUdb::dropEnvironment ( const DropEnvironmentRequest & request\_,
DropEnvironmentResponse & response\_ ) const

Drop an existing user-defined function (UDF) environment.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropEnvironment() \[3/4]

DropEnvironmentResponse gpudb::GPUdb::dropEnvironment ( const std::string & environmentName,
const std::map\< std::string, std::string > & options ) const

Drop an existing user-defined function (UDF) environment.

Parameters
\[in] environmentName Name of the environment to be dropped. Must be an existing environment.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropEnvironment() \[4/4]

DropEnvironmentResponse & gpudb::GPUdb::dropEnvironment ( const std::string & environmentName,
const std::map\< std::string, std::string > & options,
DropEnvironmentResponse & response\_ ) const

Drop an existing user-defined function (UDF) environment.

Parameters
\[in] environmentName Name of the environment to be dropped. Must be an existing environment.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropSchema() \[1/4]

DropSchemaResponse gpudb::GPUdb::dropSchema ( const DropSchemaRequest & request\_ ) const

Drops an existing SQL-style schema, specified in schemaName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ dropSchema() \[2/4]

DropSchemaResponse & gpudb::GPUdb::dropSchema ( const DropSchemaRequest & request\_,
DropSchemaResponse & response\_ ) const

Drops an existing SQL-style schema, specified in schemaName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ dropSchema() \[3/4]

DropSchemaResponse gpudb::GPUdb::dropSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options ) const

Drops an existing SQL-style schema, specified in schemaName.

Parameters
\[in] schemaName Name of the schema to be dropped. Must be an existing schema.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ dropSchema() \[4/4]

DropSchemaResponse & gpudb::GPUdb::dropSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options,
DropSchemaResponse & response\_ ) const

Drops an existing SQL-style schema, specified in schemaName.

Parameters
\[in] schemaName Name of the schema to be dropped. Must be an existing schema.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ execute() \[1/5]

long gpudb::GPUdb::execute ( const std::string & sql )

This method is used to execute a SQL statement (e.g., DML, DDL).

It returns the number of rows affected by the statement.

Parameters
sql - The SQL query to execute
Returns
- number of rows affected by the execution of statement

◆ execute() \[2/5]

long gpudb::GPUdb::execute ( const std::string & sql,
const std::string & parameters )

This method is used to execute a SQL statement (e.g., DML, DDL).

It returns the number of rows affected by the statement.

Parameters
sql - The SQL query to execute
parameters - Query parameters for the SQL query. Can be empty.
Returns
- number of rows affected by the execution of statement

◆ execute() \[3/5]

long gpudb::GPUdb::execute ( const std::string & sql,
const std::string & parameters,
const std::map\< std::string, std::string > & options )

This method is used to execute a SQL statement (e.g., DML, DDL).

It returns the number of rows affected by the statement.

Parameters
sql - The SQL query to execute
parameters - Query parameters for the SQL query. Can be empty.
options - Optional parameters for the execute call.
Returns
- number of rows affected by the execution of statement

◆ execute() \[4/5]

template\
long gpudb::GPUdb::execute ( const std::string & sql,
const std::vector\< T > & parameters )

◆ execute() \[5/5]

template\
long gpudb::GPUdb::execute ( const std::string & sql,
const std::vector\< T > & parameters,
const std::map\< std::string, std::string > & options )

◆ executeProc() \[1/4]

ExecuteProcResponse gpudb::GPUdb::executeProc ( const ExecuteProcRequest & request\_ ) const

Executes a proc.

This endpoint is asynchronous and does not wait for the proc to complete before returning.

If the proc being executed is distributed, inputTableNames and inputColumnNames may be passed to the proc to use for reading data, and outputTableNames may be passed to the proc to use for writing data.

If the proc being executed is non-distributed, these table parameters will be ignored.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ executeProc() \[2/4]

ExecuteProcResponse & gpudb::GPUdb::executeProc ( const ExecuteProcRequest & request\_,
ExecuteProcResponse & response\_ ) const

Executes a proc.

This endpoint is asynchronous and does not wait for the proc to complete before returning.

If the proc being executed is distributed, inputTableNames and inputColumnNames may be passed to the proc to use for reading data, and outputTableNames may be passed to the proc to use for writing data.

If the proc being executed is non-distributed, these table parameters will be ignored.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ executeProc() \[3/4]

ExecuteProcResponse gpudb::GPUdb::executeProc ( const std::string & procName,
const std::map\< std::string, std::string > & params,
const std::map\< std::string, std::vector\< uint8\_t > > & binParams,
const std::vector\< std::string > & inputTableNames,
const std::map\< std::string, std::vector\< std::string > > & inputColumnNames,
const std::vector\< std::string > & outputTableNames,
const std::map\< std::string, std::string > & options ) const

Executes a proc.

This endpoint is asynchronous and does not wait for the proc to complete before returning.

If the proc being executed is distributed, inputTableNames and inputColumnNames may be passed to the proc to use for reading data, and outputTableNames may be passed to the proc to use for writing data.

If the proc being executed is non-distributed, these table parameters will be ignored.

Parameters
\[in] procName Name of the proc to execute. Must be the name of a currently existing proc.
\[in] params A map containing named parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value. The default value is an empty map.
\[in] binParams A map containing named binary parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value. The default value is an empty map.
\[in] inputTableNames Names of the tables containing data to be passed to the proc. Each name specified must be the name of a currently existing table, in \[schema\_name.]table\_name format, using standard name resolution rules. If no table names are specified, no data will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode. The default value is an empty vector.
\[in] inputColumnNames Map of table names from inputTableNames to lists of names of columns from those tables that will be passed to the proc. Each column name specified must be the name of an existing column in the corresponding table. If a table name from inputTableNames is not included, all columns from that table will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode. The default value is an empty map.
\[in] outputTableNames Names of the tables to which output data from the proc will be written, each in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. If a specified table does not exist, it will automatically be created with the same schema as the corresponding table (by order) from inputTableNames, excluding any primary and shard keys. If a specified table is a non-persistent result table, it must not have primary or shard keys. If no table names are specified, no output data can be returned from the proc. This parameter is ignored if the proc has a non-distributed execution mode. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ executeProc() \[4/4]

ExecuteProcResponse & gpudb::GPUdb::executeProc ( const std::string & procName,
const std::map\< std::string, std::string > & params,
const std::map\< std::string, std::vector\< uint8\_t > > & binParams,
const std::vector\< std::string > & inputTableNames,
const std::map\< std::string, std::vector\< std::string > > & inputColumnNames,
const std::vector\< std::string > & outputTableNames,
const std::map\< std::string, std::string > & options,
ExecuteProcResponse & response\_ ) const

Executes a proc.

This endpoint is asynchronous and does not wait for the proc to complete before returning.

If the proc being executed is distributed, inputTableNames and inputColumnNames may be passed to the proc to use for reading data, and outputTableNames may be passed to the proc to use for writing data.

If the proc being executed is non-distributed, these table parameters will be ignored.

Parameters
\[in] procName Name of the proc to execute. Must be the name of a currently existing proc.
\[in] params A map containing named parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value. The default value is an empty map.
\[in] binParams A map containing named binary parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value. The default value is an empty map.
\[in] inputTableNames Names of the tables containing data to be passed to the proc. Each name specified must be the name of a currently existing table, in \[schema\_name.]table\_name format, using standard name resolution rules. If no table names are specified, no data will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode. The default value is an empty vector.
\[in] inputColumnNames Map of table names from inputTableNames to lists of names of columns from those tables that will be passed to the proc. Each column name specified must be the name of an existing column in the corresponding table. If a table name from inputTableNames is not included, all columns from that table will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode. The default value is an empty map.
\[in] outputTableNames Names of the tables to which output data from the proc will be written, each in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. If a specified table does not exist, it will automatically be created with the same schema as the corresponding table (by order) from inputTableNames, excluding any primary and shard keys. If a specified table is a non-persistent result table, it must not have primary or shard keys. If no table names are specified, no output data can be returned from the proc. This parameter is ignored if the proc has a non-distributed execution mode. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ executeSql() \[1/4]

ExecuteSqlResponse gpudb::GPUdb::executeSql ( const ExecuteSqlRequest & request\_ ) const

Execute a SQL statement (query, DML, or DDL).

See SQL Support for the complete set of supported SQL commands.

When a caller wants all the results from a large query (e.g., more than max\_get\_records\_size records), they can make multiple calls to this endpoint using the offset and limit parameters to page through the results. Normally, this will execute the statement query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a paging\_table name to hold the results of the query between calls and specify the paging\_table on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the result\_table\_list (both returned in the response) when they are done paging through the results. pagingTable (and result\_table\_list) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ executeSql() \[2/4]

ExecuteSqlResponse & gpudb::GPUdb::executeSql ( const ExecuteSqlRequest & request\_,
ExecuteSqlResponse & response\_ ) const

Execute a SQL statement (query, DML, or DDL).

See SQL Support for the complete set of supported SQL commands.

When a caller wants all the results from a large query (e.g., more than max\_get\_records\_size records), they can make multiple calls to this endpoint using the offset and limit parameters to page through the results. Normally, this will execute the statement query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a paging\_table name to hold the results of the query between calls and specify the paging\_table on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the result\_table\_list (both returned in the response) when they are done paging through the results. pagingTable (and result\_table\_list) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ executeSql() \[3/4]

ExecuteSqlResponse gpudb::GPUdb::executeSql ( const std::string & statement,
const int64\_t offset,
const int64\_t limit,
const std::string & requestSchemaStr,
const std::vector\< std::vector\< uint8\_t > > & data,
const std::map\< std::string, std::string > & options ) const

Execute a SQL statement (query, DML, or DDL).

See SQL Support for the complete set of supported SQL commands.

When a caller wants all the results from a large query (e.g., more than max\_get\_records\_size records), they can make multiple calls to this endpoint using the offset and limit parameters to page through the results. Normally, this will execute the statement query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a paging\_table name to hold the results of the query between calls and specify the paging\_table on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the result\_table\_list (both returned in the response) when they are done paging through the results. pagingTable (and result\_table\_list) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).

Parameters
\[in] statement SQL statement (query, DML, or DDL) to be executed.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] requestSchemaStr Avro schema of data. The default value is ''.
\[in] data An array of binary-encoded data for the records to be binded to the SQL query. Or use query\_parameters to pass the data in JSON format. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ executeSql() \[4/4]

ExecuteSqlResponse & gpudb::GPUdb::executeSql ( const std::string & statement,
const int64\_t offset,
const int64\_t limit,
const std::string & requestSchemaStr,
const std::vector\< std::vector\< uint8\_t > > & data,
const std::map\< std::string, std::string > & options,
ExecuteSqlResponse & response\_ ) const

Execute a SQL statement (query, DML, or DDL).

See SQL Support for the complete set of supported SQL commands.

When a caller wants all the results from a large query (e.g., more than max\_get\_records\_size records), they can make multiple calls to this endpoint using the offset and limit parameters to page through the results. Normally, this will execute the statement query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a paging\_table name to hold the results of the query between calls and specify the paging\_table on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the result\_table\_list (both returned in the response) when they are done paging through the results. pagingTable (and result\_table\_list) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).

Parameters
\[in] statement SQL statement (query, DML, or DDL) to be executed.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] requestSchemaStr Avro schema of data. The default value is ''.
\[in] data An array of binary-encoded data for the records to be binded to the SQL query. Or use query\_parameters to pass the data in JSON format. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ executeSqlRaw() \[1/2]

RawExecuteSqlResponse gpudb::GPUdb::executeSqlRaw ( const ExecuteSqlRequest & request\_ ) const

Execute a SQL statement (query, DML, or DDL).

See SQL Support for the complete set of supported SQL commands.

When a caller wants all the results from a large query (e.g., more than max\_get\_records\_size records), they can make multiple calls to this endpoint using the offset and limit parameters to page through the results. Normally, this will execute the statement query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a paging\_table name to hold the results of the query between calls and specify the paging\_table on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the result\_table\_list (both returned in the response) when they are done paging through the results. pagingTable (and result\_table\_list) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ executeSqlRaw() \[2/2]

RawExecuteSqlResponse & gpudb::GPUdb::executeSqlRaw ( const ExecuteSqlRequest & request\_,
RawExecuteSqlResponse & response\_ ) const

Execute a SQL statement (query, DML, or DDL).

See SQL Support for the complete set of supported SQL commands.

When a caller wants all the results from a large query (e.g., more than max\_get\_records\_size records), they can make multiple calls to this endpoint using the offset and limit parameters to page through the results. Normally, this will execute the statement query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a paging\_table name to hold the results of the query between calls and specify the paging\_table on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the result\_table\_list (both returned in the response) when they are done paging through the results. pagingTable (and result\_table\_list) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ exportQueryMetrics() \[1/4]

ExportQueryMetricsResponse gpudb::GPUdb::exportQueryMetrics ( const ExportQueryMetricsRequest & request\_ ) const

Export query metrics to a given destination.

Returns query metrics.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ exportQueryMetrics() \[2/4]

ExportQueryMetricsResponse & gpudb::GPUdb::exportQueryMetrics ( const ExportQueryMetricsRequest & request\_,
ExportQueryMetricsResponse & response\_ ) const

Export query metrics to a given destination.

Returns query metrics.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ exportQueryMetrics() \[3/4]

ExportQueryMetricsResponse gpudb::GPUdb::exportQueryMetrics ( const std::map\< std::string, std::string > & options ) const

Export query metrics to a given destination.

Returns query metrics.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ exportQueryMetrics() \[4/4]

ExportQueryMetricsResponse & gpudb::GPUdb::exportQueryMetrics ( const std::map\< std::string, std::string > & options,
ExportQueryMetricsResponse & response\_ ) const

Export query metrics to a given destination.

Returns query metrics.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ exportRecordsToFiles() \[1/4]

ExportRecordsToFilesResponse gpudb::GPUdb::exportRecordsToFiles ( const ExportRecordsToFilesRequest & request\_ ) const

Export records from a table to files.

All tables can be exported, in full or partial (see columns\_to\_export and columns\_to\_skip). Additional filtering can be applied when using export table with expression through SQL. Default destination is KIFS, though other storage types (Azure, S3, GCS, and HDFS) are supported through datasink\_name; see createDatasink.

Server's local file system is not supported. Default file format is delimited text. See options for different file types and different options for each file type. Table is saved to a single file if within max file size limits (may vary depending on datasink type). If not, then table is split into multiple files; these may be smaller than the max size limit.

All filenames created are returned in the response.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ exportRecordsToFiles() \[2/4]

ExportRecordsToFilesResponse & gpudb::GPUdb::exportRecordsToFiles ( const ExportRecordsToFilesRequest & request\_,
ExportRecordsToFilesResponse & response\_ ) const

Export records from a table to files.

All tables can be exported, in full or partial (see columns\_to\_export and columns\_to\_skip). Additional filtering can be applied when using export table with expression through SQL. Default destination is KIFS, though other storage types (Azure, S3, GCS, and HDFS) are supported through datasink\_name; see createDatasink.

Server's local file system is not supported. Default file format is delimited text. See options for different file types and different options for each file type. Table is saved to a single file if within max file size limits (may vary depending on datasink type). If not, then table is split into multiple files; these may be smaller than the max size limit.

All filenames created are returned in the response.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ exportRecordsToFiles() \[3/4]

ExportRecordsToFilesResponse gpudb::GPUdb::exportRecordsToFiles ( const std::string & tableName,
const std::string & filepath,
const std::map\< std::string, std::string > & options ) const

Export records from a table to files.

All tables can be exported, in full or partial (see columns\_to\_export and columns\_to\_skip). Additional filtering can be applied when using export table with expression through SQL. Default destination is KIFS, though other storage types (Azure, S3, GCS, and HDFS) are supported through datasink\_name; see createDatasink.

Server's local file system is not supported. Default file format is delimited text. See options for different file types and different options for each file type. Table is saved to a single file if within max file size limits (may vary depending on datasink type). If not, then table is split into multiple files; these may be smaller than the max size limit.

All filenames created are returned in the response.

Parameters
\[in] tableName The name of the table whose records are to be exported.
\[in] filepath Path to data export target. If filepath has a file extension, it is read as the name of a file. If filepath is a directory, then the source table name with a random UUID appended will be used as the name of each exported file, all written to that directory. If filepath is a filename, then all exported files will have a random UUID appended to the given name. In either case, the target directory specified or implied must exist. The names of all exported files are returned in the response.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ exportRecordsToFiles() \[4/4]

ExportRecordsToFilesResponse & gpudb::GPUdb::exportRecordsToFiles ( const std::string & tableName,
const std::string & filepath,
const std::map\< std::string, std::string > & options,
ExportRecordsToFilesResponse & response\_ ) const

Export records from a table to files.

All tables can be exported, in full or partial (see columns\_to\_export and columns\_to\_skip). Additional filtering can be applied when using export table with expression through SQL. Default destination is KIFS, though other storage types (Azure, S3, GCS, and HDFS) are supported through datasink\_name; see createDatasink.

Server's local file system is not supported. Default file format is delimited text. See options for different file types and different options for each file type. Table is saved to a single file if within max file size limits (may vary depending on datasink type). If not, then table is split into multiple files; these may be smaller than the max size limit.

All filenames created are returned in the response.

Parameters
\[in] tableName The name of the table whose records are to be exported.
\[in] filepath Path to data export target. If filepath has a file extension, it is read as the name of a file. If filepath is a directory, then the source table name with a random UUID appended will be used as the name of each exported file, all written to that directory. If filepath is a filename, then all exported files will have a random UUID appended to the given name. In either case, the target directory specified or implied must exist. The names of all exported files are returned in the response.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ exportRecordsToTable() \[1/4]

ExportRecordsToTableResponse gpudb::GPUdb::exportRecordsToTable ( const ExportRecordsToTableRequest & request\_ ) const

Exports records from source table to the specified target table in an external database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ exportRecordsToTable() \[2/4]

ExportRecordsToTableResponse & gpudb::GPUdb::exportRecordsToTable ( const ExportRecordsToTableRequest & request\_,
ExportRecordsToTableResponse & response\_ ) const

Exports records from source table to the specified target table in an external database.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ exportRecordsToTable() \[3/4]

ExportRecordsToTableResponse gpudb::GPUdb::exportRecordsToTable ( const std::string & tableName,
const std::string & remoteQuery,
const std::map\< std::string, std::string > & options ) const

Exports records from source table to the specified target table in an external database.

Parameters
\[in] tableName Name of the table from which the data will be exported to remote database, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] remoteQuery Parameterized insert query to export gpudb table data into remote database. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ exportRecordsToTable() \[4/4]

ExportRecordsToTableResponse & gpudb::GPUdb::exportRecordsToTable ( const std::string & tableName,
const std::string & remoteQuery,
const std::map\< std::string, std::string > & options,
ExportRecordsToTableResponse & response\_ ) const

Exports records from source table to the specified target table in an external database.

Parameters
\[in] tableName Name of the table from which the data will be exported to remote database, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] remoteQuery Parameterized insert query to export gpudb table data into remote database. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filter() \[1/4]

FilterResponse gpudb::GPUdb::filter ( const FilterRequest & request\_ ) const

Filters data based on the specified expression.

The results are stored in a result set with the given viewName.

For details see Expressions.

The response message contains the number of points for which the expression evaluated to be true, which is equivalent to the size of the result view.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filter() \[2/4]

FilterResponse & gpudb::GPUdb::filter ( const FilterRequest & request\_,
FilterResponse & response\_ ) const

Filters data based on the specified expression.

The results are stored in a result set with the given viewName.

For details see Expressions.

The response message contains the number of points for which the expression evaluated to be true, which is equivalent to the size of the result view.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filter() \[3/4]

FilterResponse gpudb::GPUdb::filter ( const std::string & tableName,
const std::string & viewName,
const std::string & expression,
const std::map\< std::string, std::string > & options ) const

Filters data based on the specified expression.

The results are stored in a result set with the given viewName.

For details see Expressions.

The response message contains the number of points for which the expression evaluated to be true, which is equivalent to the size of the result view.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] expression The select expression to filter the specified table. For details see Expressions.
\[in] options Optional parameters.
  • filter\_create\_temp\_table: If true, a unique temporary table name will be generated in the sys\_temp schema and used in place of viewName. This is always allowed even if the caller does not have permission to create tables. The generated name is returned in qualified\_view\_name. Supported values: The default value is filter\_false.
  • filter\_collection\_name: \[DEPRECATED–please specify the containing schema for the view as part of viewName and use createSchema to create the schema if non-existent] Name of a schema for the newly created view. If the schema is non-existent, it will be automatically created.
  • filter\_view\_id: View this filtered-view is part of. The default value is ''.
  • filter\_ttl: Sets the TTL of the view specified in viewName.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filter() \[4/4]

FilterResponse & gpudb::GPUdb::filter ( const std::string & tableName,
const std::string & viewName,
const std::string & expression,
const std::map\< std::string, std::string > & options,
FilterResponse & response\_ ) const

Filters data based on the specified expression.

The results are stored in a result set with the given viewName.

For details see Expressions.

The response message contains the number of points for which the expression evaluated to be true, which is equivalent to the size of the result view.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] expression The select expression to filter the specified table. For details see Expressions.
\[in] options Optional parameters.
  • filter\_create\_temp\_table: If true, a unique temporary table name will be generated in the sys\_temp schema and used in place of viewName. This is always allowed even if the caller does not have permission to create tables. The generated name is returned in qualified\_view\_name. Supported values: The default value is filter\_false.
  • filter\_collection\_name: \[DEPRECATED–please specify the containing schema for the view as part of viewName and use createSchema to create the schema if non-existent] Name of a schema for the newly created view. If the schema is non-existent, it will be automatically created.
  • filter\_view\_id: View this filtered-view is part of. The default value is ''.
  • filter\_ttl: Sets the TTL of the view specified in viewName.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByArea() \[1/4]

FilterByAreaResponse gpudb::GPUdb::filterByArea ( const FilterByAreaRequest & request\_ ) const

Calculates which objects from a table are within a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByArea() \[2/4]

FilterByAreaResponse & gpudb::GPUdb::filterByArea ( const FilterByAreaRequest & request\_,
FilterByAreaResponse & response\_ ) const

Calculates which objects from a table are within a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByArea() \[3/4]

FilterByAreaResponse gpudb::GPUdb::filterByArea ( const std::string & tableName,
const std::string & viewName,
const std::string & xColumnName,
const std::vector\< double > & xVector,
const std::string & yColumnName,
const std::vector\< double > & yVector,
const std::map\< std::string, std::string > & options ) const

Calculates which objects from a table are within a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] xColumnName Name of the column containing the x values to be filtered.
\[in] xVector List of x coordinates of the vertices of the polygon representing the area to be filtered.
\[in] yColumnName Name of the column containing the y values to be filtered.
\[in] yVector List of y coordinates of the vertices of the polygon representing the area to be filtered.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByArea() \[4/4]

FilterByAreaResponse & gpudb::GPUdb::filterByArea ( const std::string & tableName,
const std::string & viewName,
const std::string & xColumnName,
const std::vector\< double > & xVector,
const std::string & yColumnName,
const std::vector\< double > & yVector,
const std::map\< std::string, std::string > & options,
FilterByAreaResponse & response\_ ) const

Calculates which objects from a table are within a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] xColumnName Name of the column containing the x values to be filtered.
\[in] xVector List of x coordinates of the vertices of the polygon representing the area to be filtered.
\[in] yColumnName Name of the column containing the y values to be filtered.
\[in] yVector List of y coordinates of the vertices of the polygon representing the area to be filtered.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByAreaGeometry() \[1/4]

FilterByAreaGeometryResponse gpudb::GPUdb::filterByAreaGeometry ( const FilterByAreaGeometryRequest & request\_ ) const

Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByAreaGeometry() \[2/4]

FilterByAreaGeometryResponse & gpudb::GPUdb::filterByAreaGeometry ( const FilterByAreaGeometryRequest & request\_,
FilterByAreaGeometryResponse & response\_ ) const

Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByAreaGeometry() \[3/4]

FilterByAreaGeometryResponse gpudb::GPUdb::filterByAreaGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const std::vector\< double > & xVector,
const std::vector\< double > & yVector,
const std::map\< std::string, std::string > & options ) const

Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the geospatial geometry column to be filtered.
\[in] xVector List of x coordinates of the vertices of the polygon representing the area to be filtered.
\[in] yVector List of y coordinates of the vertices of the polygon representing the area to be filtered.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByAreaGeometry() \[4/4]

FilterByAreaGeometryResponse & gpudb::GPUdb::filterByAreaGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const std::vector\< double > & xVector,
const std::vector\< double > & yVector,
const std::map\< std::string, std::string > & options,
FilterByAreaGeometryResponse & response\_ ) const

Calculates which geospatial geometry objects from a table intersect a named area of interest (NAI/polygon).

The operation is synchronous, meaning that a response will not be returned until all the matching objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input NAI restriction specification is created with the name viewName passed in as part of the input.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the geospatial geometry column to be filtered.
\[in] xVector List of x coordinates of the vertices of the polygon representing the area to be filtered.
\[in] yVector List of y coordinates of the vertices of the polygon representing the area to be filtered.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByBox() \[1/4]

FilterByBoxResponse gpudb::GPUdb::filterByBox ( const FilterByBoxRequest & request\_ ) const

Calculates how many objects within the given table lie in a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByBox() \[2/4]

FilterByBoxResponse & gpudb::GPUdb::filterByBox ( const FilterByBoxRequest & request\_,
FilterByBoxResponse & response\_ ) const

Calculates how many objects within the given table lie in a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByBox() \[3/4]

FilterByBoxResponse gpudb::GPUdb::filterByBox ( const std::string & tableName,
const std::string & viewName,
const std::string & xColumnName,
const double minX,
const double maxX,
const std::string & yColumnName,
const double minY,
const double maxY,
const std::map\< std::string, std::string > & options ) const

Calculates how many objects within the given table lie in a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] tableName Name of the table on which the bounding box operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] xColumnName Name of the column on which to perform the bounding box query. Must be a valid numeric column.
\[in] minX Lower bound for the column chosen by xColumnName. Must be less than or equal to maxX.
\[in] maxX Upper bound for xColumnName. Must be greater than or equal to minX.
\[in] yColumnName Name of a column on which to perform the bounding box query. Must be a valid numeric column.
\[in] minY Lower bound for yColumnName. Must be less than or equal to maxY.
\[in] maxY Upper bound for yColumnName. Must be greater than or equal to minY.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByBox() \[4/4]

FilterByBoxResponse & gpudb::GPUdb::filterByBox ( const std::string & tableName,
const std::string & viewName,
const std::string & xColumnName,
const double minX,
const double maxX,
const std::string & yColumnName,
const double minY,
const double maxY,
const std::map\< std::string, std::string > & options,
FilterByBoxResponse & response\_ ) const

Calculates how many objects within the given table lie in a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] tableName Name of the table on which the bounding box operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] xColumnName Name of the column on which to perform the bounding box query. Must be a valid numeric column.
\[in] minX Lower bound for the column chosen by xColumnName. Must be less than or equal to maxX.
\[in] maxX Upper bound for xColumnName. Must be greater than or equal to minX.
\[in] yColumnName Name of a column on which to perform the bounding box query. Must be a valid numeric column.
\[in] minY Lower bound for yColumnName. Must be less than or equal to maxY.
\[in] maxY Upper bound for yColumnName. Must be greater than or equal to minY.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByBoxGeometry() \[1/4]

FilterByBoxGeometryResponse gpudb::GPUdb::filterByBoxGeometry ( const FilterByBoxGeometryRequest & request\_ ) const

Calculates which geospatial geometry objects from a table intersect a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByBoxGeometry() \[2/4]

FilterByBoxGeometryResponse & gpudb::GPUdb::filterByBoxGeometry ( const FilterByBoxGeometryRequest & request\_,
FilterByBoxGeometryResponse & response\_ ) const

Calculates which geospatial geometry objects from a table intersect a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByBoxGeometry() \[3/4]

FilterByBoxGeometryResponse gpudb::GPUdb::filterByBoxGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const double minX,
const double maxX,
const double minY,
const double maxY,
const std::map\< std::string, std::string > & options ) const

Calculates which geospatial geometry objects from a table intersect a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] tableName Name of the table on which the bounding box operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the geospatial geometry column to be filtered.
\[in] minX Lower bound for the x-coordinate of the rectangular box. Must be less than or equal to maxX.
\[in] maxX Upper bound for the x-coordinate of the rectangular box. Must be greater than or equal to minX.
\[in] minY Lower bound for the y-coordinate of the rectangular box. Must be less than or equal to maxY.
\[in] maxY Upper bound for the y-coordinate of the rectangular box. Must be greater than or equal to minY.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByBoxGeometry() \[4/4]

FilterByBoxGeometryResponse & gpudb::GPUdb::filterByBoxGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const double minX,
const double maxX,
const double minY,
const double maxY,
const std::map\< std::string, std::string > & options,
FilterByBoxGeometryResponse & response\_ ) const

Calculates which geospatial geometry objects from a table intersect a rectangular box.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set which satisfies the input NAI restriction specification is also created when a viewName is passed in as part of the input payload.

Parameters
\[in] tableName Name of the table on which the bounding box operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the geospatial geometry column to be filtered.
\[in] minX Lower bound for the x-coordinate of the rectangular box. Must be less than or equal to maxX.
\[in] maxX Upper bound for the x-coordinate of the rectangular box. Must be greater than or equal to minX.
\[in] minY Lower bound for the y-coordinate of the rectangular box. Must be less than or equal to maxY.
\[in] maxY Upper bound for the y-coordinate of the rectangular box. Must be greater than or equal to minY.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByGeometry() \[1/4]

FilterByGeometryResponse gpudb::GPUdb::filterByGeometry ( const FilterByGeometryRequest & request\_ ) const

Applies a geometry filter against a geospatial geometry column in a given table or view.

The filtering geometry is provided by inputWkt.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByGeometry() \[2/4]

FilterByGeometryResponse & gpudb::GPUdb::filterByGeometry ( const FilterByGeometryRequest & request\_,
FilterByGeometryResponse & response\_ ) const

Applies a geometry filter against a geospatial geometry column in a given table or view.

The filtering geometry is provided by inputWkt.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByGeometry() \[3/4]

FilterByGeometryResponse gpudb::GPUdb::filterByGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const std::string & inputWkt,
const std::string & operation,
const std::map\< std::string, std::string > & options ) const

Applies a geometry filter against a geospatial geometry column in a given table or view.

The filtering geometry is provided by inputWkt.

Parameters
\[in] tableName Name of the table on which the filter by geometry will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table or view containing a geospatial geometry column.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the column to be used in the filter. Must be a geospatial geometry column.
\[in] inputWkt A geometry in WKT format that will be used to filter the objects in tableName. The default value is ''.
\[in] operation The geometric filtering operation to perform. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByGeometry() \[4/4]

FilterByGeometryResponse & gpudb::GPUdb::filterByGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const std::string & inputWkt,
const std::string & operation,
const std::map\< std::string, std::string > & options,
FilterByGeometryResponse & response\_ ) const

Applies a geometry filter against a geospatial geometry column in a given table or view.

The filtering geometry is provided by inputWkt.

Parameters
\[in] tableName Name of the table on which the filter by geometry will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table or view containing a geospatial geometry column.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the column to be used in the filter. Must be a geospatial geometry column.
\[in] inputWkt A geometry in WKT format that will be used to filter the objects in tableName. The default value is ''.
\[in] operation The geometric filtering operation to perform. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByList() \[1/4]

FilterByListResponse gpudb::GPUdb::filterByList ( const FilterByListRequest & request\_ ) const

Calculates which records from a table have values in the given list for the corresponding column.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input filter specification is also created if a viewName is passed in as part of the request.

For example, if a type definition has the columns 'x' and 'y', then a filter by list query with the column map "x":\["10.1", "2.3"], "y":\["0.0", "-31.5", "42.0"] will return the count of all data points whose x and y values match both in the respective x- and y-lists, e.g., "x = 10.1 and y = 0.0", "x = 2.3 and y = -31.5", etc. However, a record with "x = 10.1 and y = -31.5" or "x = 2.3 and y = 0.0" would not be returned because the values in the given lists do not correspond.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByList() \[2/4]

FilterByListResponse & gpudb::GPUdb::filterByList ( const FilterByListRequest & request\_,
FilterByListResponse & response\_ ) const

Calculates which records from a table have values in the given list for the corresponding column.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input filter specification is also created if a viewName is passed in as part of the request.

For example, if a type definition has the columns 'x' and 'y', then a filter by list query with the column map "x":\["10.1", "2.3"], "y":\["0.0", "-31.5", "42.0"] will return the count of all data points whose x and y values match both in the respective x- and y-lists, e.g., "x = 10.1 and y = 0.0", "x = 2.3 and y = -31.5", etc. However, a record with "x = 10.1 and y = -31.5" or "x = 2.3 and y = 0.0" would not be returned because the values in the given lists do not correspond.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByList() \[3/4]

FilterByListResponse gpudb::GPUdb::filterByList ( const std::string & tableName,
const std::string & viewName,
const std::map\< std::string, std::vector\< std::string > > & columnValuesMap,
const std::map\< std::string, std::string > & options ) const

Calculates which records from a table have values in the given list for the corresponding column.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input filter specification is also created if a viewName is passed in as part of the request.

For example, if a type definition has the columns 'x' and 'y', then a filter by list query with the column map "x":\["10.1", "2.3"], "y":\["0.0", "-31.5", "42.0"] will return the count of all data points whose x and y values match both in the respective x- and y-lists, e.g., "x = 10.1 and y = 0.0", "x = 2.3 and y = -31.5", etc. However, a record with "x = 10.1 and y = -31.5" or "x = 2.3 and y = 0.0" would not be returned because the values in the given lists do not correspond.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnValuesMap List of values for the corresponding column in the table.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByList() \[4/4]

FilterByListResponse & gpudb::GPUdb::filterByList ( const std::string & tableName,
const std::string & viewName,
const std::map\< std::string, std::vector\< std::string > > & columnValuesMap,
const std::map\< std::string, std::string > & options,
FilterByListResponse & response\_ ) const

Calculates which records from a table have values in the given list for the corresponding column.

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input filter specification is also created if a viewName is passed in as part of the request.

For example, if a type definition has the columns 'x' and 'y', then a filter by list query with the column map "x":\["10.1", "2.3"], "y":\["0.0", "-31.5", "42.0"] will return the count of all data points whose x and y values match both in the respective x- and y-lists, e.g., "x = 10.1 and y = 0.0", "x = 2.3 and y = -31.5", etc. However, a record with "x = 10.1 and y = -31.5" or "x = 2.3 and y = 0.0" would not be returned because the values in the given lists do not correspond.

Parameters
\[in] tableName Name of the table to filter, in \[schema\_name.]table\_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnValuesMap List of values for the corresponding column in the table.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByRadius() \[1/4]

FilterByRadiusResponse gpudb::GPUdb::filterByRadius ( const FilterByRadiusRequest & request\_ ) const

Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

For track data, all track points that lie within the circle plus one point on either side of the circle (if the track goes beyond the circle) will be included in the result.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByRadius() \[2/4]

FilterByRadiusResponse & gpudb::GPUdb::filterByRadius ( const FilterByRadiusRequest & request\_,
FilterByRadiusResponse & response\_ ) const

Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

For track data, all track points that lie within the circle plus one point on either side of the circle (if the track goes beyond the circle) will be included in the result.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByRadius() \[3/4]

FilterByRadiusResponse gpudb::GPUdb::filterByRadius ( const std::string & tableName,
const std::string & viewName,
const std::string & xColumnName,
const double xCenter,
const std::string & yColumnName,
const double yCenter,
const double radius,
const std::map\< std::string, std::string > & options ) const

Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

For track data, all track points that lie within the circle plus one point on either side of the circle (if the track goes beyond the circle) will be included in the result.

Parameters
\[in] tableName Name of the table on which the filter by radius operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] xColumnName Name of the column to be used for the x-coordinate (the longitude) of the center.
\[in] xCenter Value of the longitude of the center. Must be within \[-180.0, 180.0]. The minimum allowed value is -180. The maximum allowed value is 180.
\[in] yColumnName Name of the column to be used for the y-coordinate-the latitude-of the center.
\[in] yCenter Value of the latitude of the center. Must be within \[-90.0, 90.0]. The minimum allowed value is -90. The maximum allowed value is 90.
\[in] radius The radius of the circle within which the search will be performed. Must be a non-zero positive value. It is in meters; so, for example, a value of '42000' means 42 km. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByRadius() \[4/4]

FilterByRadiusResponse & gpudb::GPUdb::filterByRadius ( const std::string & tableName,
const std::string & viewName,
const std::string & xColumnName,
const double xCenter,
const std::string & yColumnName,
const double yCenter,
const double radius,
const std::map\< std::string, std::string > & options,
FilterByRadiusResponse & response\_ ) const

Calculates which objects from a table lie within a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

For track data, all track points that lie within the circle plus one point on either side of the circle (if the track goes beyond the circle) will be included in the result.

Parameters
\[in] tableName Name of the table on which the filter by radius operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] xColumnName Name of the column to be used for the x-coordinate (the longitude) of the center.
\[in] xCenter Value of the longitude of the center. Must be within \[-180.0, 180.0]. The minimum allowed value is -180. The maximum allowed value is 180.
\[in] yColumnName Name of the column to be used for the y-coordinate-the latitude-of the center.
\[in] yCenter Value of the latitude of the center. Must be within \[-90.0, 90.0]. The minimum allowed value is -90. The maximum allowed value is 90.
\[in] radius The radius of the circle within which the search will be performed. Must be a non-zero positive value. It is in meters; so, for example, a value of '42000' means 42 km. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByRadiusGeometry() \[1/4]

FilterByRadiusGeometryResponse gpudb::GPUdb::filterByRadiusGeometry ( const FilterByRadiusGeometryRequest & request\_ ) const

Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByRadiusGeometry() \[2/4]

FilterByRadiusGeometryResponse & gpudb::GPUdb::filterByRadiusGeometry ( const FilterByRadiusGeometryRequest & request\_,
FilterByRadiusGeometryResponse & response\_ ) const

Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByRadiusGeometry() \[3/4]

FilterByRadiusGeometryResponse gpudb::GPUdb::filterByRadiusGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const double xCenter,
const double yCenter,
const double radius,
const std::map\< std::string, std::string > & options ) const

Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

Parameters
\[in] tableName Name of the table on which the filter by radius operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the geospatial geometry column to be filtered.
\[in] xCenter Value of the longitude of the center. Must be within \[-180.0, 180.0]. The minimum allowed value is -180. The maximum allowed value is 180.
\[in] yCenter Value of the latitude of the center. Must be within \[-90.0, 90.0]. The minimum allowed value is -90. The maximum allowed value is 90.
\[in] radius The radius of the circle within which the search will be performed. Must be a non-zero positive value. It is in meters; so, for example, a value of '42000' means 42 km. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByRadiusGeometry() \[4/4]

FilterByRadiusGeometryResponse & gpudb::GPUdb::filterByRadiusGeometry ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const double xCenter,
const double yCenter,
const double radius,
const std::map\< std::string, std::string > & options,
FilterByRadiusGeometryResponse & response\_ ) const

Calculates which geospatial geometry objects from a table intersect a circle with the given radius and center point (i.e. circular NAI).

The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input circular NAI restriction specification is also created if a viewName is passed in as part of the request.

Parameters
\[in] tableName Name of the table on which the filter by radius operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the geospatial geometry column to be filtered.
\[in] xCenter Value of the longitude of the center. Must be within \[-180.0, 180.0]. The minimum allowed value is -180. The maximum allowed value is 180.
\[in] yCenter Value of the latitude of the center. Must be within \[-90.0, 90.0]. The minimum allowed value is -90. The maximum allowed value is 90.
\[in] radius The radius of the circle within which the search will be performed. Must be a non-zero positive value. It is in meters; so, for example, a value of '42000' means 42 km. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByRange() \[1/4]

FilterByRangeResponse gpudb::GPUdb::filterByRange ( const FilterByRangeRequest & request\_ ) const

Calculates which objects from a table have a column that is within the given bounds.

An object from the table identified by tableName is added to the view viewName if its column is within \[lowerBound, upperBound] (inclusive). The operation is synchronous. The response provides a count of the number of objects which passed the bound filter. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

For track objects, the count reflects how many points fall within the given bounds (which may not include all the track points of any given track).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByRange() \[2/4]

FilterByRangeResponse & gpudb::GPUdb::filterByRange ( const FilterByRangeRequest & request\_,
FilterByRangeResponse & response\_ ) const

Calculates which objects from a table have a column that is within the given bounds.

An object from the table identified by tableName is added to the view viewName if its column is within \[lowerBound, upperBound] (inclusive). The operation is synchronous. The response provides a count of the number of objects which passed the bound filter. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

For track objects, the count reflects how many points fall within the given bounds (which may not include all the track points of any given track).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByRange() \[3/4]

FilterByRangeResponse gpudb::GPUdb::filterByRange ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const double lowerBound,
const double upperBound,
const std::map\< std::string, std::string > & options ) const

Calculates which objects from a table have a column that is within the given bounds.

An object from the table identified by tableName is added to the view viewName if its column is within \[lowerBound, upperBound] (inclusive). The operation is synchronous. The response provides a count of the number of objects which passed the bound filter. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

For track objects, the count reflects how many points fall within the given bounds (which may not include all the track points of any given track).

Parameters
\[in] tableName Name of the table on which the filter by range operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of a column on which the operation would be applied.
\[in] lowerBound Value of the lower bound (inclusive).
\[in] upperBound Value of the upper bound (inclusive).
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByRange() \[4/4]

FilterByRangeResponse & gpudb::GPUdb::filterByRange ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const double lowerBound,
const double upperBound,
const std::map\< std::string, std::string > & options,
FilterByRangeResponse & response\_ ) const

Calculates which objects from a table have a column that is within the given bounds.

An object from the table identified by tableName is added to the view viewName if its column is within \[lowerBound, upperBound] (inclusive). The operation is synchronous. The response provides a count of the number of objects which passed the bound filter. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

For track objects, the count reflects how many points fall within the given bounds (which may not include all the track points of any given track).

Parameters
\[in] tableName Name of the table on which the filter by range operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of a column on which the operation would be applied.
\[in] lowerBound Value of the lower bound (inclusive).
\[in] upperBound Value of the upper bound (inclusive).
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterBySeries() \[1/4]

FilterBySeriesResponse gpudb::GPUdb::filterBySeries ( const FilterBySeriesRequest & request\_ ) const

Filters objects matching all points of the given track (works only on track type data).

It allows users to specify a particular track to find all other points in the table that fall within specified ranges (spatial and temporal) of all points of the given track. Additionally, the user can specify another track to see if the two intersect (or go close to each other within the specified ranges). The user also has the flexibility of using different metrics for the spatial distance calculation: Euclidean (flat geometry) or Great Circle (spherical geometry to approximate the Earth's surface distances). The filtered points are stored in a newly created result set. The return value of the function is the number of points in the resultant set (view).

This operation is synchronous, meaning that a response will not be returned until all the objects are fully available.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterBySeries() \[2/4]

FilterBySeriesResponse & gpudb::GPUdb::filterBySeries ( const FilterBySeriesRequest & request\_,
FilterBySeriesResponse & response\_ ) const

Filters objects matching all points of the given track (works only on track type data).

It allows users to specify a particular track to find all other points in the table that fall within specified ranges (spatial and temporal) of all points of the given track. Additionally, the user can specify another track to see if the two intersect (or go close to each other within the specified ranges). The user also has the flexibility of using different metrics for the spatial distance calculation: Euclidean (flat geometry) or Great Circle (spherical geometry to approximate the Earth's surface distances). The filtered points are stored in a newly created result set. The return value of the function is the number of points in the resultant set (view).

This operation is synchronous, meaning that a response will not be returned until all the objects are fully available.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterBySeries() \[3/4]

FilterBySeriesResponse gpudb::GPUdb::filterBySeries ( const std::string & tableName,
const std::string & viewName,
const std::string & trackId,
const std::vector\< std::string > & targetTrackIds,
const std::map\< std::string, std::string > & options ) const

Filters objects matching all points of the given track (works only on track type data).

It allows users to specify a particular track to find all other points in the table that fall within specified ranges (spatial and temporal) of all points of the given track. Additionally, the user can specify another track to see if the two intersect (or go close to each other within the specified ranges). The user also has the flexibility of using different metrics for the spatial distance calculation: Euclidean (flat geometry) or Great Circle (spherical geometry to approximate the Earth's surface distances). The filtered points are stored in a newly created result set. The return value of the function is the number of points in the resultant set (view).

This operation is synchronous, meaning that a response will not be returned until all the objects are fully available.

Parameters
\[in] tableName Name of the table on which the filter by track operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be a currently existing table with a track present.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] trackId The ID of the track which will act as the filtering points. Must be an existing track within the given table.
\[in] targetTrackIds Up to one track ID to intersect with the "filter" track. If any provided, it must be an valid track ID within the given set.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterBySeries() \[4/4]

FilterBySeriesResponse & gpudb::GPUdb::filterBySeries ( const std::string & tableName,
const std::string & viewName,
const std::string & trackId,
const std::vector\< std::string > & targetTrackIds,
const std::map\< std::string, std::string > & options,
FilterBySeriesResponse & response\_ ) const

Filters objects matching all points of the given track (works only on track type data).

It allows users to specify a particular track to find all other points in the table that fall within specified ranges (spatial and temporal) of all points of the given track. Additionally, the user can specify another track to see if the two intersect (or go close to each other within the specified ranges). The user also has the flexibility of using different metrics for the spatial distance calculation: Euclidean (flat geometry) or Great Circle (spherical geometry to approximate the Earth's surface distances). The filtered points are stored in a newly created result set. The return value of the function is the number of points in the resultant set (view).

This operation is synchronous, meaning that a response will not be returned until all the objects are fully available.

Parameters
\[in] tableName Name of the table on which the filter by track operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be a currently existing table with a track present.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] trackId The ID of the track which will act as the filtering points. Must be an existing track within the given table.
\[in] targetTrackIds Up to one track ID to intersect with the "filter" track. If any provided, it must be an valid track ID within the given set.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByString() \[1/4]

FilterByStringResponse gpudb::GPUdb::filterByString ( const FilterByStringRequest & request\_ ) const

Calculates which objects from a table or view match a string expression for the given string columns.

Setting case\_sensitive can modify case sensitivity in matching for all modes except search. For search mode details and limitations, see Full Text Search.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByString() \[2/4]

FilterByStringResponse & gpudb::GPUdb::filterByString ( const FilterByStringRequest & request\_,
FilterByStringResponse & response\_ ) const

Calculates which objects from a table or view match a string expression for the given string columns.

Setting case\_sensitive can modify case sensitivity in matching for all modes except search. For search mode details and limitations, see Full Text Search.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByString() \[3/4]

FilterByStringResponse gpudb::GPUdb::filterByString ( const std::string & tableName,
const std::string & viewName,
const std::string & expression,
const std::string & mode,
const std::vector\< std::string > & columnNames,
const std::map\< std::string, std::string > & options ) const

Calculates which objects from a table or view match a string expression for the given string columns.

Setting case\_sensitive can modify case sensitivity in matching for all modes except search. For search mode details and limitations, see Full Text Search.

Parameters
\[in] tableName Name of the table on which the filter operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table or view.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] expression The expression with which to filter the table.
\[in] mode The string filtering mode to apply. See below for details. Supported values:
  • filter\_by\_string\_search: Full text search query with wildcards and boolean operators. Note that for this mode, no column can be specified in columnNames; all string columns of the table that have text search enabled will be searched.
  • filter\_by\_string\_equals: Exact whole-string match (accelerated).
  • filter\_by\_string\_contains: Partial substring match (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
  • filter\_by\_string\_starts\_with: Strings that start with the given expression (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
  • filter\_by\_string\_regex: Full regular expression search (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
  • filter\_by\_string\_search\_stats: Cross-shard BM25 corpus statistics for one (column, query) pair. Returns the merged BM25 statistics (max\_doc, doc\_count, sum\_total\_term\_freq, per-term doc\_freq / total\_term\_freq) needed by callers that score documents themselves (e.g. text\_match\_bm25\_global SQL function pre-pass). Requires column\_names to contain exactly one column with text search enabled. The view\_name field is ignored — this mode does not produce a result table.
\[in] columnNames List of columns on which to apply the filter. Ignored for search mode.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByString() \[4/4]

FilterByStringResponse & gpudb::GPUdb::filterByString ( const std::string & tableName,
const std::string & viewName,
const std::string & expression,
const std::string & mode,
const std::vector\< std::string > & columnNames,
const std::map\< std::string, std::string > & options,
FilterByStringResponse & response\_ ) const

Calculates which objects from a table or view match a string expression for the given string columns.

Setting case\_sensitive can modify case sensitivity in matching for all modes except search. For search mode details and limitations, see Full Text Search.

Parameters
\[in] tableName Name of the table on which the filter operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table or view.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] expression The expression with which to filter the table.
\[in] mode The string filtering mode to apply. See below for details. Supported values:
  • filter\_by\_string\_search: Full text search query with wildcards and boolean operators. Note that for this mode, no column can be specified in columnNames; all string columns of the table that have text search enabled will be searched.
  • filter\_by\_string\_equals: Exact whole-string match (accelerated).
  • filter\_by\_string\_contains: Partial substring match (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
  • filter\_by\_string\_starts\_with: Strings that start with the given expression (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
  • filter\_by\_string\_regex: Full regular expression search (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
  • filter\_by\_string\_search\_stats: Cross-shard BM25 corpus statistics for one (column, query) pair. Returns the merged BM25 statistics (max\_doc, doc\_count, sum\_total\_term\_freq, per-term doc\_freq / total\_term\_freq) needed by callers that score documents themselves (e.g. text\_match\_bm25\_global SQL function pre-pass). Requires column\_names to contain exactly one column with text search enabled. The view\_name field is ignored — this mode does not produce a result table.
\[in] columnNames List of columns on which to apply the filter. Ignored for search mode.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByTable() \[1/4]

FilterByTableResponse gpudb::GPUdb::filterByTable ( const FilterByTableRequest & request\_ ) const

Filters objects in one table based on objects in another table.

The user must specify matching column types from the two tables (i.e. the target table from which objects will be filtered and the source table based on which the filter will be created); the column names need not be the same. If a viewName is specified, then the filtered objects will then be put in a newly created view. The operation is synchronous, meaning that a response will not be returned until all objects are fully available in the result view. The return value contains the count (i.e. the size) of the resulting view.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByTable() \[2/4]

FilterByTableResponse & gpudb::GPUdb::filterByTable ( const FilterByTableRequest & request\_,
FilterByTableResponse & response\_ ) const

Filters objects in one table based on objects in another table.

The user must specify matching column types from the two tables (i.e. the target table from which objects will be filtered and the source table based on which the filter will be created); the column names need not be the same. If a viewName is specified, then the filtered objects will then be put in a newly created view. The operation is synchronous, meaning that a response will not be returned until all objects are fully available in the result view. The return value contains the count (i.e. the size) of the resulting view.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByTable() \[3/4]

FilterByTableResponse gpudb::GPUdb::filterByTable ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const std::string & sourceTableName,
const std::string & sourceTableColumnName,
const std::map\< std::string, std::string > & options ) const

Filters objects in one table based on objects in another table.

The user must specify matching column types from the two tables (i.e. the target table from which objects will be filtered and the source table based on which the filter will be created); the column names need not be the same. If a viewName is specified, then the filtered objects will then be put in a newly created view. The operation is synchronous, meaning that a response will not be returned until all objects are fully available in the result view. The return value contains the count (i.e. the size) of the resulting view.

Parameters
\[in] tableName Name of the table whose data will be filtered, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the column by whose value the data will be filtered from the table designated by tableName.
\[in] sourceTableName Name of the table whose data will be compared against in the table called tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] sourceTableColumnName Name of the column in the sourceTableName whose values will be used as the filter for table tableName. Must be a geospatial geometry column if in 'spatial' mode; otherwise, Must match the type of the columnName.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByTable() \[4/4]

FilterByTableResponse & gpudb::GPUdb::filterByTable ( const std::string & tableName,
const std::string & viewName,
const std::string & columnName,
const std::string & sourceTableName,
const std::string & sourceTableColumnName,
const std::map\< std::string, std::string > & options,
FilterByTableResponse & response\_ ) const

Filters objects in one table based on objects in another table.

The user must specify matching column types from the two tables (i.e. the target table from which objects will be filtered and the source table based on which the filter will be created); the column names need not be the same. If a viewName is specified, then the filtered objects will then be put in a newly created view. The operation is synchronous, meaning that a response will not be returned until all objects are fully available in the result view. The return value contains the count (i.e. the size) of the resulting view.

Parameters
\[in] tableName Name of the table whose data will be filtered, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] columnName Name of the column by whose value the data will be filtered from the table designated by tableName.
\[in] sourceTableName Name of the table whose data will be compared against in the table called tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] sourceTableColumnName Name of the column in the sourceTableName whose values will be used as the filter for table tableName. Must be a geospatial geometry column if in 'spatial' mode; otherwise, Must match the type of the columnName.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByValue() \[1/4]

FilterByValueResponse gpudb::GPUdb::filterByValue ( const FilterByValueRequest & request\_ ) const

Calculates which objects from a table has a particular value for a particular column.

The input parameters provide a way to specify either a String or a Double valued column and a desired value for the column on which the filter is performed. The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new result view which satisfies the input filter restriction specification is also created with a view name passed in as part of the input payload. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ filterByValue() \[2/4]

FilterByValueResponse & gpudb::GPUdb::filterByValue ( const FilterByValueRequest & request\_,
FilterByValueResponse & response\_ ) const

Calculates which objects from a table has a particular value for a particular column.

The input parameters provide a way to specify either a String or a Double valued column and a desired value for the column on which the filter is performed. The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new result view which satisfies the input filter restriction specification is also created with a view name passed in as part of the input payload. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ filterByValue() \[3/4]

FilterByValueResponse gpudb::GPUdb::filterByValue ( const std::string & tableName,
const std::string & viewName,
const bool isString,
const double value,
const std::string & valueStr,
const std::string & columnName,
const std::map\< std::string, std::string > & options ) const

Calculates which objects from a table has a particular value for a particular column.

The input parameters provide a way to specify either a String or a Double valued column and a desired value for the column on which the filter is performed. The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new result view which satisfies the input filter restriction specification is also created with a view name passed in as part of the input payload. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

Parameters
\[in] tableName Name of an existing table on which to perform the calculation, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] isString Indicates whether the value being searched for is string or numeric.
\[in] value The value to search for. The default value is 0.
\[in] valueStr The string value to search for. The default value is ''.
\[in] columnName Name of a column on which the filter by value would be applied.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ filterByValue() \[4/4]

FilterByValueResponse & gpudb::GPUdb::filterByValue ( const std::string & tableName,
const std::string & viewName,
const bool isString,
const double value,
const std::string & valueStr,
const std::string & columnName,
const std::map\< std::string, std::string > & options,
FilterByValueResponse & response\_ ) const

Calculates which objects from a table has a particular value for a particular column.

The input parameters provide a way to specify either a String or a Double valued column and a desired value for the column on which the filter is performed. The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new result view which satisfies the input filter restriction specification is also created with a view name passed in as part of the input payload. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

Parameters
\[in] tableName Name of an existing table on which to perform the calculation, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] viewName If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ''.
\[in] isString Indicates whether the value being searched for is string or numeric.
\[in] value The value to search for. The default value is 0.
\[in] valueStr The string value to search for. The default value is ''.
\[in] columnName Name of a column on which the filter by value would be applied.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getApiVersion()

static std::string gpudb::GPUdb::getApiVersion ( )
inlinestatic

Definition at line 188 of file GPUdb.hpp.

◆ getBypassSslCertCheck()

bool gpudb::GPUdb::getBypassSslCertCheck ( ) const

◆ getExecutor()

avro::ExecutorPtr gpudb::GPUdb::getExecutor ( ) const

◆ getGraphEntities() \[1/4]

GetGraphEntitiesResponse gpudb::GPUdb::getGraphEntities ( const GetGraphEntitiesRequest & request\_ ) const

Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.

Use showGraph to obtain the total number of nodes and edges.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getGraphEntities() \[2/4]

GetGraphEntitiesResponse & gpudb::GPUdb::getGraphEntities ( const GetGraphEntitiesRequest & request\_,
GetGraphEntitiesResponse & response\_ ) const

Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.

Use showGraph to obtain the total number of nodes and edges.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getGraphEntities() \[3/4]

GetGraphEntitiesResponse gpudb::GPUdb::getGraphEntities ( const std::string & graphName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.

Use showGraph to obtain the total number of nodes and edges.

Parameters
\[in] graphName Name of the graph from which to retrieve entities.
\[in] offset Starting index of the entities to retrieve (0-based). The default value is 0.
\[in] limit Number of entities to retrieve starting from offset. A value of -1 returns all entities from the offset to the end. Note: the entitiesInt or entitiesString array size will be 2x this value for nodes (stride 2) or 4x for edges (stride 4). The default value is 10000.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getGraphEntities() \[4/4]

GetGraphEntitiesResponse & gpudb::GPUdb::getGraphEntities ( const std::string & graphName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetGraphEntitiesResponse & response\_ ) const

Retrieves node or edge entities from an existing graph, with pagination support via offset and limit.

Use showGraph to obtain the total number of nodes and edges.

Parameters
\[in] graphName Name of the graph from which to retrieve entities.
\[in] offset Starting index of the entities to retrieve (0-based). The default value is 0.
\[in] limit Number of entities to retrieve starting from offset. A value of -1 returns all entities from the offset to the end. Note: the entitiesInt or entitiesString array size will be 2x this value for nodes (stride 2) or 4x for edges (stride 4). The default value is 10000.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getHASyncMode()

HASynchronicityMode gpudb::GPUdb::getHASyncMode ( ) const

◆ getHmUrl()

const HttpUrl & gpudb::GPUdb::getHmUrl ( ) const

◆ getHmUrls()

const std::vector\< HttpUrl > & gpudb::GPUdb::getHmUrls ( ) const

◆ getHttpHeaders()

const std::map\< std::string, std::string > & gpudb::GPUdb::getHttpHeaders ( ) const

◆ getJob() \[1/4]

GetJobResponse gpudb::GPUdb::getJob ( const GetJobRequest & request\_ ) const

Get the status and result of asynchronously running job.

See the createJob for starting an asynchronous job. Some fields of the response are filled only after the submitted job has finished execution.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getJob() \[2/4]

GetJobResponse & gpudb::GPUdb::getJob ( const GetJobRequest & request\_,
GetJobResponse & response\_ ) const

Get the status and result of asynchronously running job.

See the createJob for starting an asynchronous job. Some fields of the response are filled only after the submitted job has finished execution.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getJob() \[3/4]

GetJobResponse gpudb::GPUdb::getJob ( const int64\_t jobId,
const std::map\< std::string, std::string > & options ) const

Get the status and result of asynchronously running job.

See the createJob for starting an asynchronous job. Some fields of the response are filled only after the submitted job has finished execution.

Parameters
\[in] jobId A unique identifier for the job whose status and result is to be fetched.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getJob() \[4/4]

GetJobResponse & gpudb::GPUdb::getJob ( const int64\_t jobId,
const std::map\< std::string, std::string > & options,
GetJobResponse & response\_ ) const

Get the status and result of asynchronously running job.

See the createJob for starting an asynchronous job. Some fields of the response are filled only after the submitted job has finished execution.

Parameters
\[in] jobId A unique identifier for the job whose status and result is to be fetched.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getOauthToken()

const std::string & gpudb::GPUdb::getOauthToken ( ) const

◆ getPassword()

const std::string & gpudb::GPUdb::getPassword ( ) const

◆ getPrimaryURL()

const std::string & gpudb::GPUdb::getPrimaryURL ( ) const

Return a string containing the URL for the primary cluster; empty string otherwise.

◆ getRecords() \[1/20]

template\
GetRecordsResponse\< TResponse > gpudb::GPUdb::getRecords ( const ::avro::ValidSchema & schema\_,
const GetRecordsRequest & request\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 32295 of file GPUdb.hpp.

◆ getRecords() \[2/20]

template\
GetRecordsResponse\< TResponse > & gpudb::GPUdb::getRecords ( const ::avro::ValidSchema & schema\_,
const GetRecordsRequest & request\_,
GetRecordsResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 32381 of file GPUdb.hpp.

◆ getRecords() \[3/20]

template\
GetRecordsResponse\< TResponse > gpudb::GPUdb::getRecords ( const ::avro::ValidSchema & schema\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 32528 of file GPUdb.hpp.

◆ getRecords() \[4/20]

template\
GetRecordsResponse\< TResponse > & gpudb::GPUdb::getRecords ( const ::avro::ValidSchema & schema\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 32746 of file GPUdb.hpp.

◆ getRecords() \[5/20]

template\
GetRecordsResponse\< TResponse > gpudb::GPUdb::getRecords ( const GetRecordsRequest & request\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 31998 of file GPUdb.hpp.

◆ getRecords() \[6/20]

template\<>
GetRecordsResponse\< boost::any > gpudb::GPUdb::getRecords ( const GetRecordsRequest & request\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecords() \[7/20]

template\<>
GetRecordsResponse\< boost::any > gpudb::GPUdb::getRecords ( const GetRecordsRequest & request\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecords() \[8/20]

template\<>
GetRecordsResponse\< boost::any > & gpudb::GPUdb::getRecords ( const GetRecordsRequest & request\_,
GetRecordsResponse\< boost::any > & response\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecords() \[9/20]

template\<>
GetRecordsResponse\< boost::any > & gpudb::GPUdb::getRecords ( const GetRecordsRequest & request\_,
GetRecordsResponse\< boost::any > & response\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecords() \[10/20]

template\
GetRecordsResponse\< TResponse > & gpudb::GPUdb::getRecords ( const GetRecordsRequest & request\_,
GetRecordsResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 32040 of file GPUdb.hpp.

◆ getRecords() \[11/20]

template\
GetRecordsResponse\< TResponse > gpudb::GPUdb::getRecords ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 32141 of file GPUdb.hpp.

◆ getRecords() \[12/20]

template\<>
GetRecordsResponse\< boost::any > gpudb::GPUdb::getRecords ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecords() \[13/20]

template\<>
GetRecordsResponse\< boost::any > gpudb::GPUdb::getRecords ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecords() \[14/20]

template\<>
GetRecordsResponse\< boost::any > & gpudb::GPUdb::getRecords ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsResponse\< boost::any > & response\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecords() \[15/20]

template\<>
GetRecordsResponse\< boost::any > & gpudb::GPUdb::getRecords ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsResponse\< boost::any > & response\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecords() \[16/20]

template\
GetRecordsResponse\< TResponse > & gpudb::GPUdb::getRecords ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 32249 of file GPUdb.hpp.

◆ getRecords() \[17/20]

template\
GetRecordsResponse\< TResponse > gpudb::GPUdb::getRecords ( const Type & type\_,
const GetRecordsRequest & request\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 32337 of file GPUdb.hpp.

◆ getRecords() \[18/20]

template\
GetRecordsResponse\< TResponse > & gpudb::GPUdb::getRecords ( const Type & type\_,
const GetRecordsRequest & request\_,
GetRecordsResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 32425 of file GPUdb.hpp.

◆ getRecords() \[19/20]

template\
GetRecordsResponse\< TResponse > gpudb::GPUdb::getRecords ( const Type & type\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 32636 of file GPUdb.hpp.

◆ getRecords() \[20/20]

template\
GetRecordsResponse\< TResponse > & gpudb::GPUdb::getRecords ( const Type & type\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] tableName Name of the table or view from which the records will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 32856 of file GPUdb.hpp.

◆ getRecordsByColumn() \[1/4]

GetRecordsByColumnResponse gpudb::GPUdb::getRecordsByColumn ( const GetRecordsByColumnRequest & request\_ ) const

For a given table, retrieves the values from the requested column(s).

Maps of column name to the array of values as well as the column data type are returned. This endpoint supports pagination with the offset and limit parameters.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as createProjection.

When using pagination, if the table (or the underlying table in the case of a view) is modified (records are inserted, updated, or deleted) during a call to the endpoint, the records or values retrieved may differ between calls based on the type of the update, e.g., the contiguity across pages cannot be relied upon.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsByColumn() \[2/4]

GetRecordsByColumnResponse & gpudb::GPUdb::getRecordsByColumn ( const GetRecordsByColumnRequest & request\_,
GetRecordsByColumnResponse & response\_ ) const

For a given table, retrieves the values from the requested column(s).

Maps of column name to the array of values as well as the column data type are returned. This endpoint supports pagination with the offset and limit parameters.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as createProjection.

When using pagination, if the table (or the underlying table in the case of a view) is modified (records are inserted, updated, or deleted) during a call to the endpoint, the records or values retrieved may differ between calls based on the type of the update, e.g., the contiguity across pages cannot be relied upon.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsByColumn() \[3/4]

GetRecordsByColumnResponse gpudb::GPUdb::getRecordsByColumn ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

For a given table, retrieves the values from the requested column(s).

Maps of column name to the array of values as well as the column data type are returned. This endpoint supports pagination with the offset and limit parameters.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as createProjection.

When using pagination, if the table (or the underlying table in the case of a view) is modified (records are inserted, updated, or deleted) during a call to the endpoint, the records or values retrieved may differ between calls based on the type of the update, e.g., the contiguity across pages cannot be relied upon.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] tableName Name of the table or view on which this operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. An empty table name retrieves one record from a single-row virtual table, where columns specified should be constants or constant expressions.
\[in] columnNames The list of column values to retrieve.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecordsByColumn() \[4/4]

GetRecordsByColumnResponse & gpudb::GPUdb::getRecordsByColumn ( const std::string & tableName,
const std::vector\< std::string > & columnNames,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsByColumnResponse & response\_ ) const

For a given table, retrieves the values from the requested column(s).

Maps of column name to the array of values as well as the column data type are returned. This endpoint supports pagination with the offset and limit parameters.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as createProjection.

When using pagination, if the table (or the underlying table in the case of a view) is modified (records are inserted, updated, or deleted) during a call to the endpoint, the records or values retrieved may differ between calls based on the type of the update, e.g., the contiguity across pages cannot be relied upon.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] tableName Name of the table or view on which this operation will be performed, in \[schema\_name.]table\_name format, using standard name resolution rules. An empty table name retrieves one record from a single-row virtual table, where columns specified should be constants or constant expressions.
\[in] columnNames The list of column values to retrieve.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use hasMoreRecords to see if more records exist in the result to be fetched, and offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsByColumnRaw() \[1/2]

RawGetRecordsByColumnResponse gpudb::GPUdb::getRecordsByColumnRaw ( const GetRecordsByColumnRequest & request\_ ) const

For a given table, retrieves the values from the requested column(s).

Maps of column name to the array of values as well as the column data type are returned. This endpoint supports pagination with the offset and limit parameters.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as createProjection.

When using pagination, if the table (or the underlying table in the case of a view) is modified (records are inserted, updated, or deleted) during a call to the endpoint, the records or values retrieved may differ between calls based on the type of the update, e.g., the contiguity across pages cannot be relied upon.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsByColumnRaw() \[2/2]

RawGetRecordsByColumnResponse & gpudb::GPUdb::getRecordsByColumnRaw ( const GetRecordsByColumnRequest & request\_,
RawGetRecordsByColumnResponse & response\_ ) const

For a given table, retrieves the values from the requested column(s).

Maps of column name to the array of values as well as the column data type are returned. This endpoint supports pagination with the offset and limit parameters.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as createProjection.

When using pagination, if the table (or the underlying table in the case of a view) is modified (records are inserted, updated, or deleted) during a call to the endpoint, the records or values retrieved may differ between calls based on the type of the update, e.g., the contiguity across pages cannot be relied upon.

If tableName is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

The response is returned as a dynamic schema. For details see: dynamic schemas documentation.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsBySeries() \[1/20]

template\
GetRecordsBySeriesResponse\< TResponse > gpudb::GPUdb::getRecordsBySeries ( const ::avro::ValidSchema & schema\_,
const GetRecordsBySeriesRequest & request\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 33662 of file GPUdb.hpp.

◆ getRecordsBySeries() \[2/20]

template\
GetRecordsBySeriesResponse\< TResponse > & gpudb::GPUdb::getRecordsBySeries ( const ::avro::ValidSchema & schema\_,
const GetRecordsBySeriesRequest & request\_,
GetRecordsBySeriesResponse\< TResponse > & response\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 33769 of file GPUdb.hpp.

◆ getRecordsBySeries() \[3/20]

template\
GetRecordsBySeriesResponse\< TResponse > gpudb::GPUdb::getRecordsBySeries ( const ::avro::ValidSchema & schema\_,
const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 33894 of file GPUdb.hpp.

◆ getRecordsBySeries() \[4/20]

template\
GetRecordsBySeriesResponse\< TResponse > & gpudb::GPUdb::getRecordsBySeries ( const ::avro::ValidSchema & schema\_,
const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsBySeriesResponse\< TResponse > & response\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34052 of file GPUdb.hpp.

◆ getRecordsBySeries() \[5/20]

template\
GetRecordsBySeriesResponse\< TResponse > gpudb::GPUdb::getRecordsBySeries ( const GetRecordsBySeriesRequest & request\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 33404 of file GPUdb.hpp.

◆ getRecordsBySeries() \[6/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > gpudb::GPUdb::getRecordsBySeries ( const GetRecordsBySeriesRequest & request\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsBySeries() \[7/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > gpudb::GPUdb::getRecordsBySeries ( const GetRecordsBySeriesRequest & request\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsBySeries() \[8/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > & gpudb::GPUdb::getRecordsBySeries ( const GetRecordsBySeriesRequest & request\_,
GetRecordsBySeriesResponse\< boost::any > & response\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsBySeries() \[9/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > & gpudb::GPUdb::getRecordsBySeries ( const GetRecordsBySeriesRequest & request\_,
GetRecordsBySeriesResponse\< boost::any > & response\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsBySeries() \[10/20]

template\
GetRecordsBySeriesResponse\< TResponse > & gpudb::GPUdb::getRecordsBySeries ( const GetRecordsBySeriesRequest & request\_,
GetRecordsBySeriesResponse\< TResponse > & response\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 33456 of file GPUdb.hpp.

◆ getRecordsBySeries() \[11/20]

template\
GetRecordsBySeriesResponse\< TResponse > gpudb::GPUdb::getRecordsBySeries ( const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 33525 of file GPUdb.hpp.

◆ getRecordsBySeries() \[12/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > gpudb::GPUdb::getRecordsBySeries ( const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecordsBySeries() \[13/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > gpudb::GPUdb::getRecordsBySeries ( const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecordsBySeries() \[14/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > & gpudb::GPUdb::getRecordsBySeries ( const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsBySeriesResponse\< boost::any > & response\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsBySeries() \[15/20]

template\<>
GetRecordsBySeriesResponse\< boost::any > & gpudb::GPUdb::getRecordsBySeries ( const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsBySeriesResponse\< boost::any > & response\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsBySeries() \[16/20]

template\
GetRecordsBySeriesResponse\< TResponse > & gpudb::GPUdb::getRecordsBySeries ( const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsBySeriesResponse\< TResponse > & response\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 33603 of file GPUdb.hpp.

◆ getRecordsBySeries() \[17/20]

template\
GetRecordsBySeriesResponse\< TResponse > gpudb::GPUdb::getRecordsBySeries ( const Type & type\_,
const GetRecordsBySeriesRequest & request\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 33714 of file GPUdb.hpp.

◆ getRecordsBySeries() \[18/20]

template\
GetRecordsBySeriesResponse\< TResponse > & gpudb::GPUdb::getRecordsBySeries ( const Type & type\_,
const GetRecordsBySeriesRequest & request\_,
GetRecordsBySeriesResponse\< TResponse > & response\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 33823 of file GPUdb.hpp.

◆ getRecordsBySeries() \[19/20]

template\
GetRecordsBySeriesResponse\< TResponse > gpudb::GPUdb::getRecordsBySeries ( const Type & type\_,
const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 33972 of file GPUdb.hpp.

◆ getRecordsBySeries() \[20/20]

template\
GetRecordsBySeriesResponse\< TResponse > & gpudb::GPUdb::getRecordsBySeries ( const Type & type\_,
const std::string & tableName,
const std::string & worldTableName,
const int32\_t offset,
const int32\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsBySeriesResponse\< TResponse > & response\_ ) const
inline

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecords this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] tableName Name of the table or view for which series/tracks will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] worldTableName Name of the table containing the complete series/track information to be returned for the tracks present in the tableName, in \[schema\_name.]table\_name format, using standard name resolution rules. Typically this is used when retrieving series/tracks from a view (which contains partial series/tracks) but the user wants to retrieve the entire original series/tracks. Can be blank.
\[in] offset A positive integer indicating the number of initial series/tracks to skip (useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of series/tracks to be returned. Or END\_OF\_SET (-9999) to indicate that the max number of results should be returned. The default value is 250.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34132 of file GPUdb.hpp.

◆ getRecordsBySeriesRaw() \[1/2]

RawGetRecordsBySeriesResponse gpudb::GPUdb::getRecordsBySeriesRaw ( const GetRecordsBySeriesRequest & request\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecordsRaw this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsBySeriesRaw() \[2/2]

RawGetRecordsBySeriesResponse & gpudb::GPUdb::getRecordsBySeriesRaw ( const GetRecordsBySeriesRequest & request\_,
RawGetRecordsBySeriesResponse & response\_ ) const

Retrieves the complete series/track records from the given worldTableName based on the partial track information contained in the tableName.

This operation supports paging through the data via the offset and limit parameters.

In contrast to getRecordsRaw this returns records grouped by series/track. So if offset is 0 and limit is 5 this operation would return the first 5 series/tracks in tableName. Each series/track will be returned sorted by their TIMESTAMP column.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsFromCollection() \[1/20]

template\
GetRecordsFromCollectionResponse\< TResponse > gpudb::GPUdb::getRecordsFromCollection ( const ::avro::ValidSchema & schema\_,
const GetRecordsFromCollectionRequest & request\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 34496 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[2/20]

template\
GetRecordsFromCollectionResponse\< TResponse > & gpudb::GPUdb::getRecordsFromCollection ( const ::avro::ValidSchema & schema\_,
const GetRecordsFromCollectionRequest & request\_,
GetRecordsFromCollectionResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34584 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[3/20]

template\
GetRecordsFromCollectionResponse\< TResponse > gpudb::GPUdb::getRecordsFromCollection ( const ::avro::ValidSchema & schema\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 34715 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[4/20]

template\
GetRecordsFromCollectionResponse\< TResponse > & gpudb::GPUdb::getRecordsFromCollection ( const ::avro::ValidSchema & schema\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsFromCollectionResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] schema\_ Avro schema object used for decoding returned objects.
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34899 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[5/20]

template\
GetRecordsFromCollectionResponse\< TResponse > gpudb::GPUdb::getRecordsFromCollection ( const GetRecordsFromCollectionRequest & request\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 34232 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[6/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > gpudb::GPUdb::getRecordsFromCollection ( const GetRecordsFromCollectionRequest & request\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsFromCollection() \[7/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > gpudb::GPUdb::getRecordsFromCollection ( const GetRecordsFromCollectionRequest & request\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsFromCollection() \[8/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > & gpudb::GPUdb::getRecordsFromCollection ( const GetRecordsFromCollectionRequest & request\_,
GetRecordsFromCollectionResponse\< boost::any > & response\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsFromCollection() \[9/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > & gpudb::GPUdb::getRecordsFromCollection ( const GetRecordsFromCollectionRequest & request\_,
GetRecordsFromCollectionResponse\< boost::any > & response\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsFromCollection() \[10/20]

template\
GetRecordsFromCollectionResponse\< TResponse > & gpudb::GPUdb::getRecordsFromCollection ( const GetRecordsFromCollectionRequest & request\_,
GetRecordsFromCollectionResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34275 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[11/20]

template\
GetRecordsFromCollectionResponse\< TResponse > gpudb::GPUdb::getRecordsFromCollection ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 34358 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[12/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > gpudb::GPUdb::getRecordsFromCollection ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecordsFromCollection() \[13/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > gpudb::GPUdb::getRecordsFromCollection ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ getRecordsFromCollection() \[14/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > & gpudb::GPUdb::getRecordsFromCollection ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsFromCollectionResponse\< boost::any > & response\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsFromCollection() \[15/20]

template\<>
GetRecordsFromCollectionResponse\< boost::any > & gpudb::GPUdb::getRecordsFromCollection ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsFromCollectionResponse\< boost::any > & response\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsFromCollection() \[16/20]

template\
GetRecordsFromCollectionResponse\< TResponse > & gpudb::GPUdb::getRecordsFromCollection ( const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsFromCollectionResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34450 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[17/20]

template\
GetRecordsFromCollectionResponse\< TResponse > gpudb::GPUdb::getRecordsFromCollection ( const Type & type\_,
const GetRecordsFromCollectionRequest & request\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 34538 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[18/20]

template\
GetRecordsFromCollectionResponse\< TResponse > & gpudb::GPUdb::getRecordsFromCollection ( const Type & type\_,
const GetRecordsFromCollectionRequest & request\_,
GetRecordsFromCollectionResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34630 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[19/20]

template\
GetRecordsFromCollectionResponse\< TResponse > gpudb::GPUdb::getRecordsFromCollection ( const Type & type\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 34805 of file GPUdb.hpp.

◆ getRecordsFromCollection() \[20/20]

template\
GetRecordsFromCollectionResponse\< TResponse > & gpudb::GPUdb::getRecordsFromCollection ( const Type & type\_,
const std::string & tableName,
const int64\_t offset,
const int64\_t limit,
const std::map\< std::string, std::string > & options,
GetRecordsFromCollectionResponse\< TResponse > & response\_ ) const
inline

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Template Parameters
TResponse The type of object being retrieved.
Parameters
\[in] type\_ Type object used for decoding returned objects.
\[in] tableName Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing collection or table.
\[in] offset A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
\[in] limit A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned. The number of records returned will never exceed the server's own limit, defined by the max\_get\_records\_size parameter in the server configuration. Use offset and limit to request subsequent pages of results. The default value is -9999.
\[in] options The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 34993 of file GPUdb.hpp.

◆ getRecordsFromCollectionRaw() \[1/2]

RawGetRecordsFromCollectionResponse gpudb::GPUdb::getRecordsFromCollectionRaw ( const GetRecordsFromCollectionRequest & request\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsFromCollectionRaw() \[2/2]

RawGetRecordsFromCollectionResponse & gpudb::GPUdb::getRecordsFromCollectionRaw ( const GetRecordsFromCollectionRequest & request\_,
RawGetRecordsFromCollectionResponse & response\_ ) const

Retrieves records from a collection.

The operation can optionally return the record IDs which can be used in certain queries such as deleteRecords.

This operation supports paging through the data via the offset and limit parameters.

Note that when using the Java API, it is not possible to retrieve records from join views using this operation. (DEPRECATED)

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getRecordsRaw() \[1/2]

RawGetRecordsResponse gpudb::GPUdb::getRecordsRaw ( const GetRecordsRequest & request\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ getRecordsRaw() \[2/2]

RawGetRecordsResponse & gpudb::GPUdb::getRecordsRaw ( const GetRecordsRequest & request\_,
RawGetRecordsResponse & response\_ ) const

Retrieves records from a given table, optionally filtered by an expression and/or sorted by a column.

This operation can be performed on tables and views. Records can be returned encoded as binary, json, or geojson.

This operation supports paging through the data via the offset and limit parameters. Note that when paging through a table, if the table (or the underlying table in case of a view) is updated (records are inserted, deleted or modified) the records retrieved may differ between calls based on the updates applied.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ getSslContext()

boost::asio::ssl::context \* gpudb::GPUdb::getSslContext ( ) const

◆ getThreadCount()

size\_t gpudb::GPUdb::getThreadCount ( ) const

◆ getTimeout()

size\_t gpudb::GPUdb::getTimeout ( ) const

◆ getUrl()

const HttpUrl & gpudb::GPUdb::getUrl ( ) const

◆ getUrls()

const std::vector\< HttpUrl > & gpudb::GPUdb::getUrls ( ) const

◆ getUsername()

const std::string & gpudb::GPUdb::getUsername ( ) const

◆ getUseSnappy()

bool gpudb::GPUdb::getUseSnappy ( ) const

◆ grantPermission() \[1/4]

GrantPermissionResponse gpudb::GPUdb::grantPermission ( const GrantPermissionRequest & request\_ ) const

Grant user or role the specified permission on the specified object.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermission() \[2/4]

GrantPermissionResponse & gpudb::GPUdb::grantPermission ( const GrantPermissionRequest & request\_,
GrantPermissionResponse & response\_ ) const

Grant user or role the specified permission on the specified object.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermission() \[3/4]

GrantPermissionResponse gpudb::GPUdb::grantPermission ( const std::string & principal,
const std::string & object,
const std::string & objectType,
const std::string & permission,
const std::map\< std::string, std::string > & options ) const

Grant user or role the specified permission on the specified object.

Parameters
\[in] principal Name of the user or role for which the permission is being granted. Must be an existing user or role. The default value is ''.
\[in] object Name of object permission is being granted to. It is recommended to use a fully-qualified name when possible.
\[in] objectType The type of object being granted to. Supported values:
\[in] permission Permission being granted. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermission() \[4/4]

GrantPermissionResponse & gpudb::GPUdb::grantPermission ( const std::string & principal,
const std::string & object,
const std::string & objectType,
const std::string & permission,
const std::map\< std::string, std::string > & options,
GrantPermissionResponse & response\_ ) const

Grant user or role the specified permission on the specified object.

Parameters
\[in] principal Name of the user or role for which the permission is being granted. Must be an existing user or role. The default value is ''.
\[in] object Name of object permission is being granted to. It is recommended to use a fully-qualified name when possible.
\[in] objectType The type of object being granted to. Supported values:
\[in] permission Permission being granted. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionCredential() \[1/4]

GrantPermissionCredentialResponse gpudb::GPUdb::grantPermissionCredential ( const GrantPermissionCredentialRequest & request\_ ) const

Grants a credential-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermissionCredential() \[2/4]

GrantPermissionCredentialResponse & gpudb::GPUdb::grantPermissionCredential ( const GrantPermissionCredentialRequest & request\_,
GrantPermissionCredentialResponse & response\_ ) const

Grants a credential-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionCredential() \[3/4]

GrantPermissionCredentialResponse gpudb::GPUdb::grantPermissionCredential ( const std::string & name,
const std::string & permission,
const std::string & credentialName,
const std::map\< std::string, std::string > & options ) const

Grants a credential-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] credentialName Name of the credential on which the permission will be granted. Must be an existing credential, or an empty string to grant access on all credentials.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermissionCredential() \[4/4]

GrantPermissionCredentialResponse & gpudb::GPUdb::grantPermissionCredential ( const std::string & name,
const std::string & permission,
const std::string & credentialName,
const std::map\< std::string, std::string > & options,
GrantPermissionCredentialResponse & response\_ ) const

Grants a credential-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] credentialName Name of the credential on which the permission will be granted. Must be an existing credential, or an empty string to grant access on all credentials.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionDatasource() \[1/4]

GrantPermissionDatasourceResponse gpudb::GPUdb::grantPermissionDatasource ( const GrantPermissionDatasourceRequest & request\_ ) const

Grants a data source permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermissionDatasource() \[2/4]

GrantPermissionDatasourceResponse & gpudb::GPUdb::grantPermissionDatasource ( const GrantPermissionDatasourceRequest & request\_,
GrantPermissionDatasourceResponse & response\_ ) const

Grants a data source permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionDatasource() \[3/4]

GrantPermissionDatasourceResponse gpudb::GPUdb::grantPermissionDatasource ( const std::string & name,
const std::string & permission,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options ) const

Grants a data source permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] datasourceName Name of the data source on which the permission will be granted. Must be an existing data source, or an empty string to grant permission on all data sources.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermissionDatasource() \[4/4]

GrantPermissionDatasourceResponse & gpudb::GPUdb::grantPermissionDatasource ( const std::string & name,
const std::string & permission,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options,
GrantPermissionDatasourceResponse & response\_ ) const

Grants a data source permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] datasourceName Name of the data source on which the permission will be granted. Must be an existing data source, or an empty string to grant permission on all data sources.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionDirectory() \[1/4]

GrantPermissionDirectoryResponse gpudb::GPUdb::grantPermissionDirectory ( const GrantPermissionDirectoryRequest & request\_ ) const

Grants a KiFS directory-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermissionDirectory() \[2/4]

GrantPermissionDirectoryResponse & gpudb::GPUdb::grantPermissionDirectory ( const GrantPermissionDirectoryRequest & request\_,
GrantPermissionDirectoryResponse & response\_ ) const

Grants a KiFS directory-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionDirectory() \[3/4]

GrantPermissionDirectoryResponse gpudb::GPUdb::grantPermissionDirectory ( const std::string & name,
const std::string & permission,
const std::string & directoryName,
const std::map\< std::string, std::string > & options ) const

Grants a KiFS directory-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] directoryName Name of the KiFS directory to which the permission grants access. An empty directory name grants access to all KiFS directories.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermissionDirectory() \[4/4]

GrantPermissionDirectoryResponse & gpudb::GPUdb::grantPermissionDirectory ( const std::string & name,
const std::string & permission,
const std::string & directoryName,
const std::map\< std::string, std::string > & options,
GrantPermissionDirectoryResponse & response\_ ) const

Grants a KiFS directory-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] directoryName Name of the KiFS directory to which the permission grants access. An empty directory name grants access to all KiFS directories.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionProc() \[1/4]

GrantPermissionProcResponse gpudb::GPUdb::grantPermissionProc ( const GrantPermissionProcRequest & request\_ ) const

Grants a proc-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermissionProc() \[2/4]

GrantPermissionProcResponse & gpudb::GPUdb::grantPermissionProc ( const GrantPermissionProcRequest & request\_,
GrantPermissionProcResponse & response\_ ) const

Grants a proc-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionProc() \[3/4]

GrantPermissionProcResponse gpudb::GPUdb::grantPermissionProc ( const std::string & name,
const std::string & permission,
const std::string & procName,
const std::map\< std::string, std::string > & options ) const

Grants a proc-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] procName Name of the proc to which the permission grants access. Must be an existing proc, or an empty string to grant access to all procs.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermissionProc() \[4/4]

GrantPermissionProcResponse & gpudb::GPUdb::grantPermissionProc ( const std::string & name,
const std::string & permission,
const std::string & procName,
const std::map\< std::string, std::string > & options,
GrantPermissionProcResponse & response\_ ) const

Grants a proc-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] procName Name of the proc to which the permission grants access. Must be an existing proc, or an empty string to grant access to all procs.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionSystem() \[1/4]

GrantPermissionSystemResponse gpudb::GPUdb::grantPermissionSystem ( const GrantPermissionSystemRequest & request\_ ) const

Grants a system-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermissionSystem() \[2/4]

GrantPermissionSystemResponse & gpudb::GPUdb::grantPermissionSystem ( const GrantPermissionSystemRequest & request\_,
GrantPermissionSystemResponse & response\_ ) const

Grants a system-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionSystem() \[3/4]

GrantPermissionSystemResponse gpudb::GPUdb::grantPermissionSystem ( const std::string & name,
const std::string & permission,
const std::map\< std::string, std::string > & options ) const

Grants a system-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermissionSystem() \[4/4]

GrantPermissionSystemResponse & gpudb::GPUdb::grantPermissionSystem ( const std::string & name,
const std::string & permission,
const std::map\< std::string, std::string > & options,
GrantPermissionSystemResponse & response\_ ) const

Grants a system-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionTable() \[1/4]

GrantPermissionTableResponse gpudb::GPUdb::grantPermissionTable ( const GrantPermissionTableRequest & request\_ ) const

Grants a table-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantPermissionTable() \[2/4]

GrantPermissionTableResponse & gpudb::GPUdb::grantPermissionTable ( const GrantPermissionTableRequest & request\_,
GrantPermissionTableResponse & response\_ ) const

Grants a table-level permission to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantPermissionTable() \[3/4]

GrantPermissionTableResponse gpudb::GPUdb::grantPermissionTable ( const std::string & name,
const std::string & permission,
const std::string & tableName,
const std::string & filterExpression,
const std::map\< std::string, std::string > & options ) const

Grants a table-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] tableName Name of the table to which the permission grants access, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table, view, or schema. If a schema, the permission also applies to tables and views in the schema.
\[in] filterExpression Optional filter expression to apply to this grant. Only rows that match the filter will be affected. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantPermissionTable() \[4/4]

GrantPermissionTableResponse & gpudb::GPUdb::grantPermissionTable ( const std::string & name,
const std::string & permission,
const std::string & tableName,
const std::string & filterExpression,
const std::map\< std::string, std::string > & options,
GrantPermissionTableResponse & response\_ ) const

Grants a table-level permission to a user or role.

Parameters
\[in] name Name of the user or role to which the permission will be granted. Must be an existing user or role.
\[in] permission Permission to grant to the user or role. Supported values:
\[in] tableName Name of the table to which the permission grants access, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table, view, or schema. If a schema, the permission also applies to tables and views in the schema.
\[in] filterExpression Optional filter expression to apply to this grant. Only rows that match the filter will be affected. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantRole() \[1/4]

GrantRoleResponse gpudb::GPUdb::grantRole ( const GrantRoleRequest & request\_ ) const

Grants membership in a role to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ grantRole() \[2/4]

GrantRoleResponse & gpudb::GPUdb::grantRole ( const GrantRoleRequest & request\_,
GrantRoleResponse & response\_ ) const

Grants membership in a role to a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ grantRole() \[3/4]

GrantRoleResponse gpudb::GPUdb::grantRole ( const std::string & role,
const std::string & member,
const std::map\< std::string, std::string > & options ) const

Grants membership in a role to a user or role.

Parameters
\[in] role Name of the role in which membership will be granted. Must be an existing role.
\[in] member Name of the user or role that will be granted membership in role. Must be an existing user or role.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ grantRole() \[4/4]

GrantRoleResponse & gpudb::GPUdb::grantRole ( const std::string & role,
const std::string & member,
const std::map\< std::string, std::string > & options,
GrantRoleResponse & response\_ ) const

Grants membership in a role to a user or role.

Parameters
\[in] role Name of the role in which membership will be granted. Must be an existing role.
\[in] member Name of the user or role that will be granted membership in role. Must be an existing user or role.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasPermission() \[1/4]

HasPermissionResponse gpudb::GPUdb::hasPermission ( const HasPermissionRequest & request\_ ) const

Checks if the specified user has the specified permission on the specified object.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ hasPermission() \[2/4]

HasPermissionResponse & gpudb::GPUdb::hasPermission ( const HasPermissionRequest & request\_,
HasPermissionResponse & response\_ ) const

Checks if the specified user has the specified permission on the specified object.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasPermission() \[3/4]

HasPermissionResponse gpudb::GPUdb::hasPermission ( const std::string & principal,
const std::string & object,
const std::string & objectType,
const std::string & permission,
const std::map\< std::string, std::string > & options ) const

Checks if the specified user has the specified permission on the specified object.

Parameters
\[in] principal 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 ''.
\[in] object Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.
\[in] objectType The type of object being checked. Supported values:
\[in] permission Permission to check for. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ hasPermission() \[4/4]

HasPermissionResponse & gpudb::GPUdb::hasPermission ( const std::string & principal,
const std::string & object,
const std::string & objectType,
const std::string & permission,
const std::map\< std::string, std::string > & options,
HasPermissionResponse & response\_ ) const

Checks if the specified user has the specified permission on the specified object.

Parameters
\[in] principal 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 ''.
\[in] object Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.
\[in] objectType The type of object being checked. Supported values:
\[in] permission Permission to check for. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasProc() \[1/4]

HasProcResponse gpudb::GPUdb::hasProc ( const HasProcRequest & request\_ ) const

Checks the existence of a proc with the given name.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ hasProc() \[2/4]

HasProcResponse & gpudb::GPUdb::hasProc ( const HasProcRequest & request\_,
HasProcResponse & response\_ ) const

Checks the existence of a proc with the given name.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasProc() \[3/4]

HasProcResponse gpudb::GPUdb::hasProc ( const std::string & procName,
const std::map\< std::string, std::string > & options ) const

Checks the existence of a proc with the given name.

Parameters
\[in] procName Name of the proc to check for existence.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ hasProc() \[4/4]

HasProcResponse & gpudb::GPUdb::hasProc ( const std::string & procName,
const std::map\< std::string, std::string > & options,
HasProcResponse & response\_ ) const

Checks the existence of a proc with the given name.

Parameters
\[in] procName Name of the proc to check for existence.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasRole() \[1/4]

HasRoleResponse gpudb::GPUdb::hasRole ( const HasRoleRequest & request\_ ) const

Checks if the specified user has the specified role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ hasRole() \[2/4]

HasRoleResponse & gpudb::GPUdb::hasRole ( const HasRoleRequest & request\_,
HasRoleResponse & response\_ ) const

Checks if the specified user has the specified role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasRole() \[3/4]

HasRoleResponse gpudb::GPUdb::hasRole ( const std::string & principal,
const std::string & role,
const std::map\< std::string, std::string > & options ) const

Checks if the specified user has the specified role.

Parameters
\[in] principal Name of the user for which role membership is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.
\[in] role Name of role to check for membership.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ hasRole() \[4/4]

HasRoleResponse & gpudb::GPUdb::hasRole ( const std::string & principal,
const std::string & role,
const std::map\< std::string, std::string > & options,
HasRoleResponse & response\_ ) const

Checks if the specified user has the specified role.

Parameters
\[in] principal Name of the user for which role membership is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.
\[in] role Name of role to check for membership.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasSchema() \[1/4]

HasSchemaResponse gpudb::GPUdb::hasSchema ( const HasSchemaRequest & request\_ ) const

Checks for the existence of a schema with the given name.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ hasSchema() \[2/4]

HasSchemaResponse & gpudb::GPUdb::hasSchema ( const HasSchemaRequest & request\_,
HasSchemaResponse & response\_ ) const

Checks for the existence of a schema with the given name.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasSchema() \[3/4]

HasSchemaResponse gpudb::GPUdb::hasSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options ) const

Checks for the existence of a schema with the given name.

Parameters
\[in] schemaName Name of the schema to check for existence, in root, using standard name resolution rules.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ hasSchema() \[4/4]

HasSchemaResponse & gpudb::GPUdb::hasSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options,
HasSchemaResponse & response\_ ) const

Checks for the existence of a schema with the given name.

Parameters
\[in] schemaName Name of the schema to check for existence, in root, using standard name resolution rules.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasTable() \[1/4]

HasTableResponse gpudb::GPUdb::hasTable ( const HasTableRequest & request\_ ) const

Checks for the existence of a table with the given name.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ hasTable() \[2/4]

HasTableResponse & gpudb::GPUdb::hasTable ( const HasTableRequest & request\_,
HasTableResponse & response\_ ) const

Checks for the existence of a table with the given name.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasTable() \[3/4]

HasTableResponse gpudb::GPUdb::hasTable ( const std::string & tableName,
const std::map\< std::string, std::string > & options ) const

Checks for the existence of a table with the given name.

Parameters
\[in] tableName Name of the table to check for existence, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ hasTable() \[4/4]

HasTableResponse & gpudb::GPUdb::hasTable ( const std::string & tableName,
const std::map\< std::string, std::string > & options,
HasTableResponse & response\_ ) const

Checks for the existence of a table with the given name.

Parameters
\[in] tableName Name of the table to check for existence, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasType() \[1/4]

HasTypeResponse gpudb::GPUdb::hasType ( const HasTypeRequest & request\_ ) const

Check for the existence of a type.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ hasType() \[2/4]

HasTypeResponse & gpudb::GPUdb::hasType ( const HasTypeRequest & request\_,
HasTypeResponse & response\_ ) const

Check for the existence of a type.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ hasType() \[3/4]

HasTypeResponse gpudb::GPUdb::hasType ( const std::string & typeId,
const std::map\< std::string, std::string > & options ) const

Check for the existence of a type.

Parameters
\[in] typeId Id of the type returned in response to createType request.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ hasType() \[4/4]

HasTypeResponse & gpudb::GPUdb::hasType ( const std::string & typeId,
const std::map\< std::string, std::string > & options,
HasTypeResponse & response\_ ) const

Check for the existence of a type.

Parameters
\[in] typeId Id of the type returned in response to createType request.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecords() \[1/4]

template\
InsertRecordsResponse gpudb::GPUdb::insertRecords ( const InsertRecordsRequest\< TRequest > & request\_ ) const
inline

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.

The options parameter can be used to customize this function's behavior.

The update\_on\_existing\_pk option specifies the record collision policy for inserting into a table with a primary key, but is ignored if no primary key exists.

The return\_record\_ids option indicates that the database should return the unique identifiers of inserted records.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 36741 of file GPUdb.hpp.

◆ insertRecords() \[2/4]

template\
InsertRecordsResponse & gpudb::GPUdb::insertRecords ( const InsertRecordsRequest\< TRequest > & request\_,
InsertRecordsResponse & response\_ ) const
inline

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.

The options parameter can be used to customize this function's behavior.

The update\_on\_existing\_pk option specifies the record collision policy for inserting into a table with a primary key, but is ignored if no primary key exists.

The return\_record\_ids option indicates that the database should return the unique identifiers of inserted records.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 36782 of file GPUdb.hpp.

◆ insertRecords() \[3/4]

template\
InsertRecordsResponse gpudb::GPUdb::insertRecords ( const std::string & tableName,
const std::vector\< TRequest > & data,
const std::map\< std::string, std::string > & options ) const
inline

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.

The options parameter can be used to customize this function's behavior.

The update\_on\_existing\_pk option specifies the record collision policy for inserting into a table with a primary key, but is ignored if no primary key exists.

The return\_record\_ids option indicates that the database should return the unique identifiers of inserted records.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] tableName Name of table to which the records are to be added, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] data 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 listEncoding is json.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 37082 of file GPUdb.hpp.

◆ insertRecords() \[4/4]

template\
InsertRecordsResponse & gpudb::GPUdb::insertRecords ( const std::string & tableName,
const std::vector\< TRequest > & data,
const std::map\< std::string, std::string > & options,
InsertRecordsResponse & response\_ ) const
inline

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.

The options parameter can be used to customize this function's behavior.

The update\_on\_existing\_pk option specifies the record collision policy for inserting into a table with a primary key, but is ignored if no primary key exists.

The return\_record\_ids option indicates that the database should return the unique identifiers of inserted records.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] tableName Name of table to which the records are to be added, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table.
\[in] data 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 listEncoding is json.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 37386 of file GPUdb.hpp.

◆ insertRecordsFromFiles() \[1/4]

InsertRecordsFromFilesResponse gpudb::GPUdb::insertRecordsFromFiles ( const InsertRecordsFromFilesRequest & request\_ ) const

Reads from one or more files and inserts the data into a new or existing table.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

For delimited text files, there are two loading schemes: positional and name-based. The name-based loading scheme is enabled when the file has a header present and text\_has\_header is set to true. In this scheme, the source file(s) field names must match the target table's column names exactly; however, the source file can have more fields than the target table has columns. If error\_handling is set to permissive, the source file can have fewer fields than the target table has columns. If the name-based loading scheme is being used, names matching the file header's names may be provided to columns\_to\_load instead of numbers, but ranges are not supported.

Note: Due to data being loaded in parallel, there is no insertion order guaranteed. For tables with primary keys, in the case of a primary key collision, this means it is indeterminate which record will be inserted first and remain, while the rest of the colliding key records are discarded.

Returns once all files are processed.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ insertRecordsFromFiles() \[2/4]

InsertRecordsFromFilesResponse & gpudb::GPUdb::insertRecordsFromFiles ( const InsertRecordsFromFilesRequest & request\_,
InsertRecordsFromFilesResponse & response\_ ) const

Reads from one or more files and inserts the data into a new or existing table.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

For delimited text files, there are two loading schemes: positional and name-based. The name-based loading scheme is enabled when the file has a header present and text\_has\_header is set to true. In this scheme, the source file(s) field names must match the target table's column names exactly; however, the source file can have more fields than the target table has columns. If error\_handling is set to permissive, the source file can have fewer fields than the target table has columns. If the name-based loading scheme is being used, names matching the file header's names may be provided to columns\_to\_load instead of numbers, but ranges are not supported.

Note: Due to data being loaded in parallel, there is no insertion order guaranteed. For tables with primary keys, in the case of a primary key collision, this means it is indeterminate which record will be inserted first and remain, while the rest of the colliding key records are discarded.

Returns once all files are processed.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsFromFiles() \[3/4]

InsertRecordsFromFilesResponse gpudb::GPUdb::insertRecordsFromFiles ( const std::string & tableName,
const std::vector\< std::string > & filepaths,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options ) const

Reads from one or more files and inserts the data into a new or existing table.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

For delimited text files, there are two loading schemes: positional and name-based. The name-based loading scheme is enabled when the file has a header present and text\_has\_header is set to true. In this scheme, the source file(s) field names must match the target table's column names exactly; however, the source file can have more fields than the target table has columns. If error\_handling is set to permissive, the source file can have fewer fields than the target table has columns. If the name-based loading scheme is being used, names matching the file header's names may be provided to columns\_to\_load instead of numbers, but ranges are not supported.

Note: Due to data being loaded in parallel, there is no insertion order guaranteed. For tables with primary keys, in the case of a primary key collision, this means it is indeterminate which record will be inserted first and remain, while the rest of the colliding key records are discarded.

Returns once all files are processed.

Parameters
\[in] tableName Name of the table into which the data will be inserted, in \[schema\_name.]table\_name format, using standard name resolution rules. If the table does not exist, the table will be created using either an existing type\_id or the type inferred from the file, and the new table name will have to meet standard table naming criteria.
\[in] filepaths A list of file paths from which data will be sourced; For paths in KiFS, use the URI prefix of kifs\:// followed by the path to a file or directory. File matching by prefix is supported, e.g. kifs\://dir/file would match dir/file\_1 and dir/file\_2. When prefix matching is used, the path must start with a full, valid KiFS directory name. If an external data source is specified in datasource\_name, these file paths must resolve to accessible files at that data source location. Prefix matching is supported. If the data source is hdfs, prefixes must be aligned with directories, i.e. partial file names will not match. If no data source is specified, the files are assumed to be local to the database and must all be accessible to the gpudb user, residing on the path (or relative to the path) specified by the external files directory in the Kinetica configuration file. Wildcards (\*) can be used to specify a group of files. Prefix matching is supported, the prefixes must be aligned with directories. If the first path ends in .tsv, the text delimiter will be defaulted to a tab character. If the first path ends in .psv, the text delimiter will be defaulted to a pipe character (|).
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options from createTable, allowing the structure of the table to be defined independently of the data source, when creating the target table. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ insertRecordsFromFiles() \[4/4]

InsertRecordsFromFilesResponse & gpudb::GPUdb::insertRecordsFromFiles ( const std::string & tableName,
const std::vector\< std::string > & filepaths,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options,
InsertRecordsFromFilesResponse & response\_ ) const

Reads from one or more files and inserts the data into a new or existing table.

The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.

For delimited text files, there are two loading schemes: positional and name-based. The name-based loading scheme is enabled when the file has a header present and text\_has\_header is set to true. In this scheme, the source file(s) field names must match the target table's column names exactly; however, the source file can have more fields than the target table has columns. If error\_handling is set to permissive, the source file can have fewer fields than the target table has columns. If the name-based loading scheme is being used, names matching the file header's names may be provided to columns\_to\_load instead of numbers, but ranges are not supported.

Note: Due to data being loaded in parallel, there is no insertion order guaranteed. For tables with primary keys, in the case of a primary key collision, this means it is indeterminate which record will be inserted first and remain, while the rest of the colliding key records are discarded.

Returns once all files are processed.

Parameters
\[in] tableName Name of the table into which the data will be inserted, in \[schema\_name.]table\_name format, using standard name resolution rules. If the table does not exist, the table will be created using either an existing type\_id or the type inferred from the file, and the new table name will have to meet standard table naming criteria.
\[in] filepaths A list of file paths from which data will be sourced; For paths in KiFS, use the URI prefix of kifs\:// followed by the path to a file or directory. File matching by prefix is supported, e.g. kifs\://dir/file would match dir/file\_1 and dir/file\_2. When prefix matching is used, the path must start with a full, valid KiFS directory name. If an external data source is specified in datasource\_name, these file paths must resolve to accessible files at that data source location. Prefix matching is supported. If the data source is hdfs, prefixes must be aligned with directories, i.e. partial file names will not match. If no data source is specified, the files are assumed to be local to the database and must all be accessible to the gpudb user, residing on the path (or relative to the path) specified by the external files directory in the Kinetica configuration file. Wildcards (\*) can be used to specify a group of files. Prefix matching is supported, the prefixes must be aligned with directories. If the first path ends in .tsv, the text delimiter will be defaulted to a tab character. If the first path ends in .psv, the text delimiter will be defaulted to a pipe character (|).
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options from createTable, allowing the structure of the table to be defined independently of the data source, when creating the target table. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsFromPayload() \[1/4]

InsertRecordsFromPayloadResponse gpudb::GPUdb::insertRecordsFromPayload ( const InsertRecordsFromPayloadRequest & request\_ ) const

Reads from the given text-based or binary payload and inserts the data into a new or existing table.

The table will be created if it doesn't already exist.

Returns once all records are processed.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ insertRecordsFromPayload() \[2/4]

InsertRecordsFromPayloadResponse & gpudb::GPUdb::insertRecordsFromPayload ( const InsertRecordsFromPayloadRequest & request\_,
InsertRecordsFromPayloadResponse & response\_ ) const

Reads from the given text-based or binary payload and inserts the data into a new or existing table.

The table will be created if it doesn't already exist.

Returns once all records are processed.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsFromPayload() \[3/4]

InsertRecordsFromPayloadResponse gpudb::GPUdb::insertRecordsFromPayload ( const std::string & tableName,
const std::string & dataText,
const std::vector\< uint8\_t > & dataBytes,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options ) const

Reads from the given text-based or binary payload and inserts the data into a new or existing table.

The table will be created if it doesn't already exist.

Returns once all records are processed.

Parameters
\[in] tableName Name of the table into which the data will be inserted, in \[schema\_name.]table\_name format, using standard name resolution rules. If the table does not exist, the table will be created using either an existing type\_id or the type inferred from the payload, and the new table name will have to meet standard table naming criteria.
\[in] dataText Records formatted as delimited text.
\[in] dataBytes Records formatted as binary data.
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options used when creating the target table. Includes type to use. The other options match those in createTable. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ insertRecordsFromPayload() \[4/4]

InsertRecordsFromPayloadResponse & gpudb::GPUdb::insertRecordsFromPayload ( const std::string & tableName,
const std::string & dataText,
const std::vector\< uint8\_t > & dataBytes,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options,
InsertRecordsFromPayloadResponse & response\_ ) const

Reads from the given text-based or binary payload and inserts the data into a new or existing table.

The table will be created if it doesn't already exist.

Returns once all records are processed.

Parameters
\[in] tableName Name of the table into which the data will be inserted, in \[schema\_name.]table\_name format, using standard name resolution rules. If the table does not exist, the table will be created using either an existing type\_id or the type inferred from the payload, and the new table name will have to meet standard table naming criteria.
\[in] dataText Records formatted as delimited text.
\[in] dataBytes Records formatted as binary data.
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options used when creating the target table. Includes type to use. The other options match those in createTable. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsFromQuery() \[1/4]

InsertRecordsFromQueryResponse gpudb::GPUdb::insertRecordsFromQuery ( const InsertRecordsFromQueryRequest & request\_ ) const

Computes remote query result and inserts the result data into a new or existing table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ insertRecordsFromQuery() \[2/4]

InsertRecordsFromQueryResponse & gpudb::GPUdb::insertRecordsFromQuery ( const InsertRecordsFromQueryRequest & request\_,
InsertRecordsFromQueryResponse & response\_ ) const

Computes remote query result and inserts the result data into a new or existing table.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsFromQuery() \[3/4]

InsertRecordsFromQueryResponse gpudb::GPUdb::insertRecordsFromQuery ( const std::string & tableName,
const std::string & remoteQuery,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options ) const

Computes remote query result and inserts the result data into a new or existing table.

Parameters
\[in] tableName Name of the table into which the data will be inserted, in \[schema\_name.]table\_name format, using standard name resolution rules. If the table does not exist, the table will be created using either an existing type\_id or the type inferred from the remote query, and the new table name will have to meet standard table naming criteria.
\[in] remoteQuery Query for which result data needs to be imported.
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options used when creating the target table. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ insertRecordsFromQuery() \[4/4]

InsertRecordsFromQueryResponse & gpudb::GPUdb::insertRecordsFromQuery ( const std::string & tableName,
const std::string & remoteQuery,
const std::map\< std::string, std::map\< std::string, std::string > > & modifyColumns,
const std::map\< std::string, std::string > & createTableOptions,
const std::map\< std::string, std::string > & options,
InsertRecordsFromQueryResponse & response\_ ) const

Computes remote query result and inserts the result data into a new or existing table.

Parameters
\[in] tableName Name of the table into which the data will be inserted, in \[schema\_name.]table\_name format, using standard name resolution rules. If the table does not exist, the table will be created using either an existing type\_id or the type inferred from the remote query, and the new table name will have to meet standard table naming criteria.
\[in] remoteQuery Query for which result data needs to be imported.
\[in] modifyColumns Not implemented yet. The default value is an empty map.
\[in] createTableOptions Options used when creating the target table. The default value is an empty map.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsRandom() \[1/4]

InsertRecordsRandomResponse gpudb::GPUdb::insertRecordsRandom ( const InsertRecordsRandomRequest & request\_ ) const

Generates a specified number of random records and adds them to the given table.

There is an optional parameter that allows the user to customize the ranges of the column values. It also allows the user to specify linear profiles for some or all columns in which case linear values are generated rather than random ones. Only individual tables are supported for this operation.

This operation is synchronous, meaning that a response will not be returned until all random records are fully available.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ insertRecordsRandom() \[2/4]

InsertRecordsRandomResponse & gpudb::GPUdb::insertRecordsRandom ( const InsertRecordsRandomRequest & request\_,
InsertRecordsRandomResponse & response\_ ) const

Generates a specified number of random records and adds them to the given table.

There is an optional parameter that allows the user to customize the ranges of the column values. It also allows the user to specify linear profiles for some or all columns in which case linear values are generated rather than random ones. Only individual tables are supported for this operation.

This operation is synchronous, meaning that a response will not be returned until all random records are fully available.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsRandom() \[3/4]

InsertRecordsRandomResponse gpudb::GPUdb::insertRecordsRandom ( const std::string & tableName,
const int64\_t count,
const std::map\< std::string, std::map\< std::string, double > > & options ) const

Generates a specified number of random records and adds them to the given table.

There is an optional parameter that allows the user to customize the ranges of the column values. It also allows the user to specify linear profiles for some or all columns in which case linear values are generated rather than random ones. Only individual tables are supported for this operation.

This operation is synchronous, meaning that a response will not be returned until all random records are fully available.

Parameters
\[in] tableName Table to which random records will be added, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table, not a view.
\[in] count Number of records to generate.
\[in] options Optional parameter to pass in specifications for the randomness of the values. This map is different from the options parameter of most other endpoints in that it is a map of string to map of string to doubles, while most others are maps of string to string. In this map, the top level keys represent which column's parameters are being specified, while the internal keys represents which parameter is being specified. These parameters take on different meanings depending on the type of the column.
  • insert\_records\_random\_seed: If provided, the internal random number generator will be initialized with the given value. The minimum is 0. This allows for the same set of random numbers to be generated across invocation of this endpoint in case the user wants to repeat the test. Since options, is a map of maps, we need an internal map to provide the seed value. For example, to pass 100 as the seed value through this parameter, you need something equivalent to: 'options' = 'seed': 'value': 100 .
  • insert\_records\_random\_all: This key indicates that the specifications relayed in the internal map are to be applied to all columns of the records.
    • insert\_records\_random\_min: For numerical columns, the minimum of the generated values is set to this value. Default is -99999. For point, shape, and track columns, min for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are -180.0 and -90.0. For the 'TIMESTAMP' column, the default minimum corresponds to Jan 1, 2010. For string columns, the minimum length of the randomly generated strings is set to this value (default is 0). If both minimum and maximum are provided, minimum must be less than or equal to max. If the min is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_max: For numerical columns, the maximum of the generated values is set to this value. Default is 99999. For point, shape, and track columns, max for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are 180.0 and 90.0. For string columns, the maximum length of the randomly generated strings. If both minimum and maximum are provided, max must be greater than or equal to min. If the max is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_interval: If specified, generate values for all columns evenly spaced with the given interval value. If a max value is specified for a given column the data is randomly generated between min and max and decimated down to the interval. If no max is provided the data is linearly generated starting at the minimum value (instead of generating random data). For non-decimated string-type columns the interval value is ignored. Instead the values are generated following the pattern: 'attrname\_creationIndex#', i.e. the column name suffixed with an underscore and a running counter (starting at 0). For string types with limited size (e.g. char4) the prefix is dropped. No nulls will be generated for nullable columns.
    • insert\_records\_random\_null\_percentage: If specified, then generate the given percentage of the count as nulls for all nullable columns. This option will be ignored for non-nullable columns. The value must be within the range \[0, 1.0]. The default value is 5% (0.05).
    • insert\_records\_random\_cardinality: If specified, limit the randomly generated values to a fixed set. Not allowed on a column with interval specified, and is not applicable to WKT or Track-specific columns. The value must be greater than
      1. This option is disabled by default.
  • insert\_records\_random\_attr\_name: Use the desired column name in place of attr\_name, and set the following parameters for the column specified. This overrides any parameter set by all.
    • insert\_records\_random\_min: For numerical columns, the minimum of the generated values is set to this value. Default is -99999. For point, shape, and track columns, min for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are -180.0 and -90.0. For the 'TIMESTAMP' column, the default minimum corresponds to Jan 1, 2010. For string columns, the minimum length of the randomly generated strings is set to this value (default is 0). If both minimum and maximum are provided, minimum must be less than or equal to max. If the min is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_max: For numerical columns, the maximum of the generated values is set to this value. Default is 99999. For point, shape, and track columns, max for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are 180.0 and 90.0. For string columns, the maximum length of the randomly generated strings. If both minimum and maximum are provided, max must be greater than or equal to min. If the max is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_interval: If specified, generate values for all columns evenly spaced with the given interval value. If a max value is specified for a given column the data is randomly generated between min and max and decimated down to the interval. If no max is provided the data is linearly generated starting at the minimum value (instead of generating random data). For non-decimated string-type columns the interval value is ignored. Instead the values are generated following the pattern: 'attrname\_creationIndex#', i.e. the column name suffixed with an underscore and a running counter (starting at 0). For string types with limited size (e.g. char4) the prefix is dropped. No nulls will be generated for nullable columns.
    • insert\_records\_random\_null\_percentage: If specified and if this column is nullable, then generate the given percentage of the count as nulls. This option will result in an error if the column is not nullable. The value must be within the range \[0, 1.0]. The default value is 5% (0.05).
    • insert\_records\_random\_cardinality: If specified, limit the randomly generated values to a fixed set. Not allowed on a column with interval specified, and is not applicable to WKT or Track-specific columns. The value must be greater than
      1. This option is disabled by default.
  • insert\_records\_random\_track\_length: This key-map pair is only valid for track data sets (an error is thrown otherwise). No nulls would be generated for nullable columns.
    • insert\_records\_random\_min: Minimum possible length for generated series; default is 100 records per series. Must be an integral value within the range \[1, 500]. If both min and max are specified, min must be less than or equal to max. The minimum allowed value is 1. The maximum allowed value is 500.
    • insert\_records\_random\_max: Maximum possible length for generated series; default is 500 records per series. Must be an integral value within the range \[1, 500]. If both min and max are specified, max must be greater than or equal to min. The minimum allowed value is 1. The maximum allowed value is 500.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ insertRecordsRandom() \[4/4]

InsertRecordsRandomResponse & gpudb::GPUdb::insertRecordsRandom ( const std::string & tableName,
const int64\_t count,
const std::map\< std::string, std::map\< std::string, double > > & options,
InsertRecordsRandomResponse & response\_ ) const

Generates a specified number of random records and adds them to the given table.

There is an optional parameter that allows the user to customize the ranges of the column values. It also allows the user to specify linear profiles for some or all columns in which case linear values are generated rather than random ones. Only individual tables are supported for this operation.

This operation is synchronous, meaning that a response will not be returned until all random records are fully available.

Parameters
\[in] tableName Table to which random records will be added, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table, not a view.
\[in] count Number of records to generate.
\[in] options Optional parameter to pass in specifications for the randomness of the values. This map is different from the options parameter of most other endpoints in that it is a map of string to map of string to doubles, while most others are maps of string to string. In this map, the top level keys represent which column's parameters are being specified, while the internal keys represents which parameter is being specified. These parameters take on different meanings depending on the type of the column.
  • insert\_records\_random\_seed: If provided, the internal random number generator will be initialized with the given value. The minimum is 0. This allows for the same set of random numbers to be generated across invocation of this endpoint in case the user wants to repeat the test. Since options, is a map of maps, we need an internal map to provide the seed value. For example, to pass 100 as the seed value through this parameter, you need something equivalent to: 'options' = 'seed': 'value': 100 .
  • insert\_records\_random\_all: This key indicates that the specifications relayed in the internal map are to be applied to all columns of the records.
    • insert\_records\_random\_min: For numerical columns, the minimum of the generated values is set to this value. Default is -99999. For point, shape, and track columns, min for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are -180.0 and -90.0. For the 'TIMESTAMP' column, the default minimum corresponds to Jan 1, 2010. For string columns, the minimum length of the randomly generated strings is set to this value (default is 0). If both minimum and maximum are provided, minimum must be less than or equal to max. If the min is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_max: For numerical columns, the maximum of the generated values is set to this value. Default is 99999. For point, shape, and track columns, max for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are 180.0 and 90.0. For string columns, the maximum length of the randomly generated strings. If both minimum and maximum are provided, max must be greater than or equal to min. If the max is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_interval: If specified, generate values for all columns evenly spaced with the given interval value. If a max value is specified for a given column the data is randomly generated between min and max and decimated down to the interval. If no max is provided the data is linearly generated starting at the minimum value (instead of generating random data). For non-decimated string-type columns the interval value is ignored. Instead the values are generated following the pattern: 'attrname\_creationIndex#', i.e. the column name suffixed with an underscore and a running counter (starting at 0). For string types with limited size (e.g. char4) the prefix is dropped. No nulls will be generated for nullable columns.
    • insert\_records\_random\_null\_percentage: If specified, then generate the given percentage of the count as nulls for all nullable columns. This option will be ignored for non-nullable columns. The value must be within the range \[0, 1.0]. The default value is 5% (0.05).
    • insert\_records\_random\_cardinality: If specified, limit the randomly generated values to a fixed set. Not allowed on a column with interval specified, and is not applicable to WKT or Track-specific columns. The value must be greater than
      1. This option is disabled by default.
  • insert\_records\_random\_attr\_name: Use the desired column name in place of attr\_name, and set the following parameters for the column specified. This overrides any parameter set by all.
    • insert\_records\_random\_min: For numerical columns, the minimum of the generated values is set to this value. Default is -99999. For point, shape, and track columns, min for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are -180.0 and -90.0. For the 'TIMESTAMP' column, the default minimum corresponds to Jan 1, 2010. For string columns, the minimum length of the randomly generated strings is set to this value (default is 0). If both minimum and maximum are provided, minimum must be less than or equal to max. If the min is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_max: For numerical columns, the maximum of the generated values is set to this value. Default is 99999. For point, shape, and track columns, max for numeric 'x' and 'y' columns needs to be within \[-180, 180] and \[-90, 90], respectively. The default minimum possible values for these columns in such cases are 180.0 and 90.0. For string columns, the maximum length of the randomly generated strings. If both minimum and maximum are provided, max must be greater than or equal to min. If the max is outside the accepted ranges for strings columns and 'x' and 'y' columns for point/shape/track, then those parameters will not be set; however, an error will not be thrown in such a case. It is the responsibility of the user to use the all parameter judiciously.
    • insert\_records\_random\_interval: If specified, generate values for all columns evenly spaced with the given interval value. If a max value is specified for a given column the data is randomly generated between min and max and decimated down to the interval. If no max is provided the data is linearly generated starting at the minimum value (instead of generating random data). For non-decimated string-type columns the interval value is ignored. Instead the values are generated following the pattern: 'attrname\_creationIndex#', i.e. the column name suffixed with an underscore and a running counter (starting at 0). For string types with limited size (e.g. char4) the prefix is dropped. No nulls will be generated for nullable columns.
    • insert\_records\_random\_null\_percentage: If specified and if this column is nullable, then generate the given percentage of the count as nulls. This option will result in an error if the column is not nullable. The value must be within the range \[0, 1.0]. The default value is 5% (0.05).
    • insert\_records\_random\_cardinality: If specified, limit the randomly generated values to a fixed set. Not allowed on a column with interval specified, and is not applicable to WKT or Track-specific columns. The value must be greater than
      1. This option is disabled by default.
  • insert\_records\_random\_track\_length: This key-map pair is only valid for track data sets (an error is thrown otherwise). No nulls would be generated for nullable columns.
    • insert\_records\_random\_min: Minimum possible length for generated series; default is 100 records per series. Must be an integral value within the range \[1, 500]. If both min and max are specified, min must be less than or equal to max. The minimum allowed value is 1. The maximum allowed value is 500.
    • insert\_records\_random\_max: Maximum possible length for generated series; default is 500 records per series. Must be an integral value within the range \[1, 500]. If both min and max are specified, max must be greater than or equal to min. The minimum allowed value is 1. The maximum allowed value is 500.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertRecordsRaw() \[1/2]

InsertRecordsResponse gpudb::GPUdb::insertRecordsRaw ( const RawInsertRecordsRequest & request\_ ) const

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.

The options parameter can be used to customize this function's behavior.

The update\_on\_existing\_pk option specifies the record collision policy for inserting into a table with a primary key, but is ignored if no primary key exists.

The return\_record\_ids option indicates that the database should return the unique identifiers of inserted records.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ insertRecordsRaw() \[2/2]

InsertRecordsResponse & gpudb::GPUdb::insertRecordsRaw ( const RawInsertRecordsRequest & request\_,
InsertRecordsResponse & response\_ ) const

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.

The options parameter can be used to customize this function's behavior.

The update\_on\_existing\_pk option specifies the record collision policy for inserting into a table with a primary key, but is ignored if no primary key exists.

The return\_record\_ids option indicates that the database should return the unique identifiers of inserted records.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertSymbol() \[1/4]

InsertSymbolResponse gpudb::GPUdb::insertSymbol ( const InsertSymbolRequest & request\_ ) const

Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.

Users must provide the symbol identifier (string), a format (currently supported: 'svg' and 'svg\_path'), the data for the symbol, and any additional optional parameter (e.g. color). To have a symbol used for rendering create a table with a string column named 'SYMBOLCODE' (along with 'x' or 'y' for example). Then when the table is rendered (via WMS) if the 'dosymbology' parameter is 'true' then the value of the 'SYMBOLCODE' column is used to pick the symbol displayed for each point.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ insertSymbol() \[2/4]

InsertSymbolResponse & gpudb::GPUdb::insertSymbol ( const InsertSymbolRequest & request\_,
InsertSymbolResponse & response\_ ) const

Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.

Users must provide the symbol identifier (string), a format (currently supported: 'svg' and 'svg\_path'), the data for the symbol, and any additional optional parameter (e.g. color). To have a symbol used for rendering create a table with a string column named 'SYMBOLCODE' (along with 'x' or 'y' for example). Then when the table is rendered (via WMS) if the 'dosymbology' parameter is 'true' then the value of the 'SYMBOLCODE' column is used to pick the symbol displayed for each point.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ insertSymbol() \[3/4]

InsertSymbolResponse gpudb::GPUdb::insertSymbol ( const std::string & symbolId,
const std::string & symbolFormat,
const std::vector\< uint8\_t > & symbolData,
const std::map\< std::string, std::string > & options ) const

Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.

Users must provide the symbol identifier (string), a format (currently supported: 'svg' and 'svg\_path'), the data for the symbol, and any additional optional parameter (e.g. color). To have a symbol used for rendering create a table with a string column named 'SYMBOLCODE' (along with 'x' or 'y' for example). Then when the table is rendered (via WMS) if the 'dosymbology' parameter is 'true' then the value of the 'SYMBOLCODE' column is used to pick the symbol displayed for each point.

Parameters
\[in] symbolId The id of the symbol being added. This is the same id that should be in the 'SYMBOLCODE' column for objects using this symbol.
\[in] symbolFormat Specifies the symbol format. Must be either 'svg' or 'svg\_path'. Supported values:
\[in] symbolData The actual symbol data. If symbolFormat is 'svg' then this should be the raw bytes representing an svg file. If symbolFormat is svg path then this should be an svg path string; for example: 'M25.979,12.896,5.979,12.896,5.979,19.562,25.979,19.562z'.
\[in] options Optional parameters.
  • insert\_symbol\_color: If symbolFormat is 'svg' this is ignored. If symbolFormat is 'svg\_path' then this option specifies the color (in RRGGBB hex format) of the path. For example, to have the path rendered in red, used 'FF0000'. If 'color' is not provided then '00FF00' (i.e. green) is used by default.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ insertSymbol() \[4/4]

InsertSymbolResponse & gpudb::GPUdb::insertSymbol ( const std::string & symbolId,
const std::string & symbolFormat,
const std::vector\< uint8\_t > & symbolData,
const std::map\< std::string, std::string > & options,
InsertSymbolResponse & response\_ ) const

Adds a symbol or icon (i.e. an image) to represent data points when data is rendered visually.

Users must provide the symbol identifier (string), a format (currently supported: 'svg' and 'svg\_path'), the data for the symbol, and any additional optional parameter (e.g. color). To have a symbol used for rendering create a table with a string column named 'SYMBOLCODE' (along with 'x' or 'y' for example). Then when the table is rendered (via WMS) if the 'dosymbology' parameter is 'true' then the value of the 'SYMBOLCODE' column is used to pick the symbol displayed for each point.

Parameters
\[in] symbolId The id of the symbol being added. This is the same id that should be in the 'SYMBOLCODE' column for objects using this symbol.
\[in] symbolFormat Specifies the symbol format. Must be either 'svg' or 'svg\_path'. Supported values:
\[in] symbolData The actual symbol data. If symbolFormat is 'svg' then this should be the raw bytes representing an svg file. If symbolFormat is svg path then this should be an svg path string; for example: 'M25.979,12.896,5.979,12.896,5.979,19.562,25.979,19.562z'.
\[in] options Optional parameters.
  • insert\_symbol\_color: If symbolFormat is 'svg' this is ignored. If symbolFormat is 'svg\_path' then this option specifies the color (in RRGGBB hex format) of the path. For example, to have the path rendered in red, used 'FF0000'. If 'color' is not provided then '00FF00' (i.e. green) is used by default.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ killProc() \[1/4]

KillProcResponse gpudb::GPUdb::killProc ( const KillProcRequest & request\_ ) const

Kills a running proc instance.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ killProc() \[2/4]

KillProcResponse & gpudb::GPUdb::killProc ( const KillProcRequest & request\_,
KillProcResponse & response\_ ) const

Kills a running proc instance.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ killProc() \[3/4]

KillProcResponse gpudb::GPUdb::killProc ( const std::string & runId,
const std::map\< std::string, std::string > & options ) const

Kills a running proc instance.

Parameters
\[in] runId The run ID of a running proc instance. If a proc with a matching run ID is not found or the proc instance has already completed, no procs will be killed. If not specified, all running proc instances will be killed. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ killProc() \[4/4]

KillProcResponse & gpudb::GPUdb::killProc ( const std::string & runId,
const std::map\< std::string, std::string > & options,
KillProcResponse & response\_ ) const

Kills a running proc instance.

Parameters
\[in] runId The run ID of a running proc instance. If a proc with a matching run ID is not found or the proc instance has already completed, no procs will be killed. If not specified, all running proc instances will be killed. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ lockTable() \[1/4]

LockTableResponse gpudb::GPUdb::lockTable ( const LockTableRequest & request\_ ) const

Manages global access to a table's data.

By default a table has a lockType of read\_write, indicating all operations are permitted. A user may request a read\_only or a write\_only lock, after which only read or write operations, respectively, are permitted on the table until the lock is removed. When lockType is no\_access then no operations are permitted on the table. The lock status can be queried by setting lockType to status.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ lockTable() \[2/4]

LockTableResponse & gpudb::GPUdb::lockTable ( const LockTableRequest & request\_,
LockTableResponse & response\_ ) const

Manages global access to a table's data.

By default a table has a lockType of read\_write, indicating all operations are permitted. A user may request a read\_only or a write\_only lock, after which only read or write operations, respectively, are permitted on the table until the lock is removed. When lockType is no\_access then no operations are permitted on the table. The lock status can be queried by setting lockType to status.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ lockTable() \[3/4]

LockTableResponse gpudb::GPUdb::lockTable ( const std::string & tableName,
const std::string & lockType,
const std::map\< std::string, std::string > & options ) const

Manages global access to a table's data.

By default a table has a lockType of read\_write, indicating all operations are permitted. A user may request a read\_only or a write\_only lock, after which only read or write operations, respectively, are permitted on the table until the lock is removed. When lockType is no\_access then no operations are permitted on the table. The lock status can be queried by setting lockType to status.

Parameters
\[in] tableName Name of the table to be locked, in \[schema\_name.]table\_name format, using standard name resolution rules. It must be a currently existing table or view.
\[in] lockType The type of lock being applied to the table. Setting it to status will return the current lock status of the table without changing it. Supported values: The default value is lock\_table\_status.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ lockTable() \[4/4]

LockTableResponse & gpudb::GPUdb::lockTable ( const std::string & tableName,
const std::string & lockType,
const std::map\< std::string, std::string > & options,
LockTableResponse & response\_ ) const

Manages global access to a table's data.

By default a table has a lockType of read\_write, indicating all operations are permitted. A user may request a read\_only or a write\_only lock, after which only read or write operations, respectively, are permitted on the table until the lock is removed. When lockType is no\_access then no operations are permitted on the table. The lock status can be queried by setting lockType to status.

Parameters
\[in] tableName Name of the table to be locked, in \[schema\_name.]table\_name format, using standard name resolution rules. It must be a currently existing table or view.
\[in] lockType The type of lock being applied to the table. Setting it to status will return the current lock status of the table without changing it. Supported values: The default value is lock\_table\_status.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ matchGraph() \[1/4]

MatchGraphResponse gpudb::GPUdb::matchGraph ( const MatchGraphRequest & request\_ ) const

Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ matchGraph() \[2/4]

MatchGraphResponse & gpudb::GPUdb::matchGraph ( const MatchGraphRequest & request\_,
MatchGraphResponse & response\_ ) const

Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ matchGraph() \[3/4]

MatchGraphResponse gpudb::GPUdb::matchGraph ( const std::string & graphName,
const std::vector\< std::string > & samplePoints,
const std::string & solveMethod,
const std::string & solutionTable,
const std::map\< std::string, std::string > & options ) const

Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] graphName Name of the underlying geospatial graph resource to match to using samplePoints.
\[in] samplePoints Sample points used to match to an underlying geospatial graph. Sample points must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with: existing column names, e.g., 'table.column AS SAMPLE\_X'; expressions, e.g., 'ST\_MAKEPOINT(table.x, table.y) AS SAMPLE\_WKTPOINT'; or constant values, e.g., '1, 2, 10 AS SAMPLE\_TRIPID'.
\[in] solveMethod The type of solver to use for graph matching. Supported values: The default value is match\_graph\_markov\_chain.
\[in] solutionTable The name of the table used to store the results, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. This table contains a track of geospatial points for the matched portion of the graph, a track ID, and a score value. Also outputs a details table containing a trip ID (that matches the track ID), the latitude/longitude pair, the timestamp the point was recorded at, and an edge ID corresponding to the matched road segment. Must not be an existing table of the same name. The default value is ''.
\[in] options Additional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ matchGraph() \[4/4]

MatchGraphResponse & gpudb::GPUdb::matchGraph ( const std::string & graphName,
const std::vector\< std::string > & samplePoints,
const std::string & solveMethod,
const std::string & solutionTable,
const std::map\< std::string, std::string > & options,
MatchGraphResponse & response\_ ) const

Matches a directed route implied by a given set of latitude/longitude points to an existing underlying road network graph using a given solution type.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] graphName Name of the underlying geospatial graph resource to match to using samplePoints.
\[in] samplePoints Sample points used to match to an underlying geospatial graph. Sample points must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with: existing column names, e.g., 'table.column AS SAMPLE\_X'; expressions, e.g., 'ST\_MAKEPOINT(table.x, table.y) AS SAMPLE\_WKTPOINT'; or constant values, e.g., '1, 2, 10 AS SAMPLE\_TRIPID'.
\[in] solveMethod The type of solver to use for graph matching. Supported values: The default value is match\_graph\_markov\_chain.
\[in] solutionTable The name of the table used to store the results, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. This table contains a track of geospatial points for the matched portion of the graph, a track ID, and a score value. Also outputs a details table containing a trip ID (that matches the track ID), the latitude/longitude pair, the timestamp the point was recorded at, and an edge ID corresponding to the matched road segment. Must not be an existing table of the same name. The default value is ''.
\[in] options Additional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ modifyGraph() \[1/4]

ModifyGraphResponse gpudb::GPUdb::modifyGraph ( const ModifyGraphRequest & request\_ ) const

Update an existing graph network using given nodes, edges, weights, restrictions, and options.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, and Graph REST Tutorial before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ modifyGraph() \[2/4]

ModifyGraphResponse & gpudb::GPUdb::modifyGraph ( const ModifyGraphRequest & request\_,
ModifyGraphResponse & response\_ ) const

Update an existing graph network using given nodes, edges, weights, restrictions, and options.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, and Graph REST Tutorial before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ modifyGraph() \[3/4]

ModifyGraphResponse gpudb::GPUdb::modifyGraph ( const std::string & graphName,
const std::vector\< std::string > & nodes,
const std::vector\< std::string > & edges,
const std::vector\< std::string > & weights,
const std::vector\< std::string > & restrictions,
const std::map\< std::string, std::string > & options ) const

Update an existing graph network using given nodes, edges, weights, restrictions, and options.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, and Graph REST Tutorial before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to modify.
\[in] nodes Nodes with which to update existing nodes in graph specified by graphName. Review Nodes for more information. Nodes must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS NODE\_ID', expressions, e.g., 'ST\_MAKEPOINT(column1, column2) AS NODE\_WKTPOINT', or raw values, e.g., '9, 10, 11 AS NODE\_ID'. If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] edges Edges with which to update existing edges in graph specified by graphName. Review Edges for more information. Edges must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS EDGE\_ID', expressions, e.g., 'SUBSTR(column, 1, 6) AS EDGE\_NODE1\_NAME', or raw values, e.g., "'family', 'coworker' AS EDGE\_LABEL". If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] weights Weights with which to update existing weights in graph specified by graphName. Review Weights for more information. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED', or raw values, e.g., '4, 15 AS WEIGHTS\_VALUESPECIFIED'. If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] restrictions Restrictions with which to update existing restrictions in graph specified by graphName. Review Restrictions for more information. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or raw values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ modifyGraph() \[4/4]

ModifyGraphResponse & gpudb::GPUdb::modifyGraph ( const std::string & graphName,
const std::vector\< std::string > & nodes,
const std::vector\< std::string > & edges,
const std::vector\< std::string > & weights,
const std::vector\< std::string > & restrictions,
const std::map\< std::string, std::string > & options,
ModifyGraphResponse & response\_ ) const

Update an existing graph network using given nodes, edges, weights, restrictions, and options.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, and Graph REST Tutorial before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to modify.
\[in] nodes Nodes with which to update existing nodes in graph specified by graphName. Review Nodes for more information. Nodes must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS NODE\_ID', expressions, e.g., 'ST\_MAKEPOINT(column1, column2) AS NODE\_WKTPOINT', or raw values, e.g., '9, 10, 11 AS NODE\_ID'. If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] edges Edges with which to update existing edges in graph specified by graphName. Review Edges for more information. Edges must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS EDGE\_ID', expressions, e.g., 'SUBSTR(column, 1, 6) AS EDGE\_NODE1\_NAME', or raw values, e.g., "'family', 'coworker' AS EDGE\_LABEL". If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] weights Weights with which to update existing weights in graph specified by graphName. Review Weights for more information. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED', or raw values, e.g., '4, 15 AS WEIGHTS\_VALUESPECIFIED'. If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] restrictions Restrictions with which to update existing restrictions in graph specified by graphName. Review Restrictions for more information. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or raw values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using raw values in an identifier combination, the number of values specified must match across the combination. Identifier combination(s) do not have to match the method used to create the graph, e.g., if column names were specified to create the graph, expressions or raw values could also be used to modify the graph.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ queryGraph() \[1/4]

QueryGraphResponse gpudb::GPUdb::queryGraph ( const QueryGraphRequest & request\_ ) const

Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.

To determine the node(s) or edge(s) adjacent to a value from a given column, provide a list of values to queries. This field can be populated with column values from any table as long as the type is supported by the given identifier. See Query Identifiers for more information.

To return the adjacency list in the response, leave adjacencyTable empty.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ queryGraph() \[2/4]

QueryGraphResponse & gpudb::GPUdb::queryGraph ( const QueryGraphRequest & request\_,
QueryGraphResponse & response\_ ) const

Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.

To determine the node(s) or edge(s) adjacent to a value from a given column, provide a list of values to queries. This field can be populated with column values from any table as long as the type is supported by the given identifier. See Query Identifiers for more information.

To return the adjacency list in the response, leave adjacencyTable empty.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ queryGraph() \[3/4]

QueryGraphResponse gpudb::GPUdb::queryGraph ( const std::string & graphName,
const std::vector\< std::string > & queries,
const std::vector\< std::string > & restrictions,
const std::string & adjacencyTable,
const int32\_t rings,
const std::map\< std::string, std::string > & options ) const

Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.

To determine the node(s) or edge(s) adjacent to a value from a given column, provide a list of values to queries. This field can be populated with column values from any table as long as the type is supported by the given identifier. See Query Identifiers for more information.

To return the adjacency list in the response, leave adjacencyTable empty.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to query.
\[in] queries Nodes or edges to be queried specified using query identifiers. Identifiers can be used with existing column names, e.g., 'table.column AS QUERY\_NODE\_ID', raw values, e.g., '0, 2 AS QUERY\_NODE\_ID', or expressions, e.g., 'ST\_MAKEPOINT(table.x, table.y) AS QUERY\_NODE\_WKTPOINT'. Multiple values can be provided as long as the same identifier is used for all values. If using raw values in an identifier combination, the number of values specified must match across the combination.
\[in] restrictions Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or raw values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using raw values in an identifier combination, the number of values specified must match across the combination. The default value is an empty vector.
\[in] adjacencyTable Name of the table to store the resulting adjacencies, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. If left blank, the query results are instead returned in the response. If the 'QUERY\_TARGET\_NODE\_LABEL' query identifier is used in queries, then two additional columns will be available: 'PATH\_ID' and 'RING\_ID'. See Using Labels for more information. The default value is ''.
\[in] rings Sets the number of rings around the node to query for adjacency, with '1' being the edges directly attached to the queried node. Also known as number of hops. For example, if it is set to '2', the edge(s) directly attached to the queried node(s) will be returned; in addition, the edge(s) attached to the node(s) attached to the initial ring of edge(s) surrounding the queried node(s) will be returned. If the value is set to '0', any nodes that meet the criteria in queries and restrictions will be returned. This parameter is only applicable when querying nodes. The default value is 1.
\[in] options Additional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ queryGraph() \[4/4]

QueryGraphResponse & gpudb::GPUdb::queryGraph ( const std::string & graphName,
const std::vector\< std::string > & queries,
const std::vector\< std::string > & restrictions,
const std::string & adjacencyTable,
const int32\_t rings,
const std::map\< std::string, std::string > & options,
QueryGraphResponse & response\_ ) const

Employs a topological query on a graph generated a-priori by createGraph and returns a list of adjacent edge(s) or node(s), also known as an adjacency list, depending on what's been provided to the endpoint; providing edges will return nodes and providing nodes will return edges.

To determine the node(s) or edge(s) adjacent to a value from a given column, provide a list of values to queries. This field can be populated with column values from any table as long as the type is supported by the given identifier. See Query Identifiers for more information.

To return the adjacency list in the response, leave adjacencyTable empty.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /match/graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to query.
\[in] queries Nodes or edges to be queried specified using query identifiers. Identifiers can be used with existing column names, e.g., 'table.column AS QUERY\_NODE\_ID', raw values, e.g., '0, 2 AS QUERY\_NODE\_ID', or expressions, e.g., 'ST\_MAKEPOINT(table.x, table.y) AS QUERY\_NODE\_WKTPOINT'. Multiple values can be provided as long as the same identifier is used for all values. If using raw values in an identifier combination, the number of values specified must match across the combination.
\[in] restrictions Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or raw values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using raw values in an identifier combination, the number of values specified must match across the combination. The default value is an empty vector.
\[in] adjacencyTable Name of the table to store the resulting adjacencies, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. If left blank, the query results are instead returned in the response. If the 'QUERY\_TARGET\_NODE\_LABEL' query identifier is used in queries, then two additional columns will be available: 'PATH\_ID' and 'RING\_ID'. See Using Labels for more information. The default value is ''.
\[in] rings Sets the number of rings around the node to query for adjacency, with '1' being the edges directly attached to the queried node. Also known as number of hops. For example, if it is set to '2', the edge(s) directly attached to the queried node(s) will be returned; in addition, the edge(s) attached to the node(s) attached to the initial ring of edge(s) surrounding the queried node(s) will be returned. If the value is set to '0', any nodes that meet the criteria in queries and restrictions will be returned. This parameter is only applicable when querying nodes. The default value is 1.
\[in] options Additional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ removeHttpHeader()

void gpudb::GPUdb::removeHttpHeader ( const std::string & header )

Removes the given HTTP header from the map of additional HTTP headers to send to GPUdb with each request.

The user is not allowed to remove the following headers:

  • Authorization
  • Content-type
  • Content-length
  • ha\_sync\_mode
Parameters
header the HTTP header

See getHttpHeaders() See addHttpHeader(const std::string&, const std::string&)

◆ repartitionGraph() \[1/4]

RepartitionGraphResponse gpudb::GPUdb::repartitionGraph ( const RepartitionGraphRequest & request\_ ) const

Rebalances an existing partitioned graph.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ repartitionGraph() \[2/4]

RepartitionGraphResponse & gpudb::GPUdb::repartitionGraph ( const RepartitionGraphRequest & request\_,
RepartitionGraphResponse & response\_ ) const

Rebalances an existing partitioned graph.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ repartitionGraph() \[3/4]

RepartitionGraphResponse gpudb::GPUdb::repartitionGraph ( const std::string & graphName,
const std::map\< std::string, std::string > & options ) const

Rebalances an existing partitioned graph.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to rebalance.
\[in] options Optional parameters.
  • repartition\_graph\_new\_graph\_name: If a non-empty value is specified, the original graph will be kept (non-default behavior) and a new balanced graph will be created under this given name. When the value is empty (default), the generated 'balanced' graph will replace the original 'unbalanced' graph under the same graph name. The default value is ''.
  • repartition\_graph\_source\_node: The distributed shortest path solve is run from this source node to all the nodes in the graph to create balanced partitions using the iso-distance levels of the solution. The source node is selected by the rebalance algorithm automatically (default case when the value is an empty string). Otherwise, the user specified node is used as the source. The default value is ''.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ repartitionGraph() \[4/4]

RepartitionGraphResponse & gpudb::GPUdb::repartitionGraph ( const std::string & graphName,
const std::map\< std::string, std::string > & options,
RepartitionGraphResponse & response\_ ) const

Rebalances an existing partitioned graph.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to rebalance.
\[in] options Optional parameters.
  • repartition\_graph\_new\_graph\_name: If a non-empty value is specified, the original graph will be kept (non-default behavior) and a new balanced graph will be created under this given name. When the value is empty (default), the generated 'balanced' graph will replace the original 'unbalanced' graph under the same graph name. The default value is ''.
  • repartition\_graph\_source\_node: The distributed shortest path solve is run from this source node to all the nodes in the graph to create balanced partitions using the iso-distance levels of the solution. The source node is selected by the rebalance algorithm automatically (default case when the value is an empty string). Otherwise, the user specified node is used as the source. The default value is ''.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ restoreBackup() \[1/4]

RestoreBackupResponse gpudb::GPUdb::restoreBackup ( const RestoreBackupRequest & request\_ ) const

Restores database objects from a backup accessible via the data source specified by datasourceName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ restoreBackup() \[2/4]

RestoreBackupResponse & gpudb::GPUdb::restoreBackup ( const RestoreBackupRequest & request\_,
RestoreBackupResponse & response\_ ) const

Restores database objects from a backup accessible via the data source specified by datasourceName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ restoreBackup() \[3/4]

RestoreBackupResponse gpudb::GPUdb::restoreBackup ( const std::string & backupName,
const std::map\< std::string, std::string > & restoreObjectsMap,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options ) const

Restores database objects from a backup accessible via the data source specified by datasourceName.

Parameters
\[in] backupName Name of the backup to restore from, which must refer to an existing backup. The default value is ''.
\[in] restoreObjectsMap Map of database objects to be restored from the backup.
\[in] datasourceName Data source through which the backup will be restored.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ restoreBackup() \[4/4]

RestoreBackupResponse & gpudb::GPUdb::restoreBackup ( const std::string & backupName,
const std::map\< std::string, std::string > & restoreObjectsMap,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options,
RestoreBackupResponse & response\_ ) const

Restores database objects from a backup accessible via the data source specified by datasourceName.

Parameters
\[in] backupName Name of the backup to restore from, which must refer to an existing backup. The default value is ''.
\[in] restoreObjectsMap Map of database objects to be restored from the backup.
\[in] datasourceName Data source through which the backup will be restored.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermission() \[1/4]

RevokePermissionResponse gpudb::GPUdb::revokePermission ( const RevokePermissionRequest & request\_ ) const

Revoke user or role the specified permission on the specified object.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermission() \[2/4]

RevokePermissionResponse & gpudb::GPUdb::revokePermission ( const RevokePermissionRequest & request\_,
RevokePermissionResponse & response\_ ) const

Revoke user or role the specified permission on the specified object.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermission() \[3/4]

RevokePermissionResponse gpudb::GPUdb::revokePermission ( const std::string & principal,
const std::string & object,
const std::string & objectType,
const std::string & permission,
const std::map\< std::string, std::string > & options ) const

Revoke user or role the specified permission on the specified object.

Parameters
\[in] principal Name of the user or role for which the permission is being revoked. Must be an existing user or role. The default value is ''.
\[in] object Name of object permission is being revoked from. It is recommended to use a fully-qualified name when possible.
\[in] objectType The type of object being revoked. Supported values:
\[in] permission Permission being revoked. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermission() \[4/4]

RevokePermissionResponse & gpudb::GPUdb::revokePermission ( const std::string & principal,
const std::string & object,
const std::string & objectType,
const std::string & permission,
const std::map\< std::string, std::string > & options,
RevokePermissionResponse & response\_ ) const

Revoke user or role the specified permission on the specified object.

Parameters
\[in] principal Name of the user or role for which the permission is being revoked. Must be an existing user or role. The default value is ''.
\[in] object Name of object permission is being revoked from. It is recommended to use a fully-qualified name when possible.
\[in] objectType The type of object being revoked. Supported values:
\[in] permission Permission being revoked. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionCredential() \[1/4]

RevokePermissionCredentialResponse gpudb::GPUdb::revokePermissionCredential ( const RevokePermissionCredentialRequest & request\_ ) const

Revokes a credential-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermissionCredential() \[2/4]

RevokePermissionCredentialResponse & gpudb::GPUdb::revokePermissionCredential ( const RevokePermissionCredentialRequest & request\_,
RevokePermissionCredentialResponse & response\_ ) const

Revokes a credential-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionCredential() \[3/4]

RevokePermissionCredentialResponse gpudb::GPUdb::revokePermissionCredential ( const std::string & name,
const std::string & permission,
const std::string & credentialName,
const std::map\< std::string, std::string > & options ) const

Revokes a credential-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] credentialName Name of the credential on which the permission will be revoked. Must be an existing credential, or an empty string to revoke access on all credentials.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermissionCredential() \[4/4]

RevokePermissionCredentialResponse & gpudb::GPUdb::revokePermissionCredential ( const std::string & name,
const std::string & permission,
const std::string & credentialName,
const std::map\< std::string, std::string > & options,
RevokePermissionCredentialResponse & response\_ ) const

Revokes a credential-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] credentialName Name of the credential on which the permission will be revoked. Must be an existing credential, or an empty string to revoke access on all credentials.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionDatasource() \[1/4]

RevokePermissionDatasourceResponse gpudb::GPUdb::revokePermissionDatasource ( const RevokePermissionDatasourceRequest & request\_ ) const

Revokes a data source permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermissionDatasource() \[2/4]

RevokePermissionDatasourceResponse & gpudb::GPUdb::revokePermissionDatasource ( const RevokePermissionDatasourceRequest & request\_,
RevokePermissionDatasourceResponse & response\_ ) const

Revokes a data source permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionDatasource() \[3/4]

RevokePermissionDatasourceResponse gpudb::GPUdb::revokePermissionDatasource ( const std::string & name,
const std::string & permission,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options ) const

Revokes a data source permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] datasourceName Name of the data source on which the permission will be revoked. Must be an existing data source, or an empty string to revoke permission from all data sources.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermissionDatasource() \[4/4]

RevokePermissionDatasourceResponse & gpudb::GPUdb::revokePermissionDatasource ( const std::string & name,
const std::string & permission,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options,
RevokePermissionDatasourceResponse & response\_ ) const

Revokes a data source permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] datasourceName Name of the data source on which the permission will be revoked. Must be an existing data source, or an empty string to revoke permission from all data sources.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionDirectory() \[1/4]

RevokePermissionDirectoryResponse gpudb::GPUdb::revokePermissionDirectory ( const RevokePermissionDirectoryRequest & request\_ ) const

Revokes a KiFS directory-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermissionDirectory() \[2/4]

RevokePermissionDirectoryResponse & gpudb::GPUdb::revokePermissionDirectory ( const RevokePermissionDirectoryRequest & request\_,
RevokePermissionDirectoryResponse & response\_ ) const

Revokes a KiFS directory-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionDirectory() \[3/4]

RevokePermissionDirectoryResponse gpudb::GPUdb::revokePermissionDirectory ( const std::string & name,
const std::string & permission,
const std::string & directoryName,
const std::map\< std::string, std::string > & options ) const

Revokes a KiFS directory-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] directoryName Name of the KiFS directory to which the permission revokes access.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermissionDirectory() \[4/4]

RevokePermissionDirectoryResponse & gpudb::GPUdb::revokePermissionDirectory ( const std::string & name,
const std::string & permission,
const std::string & directoryName,
const std::map\< std::string, std::string > & options,
RevokePermissionDirectoryResponse & response\_ ) const

Revokes a KiFS directory-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] directoryName Name of the KiFS directory to which the permission revokes access.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionProc() \[1/4]

RevokePermissionProcResponse gpudb::GPUdb::revokePermissionProc ( const RevokePermissionProcRequest & request\_ ) const

Revokes a proc-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermissionProc() \[2/4]

RevokePermissionProcResponse & gpudb::GPUdb::revokePermissionProc ( const RevokePermissionProcRequest & request\_,
RevokePermissionProcResponse & response\_ ) const

Revokes a proc-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionProc() \[3/4]

RevokePermissionProcResponse gpudb::GPUdb::revokePermissionProc ( const std::string & name,
const std::string & permission,
const std::string & procName,
const std::map\< std::string, std::string > & options ) const

Revokes a proc-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] procName Name of the proc to which the permission grants access. Must be an existing proc, or an empty string if the permission grants access to all procs.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermissionProc() \[4/4]

RevokePermissionProcResponse & gpudb::GPUdb::revokePermissionProc ( const std::string & name,
const std::string & permission,
const std::string & procName,
const std::map\< std::string, std::string > & options,
RevokePermissionProcResponse & response\_ ) const

Revokes a proc-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] procName Name of the proc to which the permission grants access. Must be an existing proc, or an empty string if the permission grants access to all procs.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionSystem() \[1/4]

RevokePermissionSystemResponse gpudb::GPUdb::revokePermissionSystem ( const RevokePermissionSystemRequest & request\_ ) const

Revokes a system-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermissionSystem() \[2/4]

RevokePermissionSystemResponse & gpudb::GPUdb::revokePermissionSystem ( const RevokePermissionSystemRequest & request\_,
RevokePermissionSystemResponse & response\_ ) const

Revokes a system-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionSystem() \[3/4]

RevokePermissionSystemResponse gpudb::GPUdb::revokePermissionSystem ( const std::string & name,
const std::string & permission,
const std::map\< std::string, std::string > & options ) const

Revokes a system-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermissionSystem() \[4/4]

RevokePermissionSystemResponse & gpudb::GPUdb::revokePermissionSystem ( const std::string & name,
const std::string & permission,
const std::map\< std::string, std::string > & options,
RevokePermissionSystemResponse & response\_ ) const

Revokes a system-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionTable() \[1/4]

RevokePermissionTableResponse gpudb::GPUdb::revokePermissionTable ( const RevokePermissionTableRequest & request\_ ) const

Revokes a table-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokePermissionTable() \[2/4]

RevokePermissionTableResponse & gpudb::GPUdb::revokePermissionTable ( const RevokePermissionTableRequest & request\_,
RevokePermissionTableResponse & response\_ ) const

Revokes a table-level permission from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokePermissionTable() \[3/4]

RevokePermissionTableResponse gpudb::GPUdb::revokePermissionTable ( const std::string & name,
const std::string & permission,
const std::string & tableName,
const std::map\< std::string, std::string > & options ) const

Revokes a table-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] tableName Name of the table to which the permission grants access, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table, view or schema.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokePermissionTable() \[4/4]

RevokePermissionTableResponse & gpudb::GPUdb::revokePermissionTable ( const std::string & name,
const std::string & permission,
const std::string & tableName,
const std::map\< std::string, std::string > & options,
RevokePermissionTableResponse & response\_ ) const

Revokes a table-level permission from a user or role.

Parameters
\[in] name Name of the user or role from which the permission will be revoked. Must be an existing user or role.
\[in] permission Permission to revoke from the user or role. Supported values:
\[in] tableName Name of the table to which the permission grants access, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be an existing table, view or schema.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokeRole() \[1/4]

RevokeRoleResponse gpudb::GPUdb::revokeRole ( const RevokeRoleRequest & request\_ ) const

Revokes membership in a role from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ revokeRole() \[2/4]

RevokeRoleResponse & gpudb::GPUdb::revokeRole ( const RevokeRoleRequest & request\_,
RevokeRoleResponse & response\_ ) const

Revokes membership in a role from a user or role.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ revokeRole() \[3/4]

RevokeRoleResponse gpudb::GPUdb::revokeRole ( const std::string & role,
const std::string & member,
const std::map\< std::string, std::string > & options ) const

Revokes membership in a role from a user or role.

Parameters
\[in] role Name of the role in which membership will be revoked. Must be an existing role.
\[in] member Name of the user or role that will be revoked membership in role. Must be an existing user or role.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ revokeRole() \[4/4]

RevokeRoleResponse & gpudb::GPUdb::revokeRole ( const std::string & role,
const std::string & member,
const std::map\< std::string, std::string > & options,
RevokeRoleResponse & response\_ ) const

Revokes membership in a role from a user or role.

Parameters
\[in] role Name of the role in which membership will be revoked. Must be an existing role.
\[in] member Name of the user or role that will be revoked membership in role. Must be an existing user or role.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ sanitizeUserAgentToken()

static std::string gpudb::GPUdb::sanitizeUserAgentToken ( const std::string & value )
static

Sanitizes a token for use in the User-Agent header by replacing disallowed characters with underscores.

◆ setHASyncMode()

void gpudb::GPUdb::setHASyncMode ( HASynchronicityMode mode )

Sets the high-availability synchronization mode which will override the default mode.

◆ showBackup() \[1/4]

ShowBackupResponse gpudb::GPUdb::showBackup ( const ShowBackupRequest & request\_ ) const

Shows information about one or more backups accessible via the data source specified by datasourceName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showBackup() \[2/4]

ShowBackupResponse & gpudb::GPUdb::showBackup ( const ShowBackupRequest & request\_,
ShowBackupResponse & response\_ ) const

Shows information about one or more backups accessible via the data source specified by datasourceName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showBackup() \[3/4]

ShowBackupResponse gpudb::GPUdb::showBackup ( const std::string & backupName,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options ) const

Shows information about one or more backups accessible via the data source specified by datasourceName.

Parameters
\[in] backupName Name of the backup. An empty string or '' will show all existing backups. Any text followed by a '' will show backups whose name starts with that text. The default value is ''.
\[in] datasourceName Data source through which the backup is accessible.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showBackup() \[4/4]

ShowBackupResponse & gpudb::GPUdb::showBackup ( const std::string & backupName,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options,
ShowBackupResponse & response\_ ) const

Shows information about one or more backups accessible via the data source specified by datasourceName.

Parameters
\[in] backupName Name of the backup. An empty string or '' will show all existing backups. Any text followed by a '' will show backups whose name starts with that text. The default value is ''.
\[in] datasourceName Data source through which the backup is accessible.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showCredential() \[1/4]

ShowCredentialResponse gpudb::GPUdb::showCredential ( const ShowCredentialRequest & request\_ ) const

Shows information about a specified credential or all credentials.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showCredential() \[2/4]

ShowCredentialResponse & gpudb::GPUdb::showCredential ( const ShowCredentialRequest & request\_,
ShowCredentialResponse & response\_ ) const

Shows information about a specified credential or all credentials.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showCredential() \[3/4]

ShowCredentialResponse gpudb::GPUdb::showCredential ( const std::string & credentialName,
const std::map\< std::string, std::string > & options ) const

Shows information about a specified credential or all credentials.

Parameters
\[in] credentialName Name of the credential on which to retrieve information. The name must refer to a currently existing credential. If '\*' is specified, information about all credentials will be returned.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showCredential() \[4/4]

ShowCredentialResponse & gpudb::GPUdb::showCredential ( const std::string & credentialName,
const std::map\< std::string, std::string > & options,
ShowCredentialResponse & response\_ ) const

Shows information about a specified credential or all credentials.

Parameters
\[in] credentialName Name of the credential on which to retrieve information. The name must refer to a currently existing credential. If '\*' is specified, information about all credentials will be returned.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showDatasink() \[1/4]

ShowDatasinkResponse gpudb::GPUdb::showDatasink ( const ShowDatasinkRequest & request\_ ) const

Shows information about a specified data sink or all data sinks.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showDatasink() \[2/4]

ShowDatasinkResponse & gpudb::GPUdb::showDatasink ( const ShowDatasinkRequest & request\_,
ShowDatasinkResponse & response\_ ) const

Shows information about a specified data sink or all data sinks.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showDatasink() \[3/4]

ShowDatasinkResponse gpudb::GPUdb::showDatasink ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Shows information about a specified data sink or all data sinks.

Parameters
\[in] name Name of the data sink for which to retrieve information. The name must refer to a currently existing data sink. If '\*' is specified, information about all data sinks will be returned.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showDatasink() \[4/4]

ShowDatasinkResponse & gpudb::GPUdb::showDatasink ( const std::string & name,
const std::map\< std::string, std::string > & options,
ShowDatasinkResponse & response\_ ) const

Shows information about a specified data sink or all data sinks.

Parameters
\[in] name Name of the data sink for which to retrieve information. The name must refer to a currently existing data sink. If '\*' is specified, information about all data sinks will be returned.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showDatasource() \[1/4]

ShowDatasourceResponse gpudb::GPUdb::showDatasource ( const ShowDatasourceRequest & request\_ ) const

Shows information about a specified data source or all data sources.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showDatasource() \[2/4]

ShowDatasourceResponse & gpudb::GPUdb::showDatasource ( const ShowDatasourceRequest & request\_,
ShowDatasourceResponse & response\_ ) const

Shows information about a specified data source or all data sources.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showDatasource() \[3/4]

ShowDatasourceResponse gpudb::GPUdb::showDatasource ( const std::string & name,
const std::map\< std::string, std::string > & options ) const

Shows information about a specified data source or all data sources.

Parameters
\[in] name Name of the data source for which to retrieve information. The name must refer to a currently existing data source. If '\*' is specified, information about all data sources will be returned.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showDatasource() \[4/4]

ShowDatasourceResponse & gpudb::GPUdb::showDatasource ( const std::string & name,
const std::map\< std::string, std::string > & options,
ShowDatasourceResponse & response\_ ) const

Shows information about a specified data source or all data sources.

Parameters
\[in] name Name of the data source for which to retrieve information. The name must refer to a currently existing data source. If '\*' is specified, information about all data sources will be returned.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showDirectories() \[1/4]

ShowDirectoriesResponse gpudb::GPUdb::showDirectories ( const ShowDirectoriesRequest & request\_ ) const

Shows information about directories in KiFS.

Can be used to show a single directory, or all directories.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showDirectories() \[2/4]

ShowDirectoriesResponse & gpudb::GPUdb::showDirectories ( const ShowDirectoriesRequest & request\_,
ShowDirectoriesResponse & response\_ ) const

Shows information about directories in KiFS.

Can be used to show a single directory, or all directories.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showDirectories() \[3/4]

ShowDirectoriesResponse gpudb::GPUdb::showDirectories ( const std::string & directoryName,
const std::map\< std::string, std::string > & options ) const

Shows information about directories in KiFS.

Can be used to show a single directory, or all directories.

Parameters
\[in] directoryName The KiFS directory name to show. If empty, shows all directories. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showDirectories() \[4/4]

ShowDirectoriesResponse & gpudb::GPUdb::showDirectories ( const std::string & directoryName,
const std::map\< std::string, std::string > & options,
ShowDirectoriesResponse & response\_ ) const

Shows information about directories in KiFS.

Can be used to show a single directory, or all directories.

Parameters
\[in] directoryName The KiFS directory name to show. If empty, shows all directories. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showEnvironment() \[1/4]

ShowEnvironmentResponse gpudb::GPUdb::showEnvironment ( const ShowEnvironmentRequest & request\_ ) const

Shows information about a specified user-defined function (UDF) environment or all environments.

Returns detailed information about existing environments.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showEnvironment() \[2/4]

ShowEnvironmentResponse & gpudb::GPUdb::showEnvironment ( const ShowEnvironmentRequest & request\_,
ShowEnvironmentResponse & response\_ ) const

Shows information about a specified user-defined function (UDF) environment or all environments.

Returns detailed information about existing environments.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showEnvironment() \[3/4]

ShowEnvironmentResponse gpudb::GPUdb::showEnvironment ( const std::string & environmentName,
const std::map\< std::string, std::string > & options ) const

Shows information about a specified user-defined function (UDF) environment or all environments.

Returns detailed information about existing environments.

Parameters
\[in] environmentName Name of the environment on which to retrieve information. The name must refer to a currently existing environment. If '\*' or an empty value is specified, information about all environments will be returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showEnvironment() \[4/4]

ShowEnvironmentResponse & gpudb::GPUdb::showEnvironment ( const std::string & environmentName,
const std::map\< std::string, std::string > & options,
ShowEnvironmentResponse & response\_ ) const

Shows information about a specified user-defined function (UDF) environment or all environments.

Returns detailed information about existing environments.

Parameters
\[in] environmentName Name of the environment on which to retrieve information. The name must refer to a currently existing environment. If '\*' or an empty value is specified, information about all environments will be returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showFiles() \[1/4]

ShowFilesResponse gpudb::GPUdb::showFiles ( const ShowFilesRequest & request\_ ) const

Shows information about files in KiFS.

Can be used for individual files, or to show all files in a given directory.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showFiles() \[2/4]

ShowFilesResponse & gpudb::GPUdb::showFiles ( const ShowFilesRequest & request\_,
ShowFilesResponse & response\_ ) const

Shows information about files in KiFS.

Can be used for individual files, or to show all files in a given directory.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showFiles() \[3/4]

ShowFilesResponse gpudb::GPUdb::showFiles ( const std::vector\< std::string > & paths,
const std::map\< std::string, std::string > & options ) const

Shows information about files in KiFS.

Can be used for individual files, or to show all files in a given directory.

Parameters
\[in] paths File paths to show. Each path can be a KiFS directory name, or a full path to a KiFS file. File paths may contain wildcard characters after the KiFS directory delimiter. Accepted wildcard characters are asterisk (\*) to represent any string of zero or more characters, and question mark (?) to indicate a single character.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showFiles() \[4/4]

ShowFilesResponse & gpudb::GPUdb::showFiles ( const std::vector\< std::string > & paths,
const std::map\< std::string, std::string > & options,
ShowFilesResponse & response\_ ) const

Shows information about files in KiFS.

Can be used for individual files, or to show all files in a given directory.

Parameters
\[in] paths File paths to show. Each path can be a KiFS directory name, or a full path to a KiFS file. File paths may contain wildcard characters after the KiFS directory delimiter. Accepted wildcard characters are asterisk (\*) to represent any string of zero or more characters, and question mark (?) to indicate a single character.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showGraph() \[1/4]

ShowGraphResponse gpudb::GPUdb::showGraph ( const ShowGraphRequest & request\_ ) const

Shows information and characteristics of graphs that exist on the graph server.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showGraph() \[2/4]

ShowGraphResponse & gpudb::GPUdb::showGraph ( const ShowGraphRequest & request\_,
ShowGraphResponse & response\_ ) const

Shows information and characteristics of graphs that exist on the graph server.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showGraph() \[3/4]

ShowGraphResponse gpudb::GPUdb::showGraph ( const std::string & graphName,
const std::map\< std::string, std::string > & options ) const

Shows information and characteristics of graphs that exist on the graph server.

Parameters
\[in] graphName Name of the graph on which to retrieve information. If left as the default value, information about all graphs is returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showGraph() \[4/4]

ShowGraphResponse & gpudb::GPUdb::showGraph ( const std::string & graphName,
const std::map\< std::string, std::string > & options,
ShowGraphResponse & response\_ ) const

Shows information and characteristics of graphs that exist on the graph server.

Parameters
\[in] graphName Name of the graph on which to retrieve information. If left as the default value, information about all graphs is returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showProc() \[1/4]

ShowProcResponse gpudb::GPUdb::showProc ( const ShowProcRequest & request\_ ) const

Shows information about a proc.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showProc() \[2/4]

ShowProcResponse & gpudb::GPUdb::showProc ( const ShowProcRequest & request\_,
ShowProcResponse & response\_ ) const

Shows information about a proc.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showProc() \[3/4]

ShowProcResponse gpudb::GPUdb::showProc ( const std::string & procName,
const std::map\< std::string, std::string > & options ) const

Shows information about a proc.

Parameters
\[in] procName Name of the proc to show information about. If specified, must be the name of a currently existing proc. If not specified, information about all procs will be returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showProc() \[4/4]

ShowProcResponse & gpudb::GPUdb::showProc ( const std::string & procName,
const std::map\< std::string, std::string > & options,
ShowProcResponse & response\_ ) const

Shows information about a proc.

Parameters
\[in] procName Name of the proc to show information about. If specified, must be the name of a currently existing proc. If not specified, information about all procs will be returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showProcStatus() \[1/4]

ShowProcStatusResponse gpudb::GPUdb::showProcStatus ( const ShowProcStatusRequest & request\_ ) const

Shows the statuses of running or completed proc instances.

Results are grouped by run ID (as returned from executeProc) and data segment ID (each invocation of the proc command on a data segment is assigned a data segment ID).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showProcStatus() \[2/4]

ShowProcStatusResponse & gpudb::GPUdb::showProcStatus ( const ShowProcStatusRequest & request\_,
ShowProcStatusResponse & response\_ ) const

Shows the statuses of running or completed proc instances.

Results are grouped by run ID (as returned from executeProc) and data segment ID (each invocation of the proc command on a data segment is assigned a data segment ID).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showProcStatus() \[3/4]

ShowProcStatusResponse gpudb::GPUdb::showProcStatus ( const std::string & runId,
const std::map\< std::string, std::string > & options ) const

Shows the statuses of running or completed proc instances.

Results are grouped by run ID (as returned from executeProc) and data segment ID (each invocation of the proc command on a data segment is assigned a data segment ID).

Parameters
\[in] runId The run ID of a specific proc instance for which the status will be returned. If a proc with a matching run ID is not found, the response will be empty. If not specified, the statuses of all executed proc instances will be returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showProcStatus() \[4/4]

ShowProcStatusResponse & gpudb::GPUdb::showProcStatus ( const std::string & runId,
const std::map\< std::string, std::string > & options,
ShowProcStatusResponse & response\_ ) const

Shows the statuses of running or completed proc instances.

Results are grouped by run ID (as returned from executeProc) and data segment ID (each invocation of the proc command on a data segment is assigned a data segment ID).

Parameters
\[in] runId The run ID of a specific proc instance for which the status will be returned. If a proc with a matching run ID is not found, the response will be empty. If not specified, the statuses of all executed proc instances will be returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showResourceGroups() \[1/4]

ShowResourceGroupsResponse gpudb::GPUdb::showResourceGroups ( const ShowResourceGroupsRequest & request\_ ) const

Requests resource group properties.

Returns detailed information about the requested resource groups.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showResourceGroups() \[2/4]

ShowResourceGroupsResponse & gpudb::GPUdb::showResourceGroups ( const ShowResourceGroupsRequest & request\_,
ShowResourceGroupsResponse & response\_ ) const

Requests resource group properties.

Returns detailed information about the requested resource groups.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showResourceGroups() \[3/4]

ShowResourceGroupsResponse gpudb::GPUdb::showResourceGroups ( const std::vector\< std::string > & names,
const std::map\< std::string, std::string > & options ) const

Requests resource group properties.

Returns detailed information about the requested resource groups.

Parameters
\[in] names List of names of groups to be shown. A single entry with an empty string returns all groups.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showResourceGroups() \[4/4]

ShowResourceGroupsResponse & gpudb::GPUdb::showResourceGroups ( const std::vector\< std::string > & names,
const std::map\< std::string, std::string > & options,
ShowResourceGroupsResponse & response\_ ) const

Requests resource group properties.

Returns detailed information about the requested resource groups.

Parameters
\[in] names List of names of groups to be shown. A single entry with an empty string returns all groups.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showResourceObjects() \[1/4]

ShowResourceObjectsResponse gpudb::GPUdb::showResourceObjects ( const ShowResourceObjectsRequest & request\_ ) const

Returns information about the internal sub-components (tiered objects) which use resources of the system.

The request can either return results from actively used objects (default) or it can be used to query the status of the objects of a given list of tables. Returns detailed information about the requested resource objects.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showResourceObjects() \[2/4]

ShowResourceObjectsResponse & gpudb::GPUdb::showResourceObjects ( const ShowResourceObjectsRequest & request\_,
ShowResourceObjectsResponse & response\_ ) const

Returns information about the internal sub-components (tiered objects) which use resources of the system.

The request can either return results from actively used objects (default) or it can be used to query the status of the objects of a given list of tables. Returns detailed information about the requested resource objects.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showResourceObjects() \[3/4]

ShowResourceObjectsResponse gpudb::GPUdb::showResourceObjects ( const std::map\< std::string, std::string > & options ) const

Returns information about the internal sub-components (tiered objects) which use resources of the system.

The request can either return results from actively used objects (default) or it can be used to query the status of the objects of a given list of tables. Returns detailed information about the requested resource objects.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showResourceObjects() \[4/4]

ShowResourceObjectsResponse & gpudb::GPUdb::showResourceObjects ( const std::map\< std::string, std::string > & options,
ShowResourceObjectsResponse & response\_ ) const

Returns information about the internal sub-components (tiered objects) which use resources of the system.

The request can either return results from actively used objects (default) or it can be used to query the status of the objects of a given list of tables. Returns detailed information about the requested resource objects.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showResourceStatistics() \[1/4]

ShowResourceStatisticsResponse gpudb::GPUdb::showResourceStatistics ( const ShowResourceStatisticsRequest & request\_ ) const

Requests various statistics for storage/memory tiers and resource groups.

Returns statistics on a per-rank basis.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showResourceStatistics() \[2/4]

ShowResourceStatisticsResponse & gpudb::GPUdb::showResourceStatistics ( const ShowResourceStatisticsRequest & request\_,
ShowResourceStatisticsResponse & response\_ ) const

Requests various statistics for storage/memory tiers and resource groups.

Returns statistics on a per-rank basis.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showResourceStatistics() \[3/4]

ShowResourceStatisticsResponse gpudb::GPUdb::showResourceStatistics ( const std::map\< std::string, std::string > & options ) const

Requests various statistics for storage/memory tiers and resource groups.

Returns statistics on a per-rank basis.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showResourceStatistics() \[4/4]

ShowResourceStatisticsResponse & gpudb::GPUdb::showResourceStatistics ( const std::map\< std::string, std::string > & options,
ShowResourceStatisticsResponse & response\_ ) const

Requests various statistics for storage/memory tiers and resource groups.

Returns statistics on a per-rank basis.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSchema() \[1/4]

ShowSchemaResponse gpudb::GPUdb::showSchema ( const ShowSchemaRequest & request\_ ) const

Retrieves information about a schema (or all schemas), as specified in schemaName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showSchema() \[2/4]

ShowSchemaResponse & gpudb::GPUdb::showSchema ( const ShowSchemaRequest & request\_,
ShowSchemaResponse & response\_ ) const

Retrieves information about a schema (or all schemas), as specified in schemaName.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSchema() \[3/4]

ShowSchemaResponse gpudb::GPUdb::showSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options ) const

Retrieves information about a schema (or all schemas), as specified in schemaName.

Parameters
\[in] schemaName Name of the schema for which to retrieve the information. If blank, then info for all schemas is returned.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showSchema() \[4/4]

ShowSchemaResponse & gpudb::GPUdb::showSchema ( const std::string & schemaName,
const std::map\< std::string, std::string > & options,
ShowSchemaResponse & response\_ ) const

Retrieves information about a schema (or all schemas), as specified in schemaName.

Parameters
\[in] schemaName Name of the schema for which to retrieve the information. If blank, then info for all schemas is returned.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSecurity() \[1/4]

ShowSecurityResponse gpudb::GPUdb::showSecurity ( const ShowSecurityRequest & request\_ ) const

Shows security information relating to users and/or roles.

If the caller is not a system administrator, only information relating to the caller and their roles is returned.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showSecurity() \[2/4]

ShowSecurityResponse & gpudb::GPUdb::showSecurity ( const ShowSecurityRequest & request\_,
ShowSecurityResponse & response\_ ) const

Shows security information relating to users and/or roles.

If the caller is not a system administrator, only information relating to the caller and their roles is returned.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSecurity() \[3/4]

ShowSecurityResponse gpudb::GPUdb::showSecurity ( const std::vector\< std::string > & names,
const std::map\< std::string, std::string > & options ) const

Shows security information relating to users and/or roles.

If the caller is not a system administrator, only information relating to the caller and their roles is returned.

Parameters
\[in] names A list of names of users and/or roles about which security information is requested. If none are provided, information about all users and roles will be returned.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showSecurity() \[4/4]

ShowSecurityResponse & gpudb::GPUdb::showSecurity ( const std::vector\< std::string > & names,
const std::map\< std::string, std::string > & options,
ShowSecurityResponse & response\_ ) const

Shows security information relating to users and/or roles.

If the caller is not a system administrator, only information relating to the caller and their roles is returned.

Parameters
\[in] names A list of names of users and/or roles about which security information is requested. If none are provided, information about all users and roles will be returned.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSqlProc() \[1/4]

ShowSqlProcResponse gpudb::GPUdb::showSqlProc ( const ShowSqlProcRequest & request\_ ) const

Shows information about SQL procedures, including the full definition of each requested procedure.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showSqlProc() \[2/4]

ShowSqlProcResponse & gpudb::GPUdb::showSqlProc ( const ShowSqlProcRequest & request\_,
ShowSqlProcResponse & response\_ ) const

Shows information about SQL procedures, including the full definition of each requested procedure.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSqlProc() \[3/4]

ShowSqlProcResponse gpudb::GPUdb::showSqlProc ( const std::string & procedureName,
const std::map\< std::string, std::string > & options ) const

Shows information about SQL procedures, including the full definition of each requested procedure.

Parameters
\[in] procedureName Name of the procedure for which to retrieve the information. If blank, then information about all procedures is returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showSqlProc() \[4/4]

ShowSqlProcResponse & gpudb::GPUdb::showSqlProc ( const std::string & procedureName,
const std::map\< std::string, std::string > & options,
ShowSqlProcResponse & response\_ ) const

Shows information about SQL procedures, including the full definition of each requested procedure.

Parameters
\[in] procedureName Name of the procedure for which to retrieve the information. If blank, then information about all procedures is returned. The default value is ''.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showStatistics() \[1/4]

ShowStatisticsResponse gpudb::GPUdb::showStatistics ( const ShowStatisticsRequest & request\_ ) const

Retrieves the collected column statistics for the specified table(s).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showStatistics() \[2/4]

ShowStatisticsResponse & gpudb::GPUdb::showStatistics ( const ShowStatisticsRequest & request\_,
ShowStatisticsResponse & response\_ ) const

Retrieves the collected column statistics for the specified table(s).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showStatistics() \[3/4]

ShowStatisticsResponse gpudb::GPUdb::showStatistics ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options ) const

Retrieves the collected column statistics for the specified table(s).

Parameters
\[in] tableNames Names of tables whose metadata will be fetched, each in \[schema\_name.]table\_name format, using standard name resolution rules. All provided tables must exist, or an error is returned. A single entry of '\*' expands to every user table the caller may read (excluding system schemas, views, and temporary tables); when used it must be the only entry.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showStatistics() \[4/4]

ShowStatisticsResponse & gpudb::GPUdb::showStatistics ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options,
ShowStatisticsResponse & response\_ ) const

Retrieves the collected column statistics for the specified table(s).

Parameters
\[in] tableNames Names of tables whose metadata will be fetched, each in \[schema\_name.]table\_name format, using standard name resolution rules. All provided tables must exist, or an error is returned. A single entry of '\*' expands to every user table the caller may read (excluding system schemas, views, and temporary tables); when used it must be the only entry.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSystemProperties() \[1/4]

ShowSystemPropertiesResponse gpudb::GPUdb::showSystemProperties ( const ShowSystemPropertiesRequest & request\_ ) const

Returns server configuration and version related information to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showSystemProperties() \[2/4]

ShowSystemPropertiesResponse & gpudb::GPUdb::showSystemProperties ( const ShowSystemPropertiesRequest & request\_,
ShowSystemPropertiesResponse & response\_ ) const

Returns server configuration and version related information to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSystemProperties() \[3/4]

ShowSystemPropertiesResponse gpudb::GPUdb::showSystemProperties ( const std::map\< std::string, std::string > & options ) const

Returns server configuration and version related information to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showSystemProperties() \[4/4]

ShowSystemPropertiesResponse & gpudb::GPUdb::showSystemProperties ( const std::map\< std::string, std::string > & options,
ShowSystemPropertiesResponse & response\_ ) const

Returns server configuration and version related information to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSystemStatus() \[1/4]

ShowSystemStatusResponse gpudb::GPUdb::showSystemStatus ( const ShowSystemStatusRequest & request\_ ) const

Provides server configuration and health related status to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showSystemStatus() \[2/4]

ShowSystemStatusResponse & gpudb::GPUdb::showSystemStatus ( const ShowSystemStatusRequest & request\_,
ShowSystemStatusResponse & response\_ ) const

Provides server configuration and health related status to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSystemStatus() \[3/4]

ShowSystemStatusResponse gpudb::GPUdb::showSystemStatus ( const std::map\< std::string, std::string > & options ) const

Provides server configuration and health related status to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] options Optional parameters, currently unused. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showSystemStatus() \[4/4]

ShowSystemStatusResponse & gpudb::GPUdb::showSystemStatus ( const std::map\< std::string, std::string > & options,
ShowSystemStatusResponse & response\_ ) const

Provides server configuration and health related status to the caller.

The admin tool uses it to present server related information to the user.

Parameters
\[in] options Optional parameters, currently unused. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSystemTiming() \[1/4]

ShowSystemTimingResponse gpudb::GPUdb::showSystemTiming ( const ShowSystemTimingRequest & request\_ ) const

Returns the last 100 database requests along with the request timing and internal job ID.

The admin tool uses it to present request timing information to the user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showSystemTiming() \[2/4]

ShowSystemTimingResponse & gpudb::GPUdb::showSystemTiming ( const ShowSystemTimingRequest & request\_,
ShowSystemTimingResponse & response\_ ) const

Returns the last 100 database requests along with the request timing and internal job ID.

The admin tool uses it to present request timing information to the user.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showSystemTiming() \[3/4]

ShowSystemTimingResponse gpudb::GPUdb::showSystemTiming ( const std::map\< std::string, std::string > & options ) const

Returns the last 100 database requests along with the request timing and internal job ID.

The admin tool uses it to present request timing information to the user.

Parameters
\[in] options Optional parameters, currently unused. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showSystemTiming() \[4/4]

ShowSystemTimingResponse & gpudb::GPUdb::showSystemTiming ( const std::map\< std::string, std::string > & options,
ShowSystemTimingResponse & response\_ ) const

Returns the last 100 database requests along with the request timing and internal job ID.

The admin tool uses it to present request timing information to the user.

Parameters
\[in] options Optional parameters, currently unused. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTable() \[1/4]

ShowTableResponse gpudb::GPUdb::showTable ( const ShowTableRequest & request\_ ) const

Retrieves detailed information about a table, view, or schema, specified in tableName.

If the supplied tableName is a schema the call can return information about either the schema itself or the tables and views it contains. If tableName is empty, information about all schemas will be returned.

If the option get\_sizes is set to true, then the number of records in each table is returned (in sizes and fullSizes), along with the total number of objects across all requested tables (in totalSize and totalFullSize).

For a schema, setting the show\_children option to false returns only information about the schema itself; setting show\_children to true returns a list of tables and views contained in the schema, along with their corresponding detail.

To retrieve a list of every table, view, and schema in the database, set tableName to '\*' and show\_children to true. When doing this, the returned totalSize and totalFullSize will not include the sizes of non-base tables (e.g., filters, views, joins, etc.).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showTable() \[2/4]

ShowTableResponse & gpudb::GPUdb::showTable ( const ShowTableRequest & request\_,
ShowTableResponse & response\_ ) const

Retrieves detailed information about a table, view, or schema, specified in tableName.

If the supplied tableName is a schema the call can return information about either the schema itself or the tables and views it contains. If tableName is empty, information about all schemas will be returned.

If the option get\_sizes is set to true, then the number of records in each table is returned (in sizes and fullSizes), along with the total number of objects across all requested tables (in totalSize and totalFullSize).

For a schema, setting the show\_children option to false returns only information about the schema itself; setting show\_children to true returns a list of tables and views contained in the schema, along with their corresponding detail.

To retrieve a list of every table, view, and schema in the database, set tableName to '\*' and show\_children to true. When doing this, the returned totalSize and totalFullSize will not include the sizes of non-base tables (e.g., filters, views, joins, etc.).

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTable() \[3/4]

ShowTableResponse gpudb::GPUdb::showTable ( const std::string & tableName,
const std::map\< std::string, std::string > & options ) const

Retrieves detailed information about a table, view, or schema, specified in tableName.

If the supplied tableName is a schema the call can return information about either the schema itself or the tables and views it contains. If tableName is empty, information about all schemas will be returned.

If the option get\_sizes is set to true, then the number of records in each table is returned (in sizes and fullSizes), along with the total number of objects across all requested tables (in totalSize and totalFullSize).

For a schema, setting the show\_children option to false returns only information about the schema itself; setting show\_children to true returns a list of tables and views contained in the schema, along with their corresponding detail.

To retrieve a list of every table, view, and schema in the database, set tableName to '\*' and show\_children to true. When doing this, the returned totalSize and totalFullSize will not include the sizes of non-base tables (e.g., filters, views, joins, etc.).

Parameters
\[in] tableName Name of the table for which to retrieve the information, in \[schema\_name.]table\_name format, using standard name resolution rules. If blank, then returns information about all tables and views.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showTable() \[4/4]

ShowTableResponse & gpudb::GPUdb::showTable ( const std::string & tableName,
const std::map\< std::string, std::string > & options,
ShowTableResponse & response\_ ) const

Retrieves detailed information about a table, view, or schema, specified in tableName.

If the supplied tableName is a schema the call can return information about either the schema itself or the tables and views it contains. If tableName is empty, information about all schemas will be returned.

If the option get\_sizes is set to true, then the number of records in each table is returned (in sizes and fullSizes), along with the total number of objects across all requested tables (in totalSize and totalFullSize).

For a schema, setting the show\_children option to false returns only information about the schema itself; setting show\_children to true returns a list of tables and views contained in the schema, along with their corresponding detail.

To retrieve a list of every table, view, and schema in the database, set tableName to '\*' and show\_children to true. When doing this, the returned totalSize and totalFullSize will not include the sizes of non-base tables (e.g., filters, views, joins, etc.).

Parameters
\[in] tableName Name of the table for which to retrieve the information, in \[schema\_name.]table\_name format, using standard name resolution rules. If blank, then returns information about all tables and views.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTableMetadata() \[1/4]

ShowTableMetadataResponse gpudb::GPUdb::showTableMetadata ( const ShowTableMetadataRequest & request\_ ) const

Retrieves the user provided metadata for the specified tables.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showTableMetadata() \[2/4]

ShowTableMetadataResponse & gpudb::GPUdb::showTableMetadata ( const ShowTableMetadataRequest & request\_,
ShowTableMetadataResponse & response\_ ) const

Retrieves the user provided metadata for the specified tables.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTableMetadata() \[3/4]

ShowTableMetadataResponse gpudb::GPUdb::showTableMetadata ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options ) const

Retrieves the user provided metadata for the specified tables.

Parameters
\[in] tableNames Names of tables whose metadata will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules. All provided tables must exist, or an error is returned.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showTableMetadata() \[4/4]

ShowTableMetadataResponse & gpudb::GPUdb::showTableMetadata ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options,
ShowTableMetadataResponse & response\_ ) const

Retrieves the user provided metadata for the specified tables.

Parameters
\[in] tableNames Names of tables whose metadata will be fetched, in \[schema\_name.]table\_name format, using standard name resolution rules. All provided tables must exist, or an error is returned.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTableMonitors() \[1/4]

ShowTableMonitorsResponse gpudb::GPUdb::showTableMonitors ( const ShowTableMonitorsRequest & request\_ ) const

Show table monitors and their properties.

Table monitors are created using createTableMonitor. Returns detailed information about existing table monitors.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showTableMonitors() \[2/4]

ShowTableMonitorsResponse & gpudb::GPUdb::showTableMonitors ( const ShowTableMonitorsRequest & request\_,
ShowTableMonitorsResponse & response\_ ) const

Show table monitors and their properties.

Table monitors are created using createTableMonitor. Returns detailed information about existing table monitors.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTableMonitors() \[3/4]

ShowTableMonitorsResponse gpudb::GPUdb::showTableMonitors ( const std::vector\< std::string > & monitorIds,
const std::map\< std::string, std::string > & options ) const

Show table monitors and their properties.

Table monitors are created using createTableMonitor. Returns detailed information about existing table monitors.

Parameters
\[in] monitorIds List of monitors to be shown. An empty list or a single entry with an empty string returns all table monitors.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showTableMonitors() \[4/4]

ShowTableMonitorsResponse & gpudb::GPUdb::showTableMonitors ( const std::vector\< std::string > & monitorIds,
const std::map\< std::string, std::string > & options,
ShowTableMonitorsResponse & response\_ ) const

Show table monitors and their properties.

Table monitors are created using createTableMonitor. Returns detailed information about existing table monitors.

Parameters
\[in] monitorIds List of monitors to be shown. An empty list or a single entry with an empty string returns all table monitors.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTablesByType() \[1/4]

ShowTablesByTypeResponse gpudb::GPUdb::showTablesByType ( const ShowTablesByTypeRequest & request\_ ) const

Gets names of the tables whose type matches the given criteria.

Each table has a particular type. This type comprises the schema and properties of the table and sometimes a type label. This function allows a look up of the existing tables based on full or partial type information. The operation is synchronous.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showTablesByType() \[2/4]

ShowTablesByTypeResponse & gpudb::GPUdb::showTablesByType ( const ShowTablesByTypeRequest & request\_,
ShowTablesByTypeResponse & response\_ ) const

Gets names of the tables whose type matches the given criteria.

Each table has a particular type. This type comprises the schema and properties of the table and sometimes a type label. This function allows a look up of the existing tables based on full or partial type information. The operation is synchronous.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTablesByType() \[3/4]

ShowTablesByTypeResponse gpudb::GPUdb::showTablesByType ( const std::string & typeId,
const std::string & label,
const std::map\< std::string, std::string > & options ) const

Gets names of the tables whose type matches the given criteria.

Each table has a particular type. This type comprises the schema and properties of the table and sometimes a type label. This function allows a look up of the existing tables based on full or partial type information. The operation is synchronous.

Parameters
\[in] typeId Type id returned by a call to createType.
\[in] label Optional user supplied label which can be used instead of the type\_id to retrieve all tables with the given label.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showTablesByType() \[4/4]

ShowTablesByTypeResponse & gpudb::GPUdb::showTablesByType ( const std::string & typeId,
const std::string & label,
const std::map\< std::string, std::string > & options,
ShowTablesByTypeResponse & response\_ ) const

Gets names of the tables whose type matches the given criteria.

Each table has a particular type. This type comprises the schema and properties of the table and sometimes a type label. This function allows a look up of the existing tables based on full or partial type information. The operation is synchronous.

Parameters
\[in] typeId Type id returned by a call to createType.
\[in] label Optional user supplied label which can be used instead of the type\_id to retrieve all tables with the given label.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTriggers() \[1/4]

ShowTriggersResponse gpudb::GPUdb::showTriggers ( const ShowTriggersRequest & request\_ ) const

Retrieves information regarding the specified triggers or all existing triggers currently active.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showTriggers() \[2/4]

ShowTriggersResponse & gpudb::GPUdb::showTriggers ( const ShowTriggersRequest & request\_,
ShowTriggersResponse & response\_ ) const

Retrieves information regarding the specified triggers or all existing triggers currently active.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTriggers() \[3/4]

ShowTriggersResponse gpudb::GPUdb::showTriggers ( const std::vector\< std::string > & triggerIds,
const std::map\< std::string, std::string > & options ) const

Retrieves information regarding the specified triggers or all existing triggers currently active.

Parameters
\[in] triggerIds List of IDs of the triggers whose information is to be retrieved. An empty list means information will be retrieved on all active triggers.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showTriggers() \[4/4]

ShowTriggersResponse & gpudb::GPUdb::showTriggers ( const std::vector\< std::string > & triggerIds,
const std::map\< std::string, std::string > & options,
ShowTriggersResponse & response\_ ) const

Retrieves information regarding the specified triggers or all existing triggers currently active.

Parameters
\[in] triggerIds List of IDs of the triggers whose information is to be retrieved. An empty list means information will be retrieved on all active triggers.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTypes() \[1/4]

ShowTypesResponse gpudb::GPUdb::showTypes ( const ShowTypesRequest & request\_ ) const

Retrieves information for the specified data type ID or type label.

For all data types that match the input criteria, the database returns the type ID, the type schema, the label (if available), and the type's column properties.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showTypes() \[2/4]

ShowTypesResponse & gpudb::GPUdb::showTypes ( const ShowTypesRequest & request\_,
ShowTypesResponse & response\_ ) const

Retrieves information for the specified data type ID or type label.

For all data types that match the input criteria, the database returns the type ID, the type schema, the label (if available), and the type's column properties.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showTypes() \[3/4]

ShowTypesResponse gpudb::GPUdb::showTypes ( const std::string & typeId,
const std::string & label,
const std::map\< std::string, std::string > & options ) const

Retrieves information for the specified data type ID or type label.

For all data types that match the input criteria, the database returns the type ID, the type schema, the label (if available), and the type's column properties.

Parameters
\[in] typeId Type Id returned in response to a call to createType.
\[in] label Option string that was supplied by user in a call to createType.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showTypes() \[4/4]

ShowTypesResponse & gpudb::GPUdb::showTypes ( const std::string & typeId,
const std::string & label,
const std::map\< std::string, std::string > & options,
ShowTypesResponse & response\_ ) const

Retrieves information for the specified data type ID or type label.

For all data types that match the input criteria, the database returns the type ID, the type schema, the label (if available), and the type's column properties.

Parameters
\[in] typeId Type Id returned in response to a call to createType.
\[in] label Option string that was supplied by user in a call to createType.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showVideo() \[1/4]

ShowVideoResponse gpudb::GPUdb::showVideo ( const ShowVideoRequest & request\_ ) const

Retrieves information about rendered videos.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showVideo() \[2/4]

ShowVideoResponse & gpudb::GPUdb::showVideo ( const ShowVideoRequest & request\_,
ShowVideoResponse & response\_ ) const

Retrieves information about rendered videos.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showVideo() \[3/4]

ShowVideoResponse gpudb::GPUdb::showVideo ( const std::vector\< std::string > & paths,
const std::map\< std::string, std::string > & options ) const

Retrieves information about rendered videos.

Parameters
\[in] paths The fully-qualified KiFS paths for the videos to show. If empty, shows all videos.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showVideo() \[4/4]

ShowVideoResponse & gpudb::GPUdb::showVideo ( const std::vector\< std::string > & paths,
const std::map\< std::string, std::string > & options,
ShowVideoResponse & response\_ ) const

Retrieves information about rendered videos.

Parameters
\[in] paths The fully-qualified KiFS paths for the videos to show. If empty, shows all videos.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showWal() \[1/4]

ShowWalResponse gpudb::GPUdb::showWal ( const ShowWalRequest & request\_ ) const

Requests table write-ahead log (WAL) properties.

Returns information about the requested table WAL entries.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ showWal() \[2/4]

ShowWalResponse & gpudb::GPUdb::showWal ( const ShowWalRequest & request\_,
ShowWalResponse & response\_ ) const

Requests table write-ahead log (WAL) properties.

Returns information about the requested table WAL entries.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ showWal() \[3/4]

ShowWalResponse gpudb::GPUdb::showWal ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options ) const

Requests table write-ahead log (WAL) properties.

Returns information about the requested table WAL entries.

Parameters
\[in] tableNames List of tables to query. An asterisk returns all tables.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ showWal() \[4/4]

ShowWalResponse & gpudb::GPUdb::showWal ( const std::vector\< std::string > & tableNames,
const std::map\< std::string, std::string > & options,
ShowWalResponse & response\_ ) const

Requests table write-ahead log (WAL) properties.

Returns information about the requested table WAL entries.

Parameters
\[in] tableNames List of tables to query. An asterisk returns all tables.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ solveGraph() \[1/4]

SolveGraphResponse gpudb::GPUdb::solveGraph ( const SolveGraphRequest & request\_ ) const

Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /solve/graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ solveGraph() \[2/4]

SolveGraphResponse & gpudb::GPUdb::solveGraph ( const SolveGraphRequest & request\_,
SolveGraphResponse & response\_ ) const

Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /solve/graph examples before using this endpoint.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ solveGraph() \[3/4]

SolveGraphResponse gpudb::GPUdb::solveGraph ( const std::string & graphName,
const std::vector\< std::string > & weightsOnEdges,
const std::vector\< std::string > & restrictions,
const std::string & solverType,
const std::vector\< std::string > & sourceNodes,
const std::vector\< std::string > & destinationNodes,
const std::string & solutionTable,
const std::map\< std::string, std::string > & options ) const

Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /solve/graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to solve.
\[in] weightsOnEdges Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED', or constant values, e.g., '4, 15, 2 AS WEIGHTS\_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS\_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS\_FACTORSPECIFIED') the existing weight(s). If using constant values in an identifier combination, the number of values specified must match across the combination. The default value is an empty vector.
\[in] restrictions Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or constant values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using constant values in an identifier combination, the number of values specified must match across the combination. If remove\_previous\_restrictions option is set to true, any provided restrictions will replace the existing restrictions. Otherwise, any provided restrictions will be added (in the case of 'RESTRICTIONS\_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS\_ONOFFCOMPARED'). The default value is an empty vector.
\[in] solverType The type of solver to use for the graph. Supported values:
  • solve\_graph\_SHORTEST\_PATH: Solves for the optimal (shortest) path based on weights and restrictions from one source to destinations nodes. Also known as the Dijkstra solver.
  • solve\_graph\_PAGE\_RANK: Solves for the probability of each destination node being visited based on the links of the graph topology. Weights are not required to use this solver.
  • solve\_graph\_PROBABILITY\_RANK: Solves for the transitional probability (Hidden Markov) for each node based on the weights (probability assigned over given edges).
  • solve\_graph\_CENTRALITY: Solves for the degree of a node to depict how many pairs of individuals that would have to go through the node to reach one another in the minimum number of hops. Also known as betweenness.
  • solve\_graph\_MULTIPLE\_ROUTING: Solves for finding the minimum cost cumulative path for a round-trip starting from the given source and visiting each given destination node once then returning to the source. Also known as the traveling salesman problem.
  • solve\_graph\_INVERSE\_SHORTEST\_PATH: Solves for finding the optimal path cost for each destination node to route to the source node. Also known as inverse Dijkstra or the service man routing problem.
  • solve\_graph\_BACKHAUL\_ROUTING: Solves for optimal routes that connect remote asset nodes to the fixed (backbone) asset nodes.
  • solve\_graph\_ALLPATHS: Solves for paths that would give costs between max and min solution radia - Make sure to limit by the 'max\_solution\_targets' option. Min cost should be >= shortest\_path cost.
  • solve\_graph\_STATS\_ALL: Solves for graph statistics such as graph diameter, longest pairs, vertex valences, topology numbers, average and max cluster sizes, etc.
  • solve\_graph\_CLOSENESS: Solves for the centrality closeness score per node as the sum of the inverse shortest path costs to all nodes in the graph.
The default value is solve\_graph\_SHORTEST\_PATH.
\[in] sourceNodes It can be one of the nodal identifiers - e.g: 'NODE\_WKTPOINT' for source nodes. For BACKHAUL\_ROUTING, this list depicts the fixed assets. The default value is an empty vector.
\[in] destinationNodes It can be one of the nodal identifiers - e.g: 'NODE\_WKTPOINT' for destination (target) nodes. For BACKHAUL\_ROUTING, this list depicts the remote assets. The default value is an empty vector.
\[in] solutionTable Name of the table to store the solution, in \[schema\_name.]table\_name format, using standard name resolution rules. The default value is 'graph\_solutions'.
\[in] options Additional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ solveGraph() \[4/4]

SolveGraphResponse & gpudb::GPUdb::solveGraph ( const std::string & graphName,
const std::vector\< std::string > & weightsOnEdges,
const std::vector\< std::string > & restrictions,
const std::string & solverType,
const std::vector\< std::string > & sourceNodes,
const std::vector\< std::string > & destinationNodes,
const std::string & solutionTable,
const std::map\< std::string, std::string > & options,
SolveGraphResponse & response\_ ) const

Solves an existing graph for a type of problem (e.g., shortest path, page rank, traveling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs and Solvers concepts documentation, the Graph REST Tutorial, and/or some /solve/graph examples before using this endpoint.

Parameters
\[in] graphName Name of the graph resource to solve.
\[in] weightsOnEdges Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED', or constant values, e.g., '4, 15, 2 AS WEIGHTS\_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS\_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS\_FACTORSPECIFIED') the existing weight(s). If using constant values in an identifier combination, the number of values specified must match across the combination. The default value is an empty vector.
\[in] restrictions Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED', or constant values, e.g., '0, 0, 0, 1 AS RESTRICTIONS\_ONOFFCOMPARED'. If using constant values in an identifier combination, the number of values specified must match across the combination. If remove\_previous\_restrictions option is set to true, any provided restrictions will replace the existing restrictions. Otherwise, any provided restrictions will be added (in the case of 'RESTRICTIONS\_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS\_ONOFFCOMPARED'). The default value is an empty vector.
\[in] solverType The type of solver to use for the graph. Supported values:
  • solve\_graph\_SHORTEST\_PATH: Solves for the optimal (shortest) path based on weights and restrictions from one source to destinations nodes. Also known as the Dijkstra solver.
  • solve\_graph\_PAGE\_RANK: Solves for the probability of each destination node being visited based on the links of the graph topology. Weights are not required to use this solver.
  • solve\_graph\_PROBABILITY\_RANK: Solves for the transitional probability (Hidden Markov) for each node based on the weights (probability assigned over given edges).
  • solve\_graph\_CENTRALITY: Solves for the degree of a node to depict how many pairs of individuals that would have to go through the node to reach one another in the minimum number of hops. Also known as betweenness.
  • solve\_graph\_MULTIPLE\_ROUTING: Solves for finding the minimum cost cumulative path for a round-trip starting from the given source and visiting each given destination node once then returning to the source. Also known as the traveling salesman problem.
  • solve\_graph\_INVERSE\_SHORTEST\_PATH: Solves for finding the optimal path cost for each destination node to route to the source node. Also known as inverse Dijkstra or the service man routing problem.
  • solve\_graph\_BACKHAUL\_ROUTING: Solves for optimal routes that connect remote asset nodes to the fixed (backbone) asset nodes.
  • solve\_graph\_ALLPATHS: Solves for paths that would give costs between max and min solution radia - Make sure to limit by the 'max\_solution\_targets' option. Min cost should be >= shortest\_path cost.
  • solve\_graph\_STATS\_ALL: Solves for graph statistics such as graph diameter, longest pairs, vertex valences, topology numbers, average and max cluster sizes, etc.
  • solve\_graph\_CLOSENESS: Solves for the centrality closeness score per node as the sum of the inverse shortest path costs to all nodes in the graph.
The default value is solve\_graph\_SHORTEST\_PATH.
\[in] sourceNodes It can be one of the nodal identifiers - e.g: 'NODE\_WKTPOINT' for source nodes. For BACKHAUL\_ROUTING, this list depicts the fixed assets. The default value is an empty vector.
\[in] destinationNodes It can be one of the nodal identifiers - e.g: 'NODE\_WKTPOINT' for destination (target) nodes. For BACKHAUL\_ROUTING, this list depicts the remote assets. The default value is an empty vector.
\[in] solutionTable Name of the table to store the solution, in \[schema\_name.]table\_name format, using standard name resolution rules. The default value is 'graph\_solutions'.
\[in] options Additional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ submitRequest() \[1/3]

template\
TResponse & gpudb::GPUdb::submitRequest ( const char \* endpoint,
const TRequest & request,
TResponse & response,
const bool enableCompression = false ) const
inline

Definition at line 445 of file GPUdb.hpp.

◆ submitRequest() \[2/3]

template\
TResponse & gpudb::GPUdb::submitRequest ( const HttpUrl & url,
const TRequest & request,
TResponse & response,
const bool enableCompression = false ) const
inline

Definition at line 372 of file GPUdb.hpp.

◆ submitRequest() \[3/3]

template\
TResponse & gpudb::GPUdb::submitRequest ( const std::string & endpoint,
const TRequest & request,
TResponse & response,
const bool enableCompression = false ) const
inline

Definition at line 408 of file GPUdb.hpp.

◆ submitRequestToHostManager() \[1/2]

template\
TResponse & gpudb::GPUdb::submitRequestToHostManager ( const char \* endpoint,
const TRequest & request,
TResponse & response,
const bool enableCompression = false ) const
inline

Submit an HTTP request to the host manager.

Parameters
\[in] endpoint The endpoint for which the request is made.
\[in] request The request object containing the parameters for the operation.
\[out] response The response object in which the return values will be saved.
\[in] enableCompression Optional boolean flag indicating whether any compression should be used. Default is false.
Returns
a reference to the response object.

Definition at line 520 of file GPUdb.hpp.

◆ submitRequestToHostManager() \[2/2]

template\
TResponse & gpudb::GPUdb::submitRequestToHostManager ( const std::string & endpoint,
const TRequest & request,
TResponse & response,
const bool enableCompression = false ) const
inline

Submit an HTTP request to the host manager.

Parameters
\[in] endpoint The endpoint for which the request is made.
\[in] request The request object containing the parameters for the operation.
\[out] response The response object in which the return values will be saved.
\[in] enableCompression Optional boolean flag indicating whether any compression should be used. Default is false.
Returns
a reference to the response object.

Definition at line 469 of file GPUdb.hpp.

◆ updateHostManagerPort()

void gpudb::GPUdb::updateHostManagerPort ( )

Update the host manager port by inquiring the server.

◆ updateRecords() \[1/4]

template\
UpdateRecordsResponse gpudb::GPUdb::updateRecords ( const std::string & tableName,
const std::vector\< std::string > & expressions,
const std::vector\< std::map\< std::string, boost::optional\< std::string > > > & newValuesMaps,
const std::vector\< TRequest > & data,
const std::map\< std::string, std::string > & options ) const
inline

Runs multiple predicate-based updates in a single call.

With the list of given expressions, any matching record's column values will be updated as provided in newValuesMaps. There is also an optional 'upsert' capability where if a particular predicate doesn't match any existing record, then a new record can be inserted.

Note that this operation can only be run on an original table and not on a result view.

This operation can update primary key values. By default only 'pure primary key' predicates are allowed when updating primary key values. If the primary key for a table is the column 'attr1', then the operation will only accept predicates of the form: "attr1 == 'foo'" if the attr1 column is being updated. For a composite primary key (e.g. columns 'attr1' and 'attr2') then this operation will only accept predicates of the form: "(attr1 == 'foo') and (attr2 == 'bar')". Meaning, all primary key columns must appear in an equality predicate in the expressions. Furthermore each 'pure primary key' predicate must be unique within a given request. These restrictions can be removed by utilizing some available options through options.

The update\_on\_existing\_pk option specifies the record primary key collision policy for tables with a primary key, while ignore\_existing\_pk specifies the record primary key collision error-suppression policy when those collisions result in the update being rejected. Both are ignored on tables with no primary key.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] tableName Name of table to be updated, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be a currently existing table and not a view.
\[in] expressions A list of the actual predicates, one for each update; format should follow the guidelines here.
\[in] newValuesMaps List of new values for the matching records. Each element is a map with (key, value) pairs where the keys are the names of the columns whose values are to be updated; the values are the new values. The number of elements in the list should match the length of expressions.
\[in] data An optional list of new binary-avro encoded records to insert, one for each update. If one of expressions does not yield a matching record to be updated, then the corresponding element from this list will be added to the table. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

Definition at line 53085 of file GPUdb.hpp.

◆ updateRecords() \[2/4]

template\
UpdateRecordsResponse & gpudb::GPUdb::updateRecords ( const std::string & tableName,
const std::vector\< std::string > & expressions,
const std::vector\< std::map\< std::string, boost::optional\< std::string > > > & newValuesMaps,
const std::vector\< TRequest > & data,
const std::map\< std::string, std::string > & options,
UpdateRecordsResponse & response\_ ) const
inline

Runs multiple predicate-based updates in a single call.

With the list of given expressions, any matching record's column values will be updated as provided in newValuesMaps. There is also an optional 'upsert' capability where if a particular predicate doesn't match any existing record, then a new record can be inserted.

Note that this operation can only be run on an original table and not on a result view.

This operation can update primary key values. By default only 'pure primary key' predicates are allowed when updating primary key values. If the primary key for a table is the column 'attr1', then the operation will only accept predicates of the form: "attr1 == 'foo'" if the attr1 column is being updated. For a composite primary key (e.g. columns 'attr1' and 'attr2') then this operation will only accept predicates of the form: "(attr1 == 'foo') and (attr2 == 'bar')". Meaning, all primary key columns must appear in an equality predicate in the expressions. Furthermore each 'pure primary key' predicate must be unique within a given request. These restrictions can be removed by utilizing some available options through options.

The update\_on\_existing\_pk option specifies the record primary key collision policy for tables with a primary key, while ignore\_existing\_pk specifies the record primary key collision error-suppression policy when those collisions result in the update being rejected. Both are ignored on tables with no primary key.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] tableName Name of table to be updated, in \[schema\_name.]table\_name format, using standard name resolution rules. Must be a currently existing table and not a view.
\[in] expressions A list of the actual predicates, one for each update; format should follow the guidelines here.
\[in] newValuesMaps List of new values for the matching records. Each element is a map with (key, value) pairs where the keys are the names of the columns whose values are to be updated; the values are the new values. The number of elements in the list should match the length of expressions.
\[in] data An optional list of new binary-avro encoded records to insert, one for each update. If one of expressions does not yield a matching record to be updated, then the corresponding element from this list will be added to the table. The default value is an empty vector.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 53433 of file GPUdb.hpp.

◆ updateRecords() \[3/4]

template\
UpdateRecordsResponse gpudb::GPUdb::updateRecords ( const UpdateRecordsRequest\< TRequest > & request\_ ) const
inline

Runs multiple predicate-based updates in a single call.

With the list of given expressions, any matching record's column values will be updated as provided in newValuesMaps. There is also an optional 'upsert' capability where if a particular predicate doesn't match any existing record, then a new record can be inserted.

Note that this operation can only be run on an original table and not on a result view.

This operation can update primary key values. By default only 'pure primary key' predicates are allowed when updating primary key values. If the primary key for a table is the column 'attr1', then the operation will only accept predicates of the form: "attr1 == 'foo'" if the attr1 column is being updated. For a composite primary key (e.g. columns 'attr1' and 'attr2') then this operation will only accept predicates of the form: "(attr1 == 'foo') and (attr2 == 'bar')". Meaning, all primary key columns must appear in an equality predicate in the expressions. Furthermore each 'pure primary key' predicate must be unique within a given request. These restrictions can be removed by utilizing some available options through options.

The update\_on\_existing\_pk option specifies the record primary key collision policy for tables with a primary key, while ignore\_existing\_pk specifies the record primary key collision error-suppression policy when those collisions result in the update being rejected. Both are ignored on tables with no primary key.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

Definition at line 52688 of file GPUdb.hpp.

◆ updateRecords() \[4/4]

template\
UpdateRecordsResponse & gpudb::GPUdb::updateRecords ( const UpdateRecordsRequest\< TRequest > & request\_,
UpdateRecordsResponse & response\_ ) const
inline

Runs multiple predicate-based updates in a single call.

With the list of given expressions, any matching record's column values will be updated as provided in newValuesMaps. There is also an optional 'upsert' capability where if a particular predicate doesn't match any existing record, then a new record can be inserted.

Note that this operation can only be run on an original table and not on a result view.

This operation can update primary key values. By default only 'pure primary key' predicates are allowed when updating primary key values. If the primary key for a table is the column 'attr1', then the operation will only accept predicates of the form: "attr1 == 'foo'" if the attr1 column is being updated. For a composite primary key (e.g. columns 'attr1' and 'attr2') then this operation will only accept predicates of the form: "(attr1 == 'foo') and (attr2 == 'bar')". Meaning, all primary key columns must appear in an equality predicate in the expressions. Furthermore each 'pure primary key' predicate must be unique within a given request. These restrictions can be removed by utilizing some available options through options.

The update\_on\_existing\_pk option specifies the record primary key collision policy for tables with a primary key, while ignore\_existing\_pk specifies the record primary key collision error-suppression policy when those collisions result in the update being rejected. Both are ignored on tables with no primary key.

Template Parameters
TRequest The type of object being added.
Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Definition at line 52743 of file GPUdb.hpp.

◆ updateRecordsRaw() \[1/2]

UpdateRecordsResponse gpudb::GPUdb::updateRecordsRaw ( const RawUpdateRecordsRequest & request\_ ) const

Runs multiple predicate-based updates in a single call.

With the list of given expressions, any matching record's column values will be updated as provided in newValuesMaps. There is also an optional 'upsert' capability where if a particular predicate doesn't match any existing record, then a new record can be inserted.

Note that this operation can only be run on an original table and not on a result view.

This operation can update primary key values. By default only 'pure primary key' predicates are allowed when updating primary key values. If the primary key for a table is the column 'attr1', then the operation will only accept predicates of the form: "attr1 == 'foo'" if the attr1 column is being updated. For a composite primary key (e.g. columns 'attr1' and 'attr2') then this operation will only accept predicates of the form: "(attr1 == 'foo') and (attr2 == 'bar')". Meaning, all primary key columns must appear in an equality predicate in the expressions. Furthermore each 'pure primary key' predicate must be unique within a given request. These restrictions can be removed by utilizing some available options through options.

The update\_on\_existing\_pk option specifies the record primary key collision policy for tables with a primary key, while ignore\_existing\_pk specifies the record primary key collision error-suppression policy when those collisions result in the update being rejected. Both are ignored on tables with no primary key.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ updateRecordsRaw() \[2/2]

UpdateRecordsResponse & gpudb::GPUdb::updateRecordsRaw ( const RawUpdateRecordsRequest & request\_,
UpdateRecordsResponse & response\_ ) const

Runs multiple predicate-based updates in a single call.

With the list of given expressions, any matching record's column values will be updated as provided in newValuesMaps. There is also an optional 'upsert' capability where if a particular predicate doesn't match any existing record, then a new record can be inserted.

Note that this operation can only be run on an original table and not on a result view.

This operation can update primary key values. By default only 'pure primary key' predicates are allowed when updating primary key values. If the primary key for a table is the column 'attr1', then the operation will only accept predicates of the form: "attr1 == 'foo'" if the attr1 column is being updated. For a composite primary key (e.g. columns 'attr1' and 'attr2') then this operation will only accept predicates of the form: "(attr1 == 'foo') and (attr2 == 'bar')". Meaning, all primary key columns must appear in an equality predicate in the expressions. Furthermore each 'pure primary key' predicate must be unique within a given request. These restrictions can be removed by utilizing some available options through options.

The update\_on\_existing\_pk option specifies the record primary key collision policy for tables with a primary key, while ignore\_existing\_pk specifies the record primary key collision error-suppression policy when those collisions result in the update being rejected. Both are ignored on tables with no primary key.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ uploadFiles() \[1/4]

UploadFilesResponse gpudb::GPUdb::uploadFiles ( const std::vector\< std::string > & fileNames,
const std::vector\< std::vector\< uint8\_t > > & fileData,
const std::map\< std::string, std::string > & options ) const

Uploads one or more files to KiFS.

There are two methods for uploading files: load files in their entirety, or load files in parts. The latter is recommended for files of approximately 60 MB or larger.

To upload files in their entirety, populate fileNames with the file names to upload into on KiFS, and their respective byte content in fileData.

Multiple steps are involved when uploading in multiple parts. Only one file at a time can be uploaded in this manner. A user-provided UUID is utilized to tie all the upload steps together for a given file. To upload a file in multiple parts:

  1. Provide the file name in fileNames, the UUID in the multipart\_upload\_uuid key in options, and a multipart\_operation value of init.
  2. Upload one or more parts by providing the file name, the part data in fileData, the UUID, a multipart\_operation value of upload\_part, and the part number in the multipart\_upload\_part\_number. The part numbers must start at 1 and increase incrementally. Parts may not be uploaded out of order.
  3. Complete the upload by providing the file name, the UUID, and a multipart\_operation value of complete.

Multipart uploads in progress may be canceled by providing the file name, the UUID, and a multipart\_operation value of cancel. If an new upload is initialized with a different UUID for an existing upload in progress, the pre-existing upload is automatically canceled in favor of the new upload.

The multipart upload must be completed for the file to be usable in KiFS. Information about multipart uploads in progress is available in showFiles.

File data may be pre-encoded using base64 encoding. This should be indicated using the file\_encoding option, and is recommended when using JSON serialization.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] fileNames An array of full file name paths to be used for the files uploaded to KiFS. File names may have any number of nested directories in their paths, but the top-level directory must be an existing KiFS directory. Each file must reside in or under a top-level directory. A full file name path cannot be larger than 1024 characters.
\[in] fileData File data for the files being uploaded, for the respective files in fileNames.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ uploadFiles() \[2/4]

UploadFilesResponse & gpudb::GPUdb::uploadFiles ( const std::vector\< std::string > & fileNames,
const std::vector\< std::vector\< uint8\_t > > & fileData,
const std::map\< std::string, std::string > & options,
UploadFilesResponse & response\_ ) const

Uploads one or more files to KiFS.

There are two methods for uploading files: load files in their entirety, or load files in parts. The latter is recommended for files of approximately 60 MB or larger.

To upload files in their entirety, populate fileNames with the file names to upload into on KiFS, and their respective byte content in fileData.

Multiple steps are involved when uploading in multiple parts. Only one file at a time can be uploaded in this manner. A user-provided UUID is utilized to tie all the upload steps together for a given file. To upload a file in multiple parts:

  1. Provide the file name in fileNames, the UUID in the multipart\_upload\_uuid key in options, and a multipart\_operation value of init.
  2. Upload one or more parts by providing the file name, the part data in fileData, the UUID, a multipart\_operation value of upload\_part, and the part number in the multipart\_upload\_part\_number. The part numbers must start at 1 and increase incrementally. Parts may not be uploaded out of order.
  3. Complete the upload by providing the file name, the UUID, and a multipart\_operation value of complete.

Multipart uploads in progress may be canceled by providing the file name, the UUID, and a multipart\_operation value of cancel. If an new upload is initialized with a different UUID for an existing upload in progress, the pre-existing upload is automatically canceled in favor of the new upload.

The multipart upload must be completed for the file to be usable in KiFS. Information about multipart uploads in progress is available in showFiles.

File data may be pre-encoded using base64 encoding. This should be indicated using the file\_encoding option, and is recommended when using JSON serialization.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] fileNames An array of full file name paths to be used for the files uploaded to KiFS. File names may have any number of nested directories in their paths, but the top-level directory must be an existing KiFS directory. Each file must reside in or under a top-level directory. A full file name path cannot be larger than 1024 characters.
\[in] fileData File data for the files being uploaded, for the respective files in fileNames.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ uploadFiles() \[3/4]

UploadFilesResponse gpudb::GPUdb::uploadFiles ( const UploadFilesRequest & request\_ ) const

Uploads one or more files to KiFS.

There are two methods for uploading files: load files in their entirety, or load files in parts. The latter is recommended for files of approximately 60 MB or larger.

To upload files in their entirety, populate fileNames with the file names to upload into on KiFS, and their respective byte content in fileData.

Multiple steps are involved when uploading in multiple parts. Only one file at a time can be uploaded in this manner. A user-provided UUID is utilized to tie all the upload steps together for a given file. To upload a file in multiple parts:

  1. Provide the file name in fileNames, the UUID in the multipart\_upload\_uuid key in options, and a multipart\_operation value of init.
  2. Upload one or more parts by providing the file name, the part data in fileData, the UUID, a multipart\_operation value of upload\_part, and the part number in the multipart\_upload\_part\_number. The part numbers must start at 1 and increase incrementally. Parts may not be uploaded out of order.
  3. Complete the upload by providing the file name, the UUID, and a multipart\_operation value of complete.

Multipart uploads in progress may be canceled by providing the file name, the UUID, and a multipart\_operation value of cancel. If an new upload is initialized with a different UUID for an existing upload in progress, the pre-existing upload is automatically canceled in favor of the new upload.

The multipart upload must be completed for the file to be usable in KiFS. Information about multipart uploads in progress is available in showFiles.

File data may be pre-encoded using base64 encoding. This should be indicated using the file\_encoding option, and is recommended when using JSON serialization.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ uploadFiles() \[4/4]

UploadFilesResponse & gpudb::GPUdb::uploadFiles ( const UploadFilesRequest & request\_,
UploadFilesResponse & response\_ ) const

Uploads one or more files to KiFS.

There are two methods for uploading files: load files in their entirety, or load files in parts. The latter is recommended for files of approximately 60 MB or larger.

To upload files in their entirety, populate fileNames with the file names to upload into on KiFS, and their respective byte content in fileData.

Multiple steps are involved when uploading in multiple parts. Only one file at a time can be uploaded in this manner. A user-provided UUID is utilized to tie all the upload steps together for a given file. To upload a file in multiple parts:

  1. Provide the file name in fileNames, the UUID in the multipart\_upload\_uuid key in options, and a multipart\_operation value of init.
  2. Upload one or more parts by providing the file name, the part data in fileData, the UUID, a multipart\_operation value of upload\_part, and the part number in the multipart\_upload\_part\_number. The part numbers must start at 1 and increase incrementally. Parts may not be uploaded out of order.
  3. Complete the upload by providing the file name, the UUID, and a multipart\_operation value of complete.

Multipart uploads in progress may be canceled by providing the file name, the UUID, and a multipart\_operation value of cancel. If an new upload is initialized with a different UUID for an existing upload in progress, the pre-existing upload is automatically canceled in favor of the new upload.

The multipart upload must be completed for the file to be usable in KiFS. Information about multipart uploads in progress is available in showFiles.

File data may be pre-encoded using base64 encoding. This should be indicated using the file\_encoding option, and is recommended when using JSON serialization.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ uploadFilesFromurl() \[1/4]

UploadFilesFromurlResponse gpudb::GPUdb::uploadFilesFromurl ( const std::vector\< std::string > & fileNames,
const std::vector\< std::string > & urls,
const std::map\< std::string, std::string > & options ) const

Uploads one or more files to KiFS.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] fileNames An array of full file name paths to be used for the files uploaded to KiFS. File names may have any number of nested directories in their paths, but the top-level directory must be an existing KiFS directory. Each file must reside in or under a top-level directory. A full file name path cannot be larger than 1024 characters.
\[in] urls List of URLs to upload, for each respective file in fileNames.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ uploadFilesFromurl() \[2/4]

UploadFilesFromurlResponse & gpudb::GPUdb::uploadFilesFromurl ( const std::vector\< std::string > & fileNames,
const std::vector\< std::string > & urls,
const std::map\< std::string, std::string > & options,
UploadFilesFromurlResponse & response\_ ) const

Uploads one or more files to KiFS.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] fileNames An array of full file name paths to be used for the files uploaded to KiFS. File names may have any number of nested directories in their paths, but the top-level directory must be an existing KiFS directory. Each file must reside in or under a top-level directory. A full file name path cannot be larger than 1024 characters.
\[in] urls List of URLs to upload, for each respective file in fileNames.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ uploadFilesFromurl() \[3/4]

UploadFilesFromurlResponse gpudb::GPUdb::uploadFilesFromurl ( const UploadFilesFromurlRequest & request\_ ) const

Uploads one or more files to KiFS.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ uploadFilesFromurl() \[4/4]

UploadFilesFromurlResponse & gpudb::GPUdb::uploadFilesFromurl ( const UploadFilesFromurlRequest & request\_,
UploadFilesFromurlResponse & response\_ ) const

Uploads one or more files to KiFS.

Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in showDirectories. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of '/'. For example, given the file path '/a/b/c/d.txt', 'a' must be a KiFS directory.

These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of '/', and the characters: '.' '-' ':' '\[' ']' '(' ')' '#' '='.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ verifyBackup() \[1/4]

VerifyBackupResponse gpudb::GPUdb::verifyBackup ( const std::string & backupName,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options ) const

Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.

By default all snapshots are inspected unless the option backup\_id is used to target a specific instance. Returns backup verification results.

Parameters
\[in] backupName Name of the backup. An empty string or '' will check all existing backups. Any text followed by a '' will inspect backups whose name starts with that text. The default value is ''.
\[in] datasourceName Data source through which the backup is accessible.
\[in] options Optional parameters.
  • verify\_backup\_backup\_id: ID of the snapshot to verify. Set to '-1' to verify all snapshots in the backup. Leave empty to verify only the most recent snapshot. The default value is '-1'.
The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ verifyBackup() \[2/4]

VerifyBackupResponse & gpudb::GPUdb::verifyBackup ( const std::string & backupName,
const std::string & datasourceName,
const std::map\< std::string, std::string > & options,
VerifyBackupResponse & response\_ ) const

Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.

By default all snapshots are inspected unless the option backup\_id is used to target a specific instance. Returns backup verification results.

Parameters
\[in] backupName Name of the backup. An empty string or '' will check all existing backups. Any text followed by a '' will inspect backups whose name starts with that text. The default value is ''.
\[in] datasourceName Data source through which the backup is accessible.
\[in] options Optional parameters.
  • verify\_backup\_backup\_id: ID of the snapshot to verify. Set to '-1' to verify all snapshots in the backup. Leave empty to verify only the most recent snapshot. The default value is '-1'.
The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ verifyBackup() \[3/4]

VerifyBackupResponse gpudb::GPUdb::verifyBackup ( const VerifyBackupRequest & request\_ ) const

Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.

By default all snapshots are inspected unless the option backup\_id is used to target a specific instance. Returns backup verification results.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ verifyBackup() \[4/4]

VerifyBackupResponse & gpudb::GPUdb::verifyBackup ( const VerifyBackupRequest & request\_,
VerifyBackupResponse & response\_ ) const

Inspects the requested database backup(s) for conformity at the remote file store accessible via the data source specified by datasourceName.

By default all snapshots are inspected unless the option backup\_id is used to target a specific instance. Returns backup verification results.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ visualizeImageChart() \[1/4]

VisualizeImageChartResponse gpudb::GPUdb::visualizeImageChart ( const std::string & tableName,
const std::vector\< std::string > & xColumnNames,
const std::vector\< std::string > & yColumnNames,
const double minX,
const double maxX,
const double minY,
const double maxY,
const int32\_t width,
const int32\_t height,
const std::string & bgColor,
const std::map\< std::string, std::vector\< std::string > > & styleOptions,
const std::map\< std::string, std::string > & options ) const

Scatter plot is the only plot type currently supported.

A non-numeric column can be specified as x or y column and jitters can be added to them to avoid excessive overlapping. All color values must be in the format RRGGBB or AARRGGBB (to specify the alpha value). The image is contained in the imageData field.

Parameters
\[in] tableName Name of the table containing the data to be drawn as a chart, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] xColumnNames Names of the columns containing the data mapped to the x axis of a chart.
\[in] yColumnNames Names of the columns containing the data mapped to the y axis of a chart.
\[in] minX Lower bound for the x column values. For non-numeric x column, each x column item is mapped to an integral value starting from 0.
\[in] maxX Upper bound for the x column values. For non-numeric x column, each x column item is mapped to an integral value starting from 0.
\[in] minY Lower bound for the y column values. For non-numeric y column, each y column item is mapped to an integral value starting from 0.
\[in] maxY Upper bound for the y column values. For non-numeric y column, each y column item is mapped to an integral value starting from 0.
\[in] width Width of the generated image in pixels.
\[in] height Height of the generated image in pixels.
\[in] bgColor Background color of the generated image.
\[in] styleOptions Rendering style options for a chart.
\[in] options Optional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ visualizeImageChart() \[2/4]

VisualizeImageChartResponse & gpudb::GPUdb::visualizeImageChart ( const std::string & tableName,
const std::vector\< std::string > & xColumnNames,
const std::vector\< std::string > & yColumnNames,
const double minX,
const double maxX,
const double minY,
const double maxY,
const int32\_t width,
const int32\_t height,
const std::string & bgColor,
const std::map\< std::string, std::vector\< std::string > > & styleOptions,
const std::map\< std::string, std::string > & options,
VisualizeImageChartResponse & response\_ ) const

Scatter plot is the only plot type currently supported.

A non-numeric column can be specified as x or y column and jitters can be added to them to avoid excessive overlapping. All color values must be in the format RRGGBB or AARRGGBB (to specify the alpha value). The image is contained in the imageData field.

Parameters
\[in] tableName Name of the table containing the data to be drawn as a chart, in \[schema\_name.]table\_name format, using standard name resolution rules.
\[in] xColumnNames Names of the columns containing the data mapped to the x axis of a chart.
\[in] yColumnNames Names of the columns containing the data mapped to the y axis of a chart.
\[in] minX Lower bound for the x column values. For non-numeric x column, each x column item is mapped to an integral value starting from 0.
\[in] maxX Upper bound for the x column values. For non-numeric x column, each x column item is mapped to an integral value starting from 0.
\[in] minY Lower bound for the y column values. For non-numeric y column, each y column item is mapped to an integral value starting from 0.
\[in] maxY Upper bound for the y column values. For non-numeric y column, each y column item is mapped to an integral value starting from 0.
\[in] width Width of the generated image in pixels.
\[in] height Height of the generated image in pixels.
\[in] bgColor Background color of the generated image.
\[in] styleOptions Rendering style options for a chart.
\[in] options Optional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ visualizeImageChart() \[3/4]

VisualizeImageChartResponse gpudb::GPUdb::visualizeImageChart ( const VisualizeImageChartRequest & request\_ ) const

Scatter plot is the only plot type currently supported.

A non-numeric column can be specified as x or y column and jitters can be added to them to avoid excessive overlapping. All color values must be in the format RRGGBB or AARRGGBB (to specify the alpha value). The image is contained in the imageData field.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ visualizeImageChart() \[4/4]

VisualizeImageChartResponse & gpudb::GPUdb::visualizeImageChart ( const VisualizeImageChartRequest & request\_,
VisualizeImageChartResponse & response\_ ) const

Scatter plot is the only plot type currently supported.

A non-numeric column can be specified as x or y column and jitters can be added to them to avoid excessive overlapping. All color values must be in the format RRGGBB or AARRGGBB (to specify the alpha value). The image is contained in the imageData field.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ visualizeIsochrone() \[1/4]

VisualizeIsochroneResponse gpudb::GPUdb::visualizeIsochrone ( const std::string & graphName,
const std::string & sourceNode,
const double maxSolutionRadius,
const std::vector\< std::string > & weightsOnEdges,
const std::vector\< std::string > & restrictions,
const int32\_t numLevels,
const bool generateImage,
const std::string & levelsTable,
const std::map\< std::string, std::string > & styleOptions,
const std::map\< std::string, std::string > & solveOptions,
const std::map\< std::string, std::string > & contourOptions,
const std::map\< std::string, std::string > & options ) const

Generate an image containing isolines for travel results using an existing graph.

Isolines represent curves of equal cost, with cost typically referring to the time or distance assigned as the weights of the underlying graph. See Graphs and Solvers for more information on graphs.

Parameters
\[in] graphName Name of the graph on which the isochrone is to be computed.
\[in] sourceNode Starting vertex on the underlying graph from/to which the isochrones are created.
\[in] maxSolutionRadius Extent of the search radius around sourceNode. Set to '-1.0' for unrestricted search radius. The default value is -1.0.
\[in] weightsOnEdges Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', or expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS\_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS\_FACTORSPECIFIED') the existing weight(s). The default value is an empty vector.
\[in] restrictions Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', or expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED'. If remove\_previous\_restrictions is set to true, any provided restrictions will replace the existing restrictions. If remove\_previous\_restrictions is set to false, any provided restrictions will be added (in the case of 'RESTRICTIONS\_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS\_ONOFFCOMPARED'). The default value is an empty vector.
\[in] numLevels Number of equally-separated isochrones to compute. The default value is 1.
\[in] generateImage If set to true, generates a PNG image of the isochrones in the response. Supported values:
  • true
  • false
The default value is true.
\[in] levelsTable Name of the table to output the isochrones to, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. The table will contain levels and their corresponding WKT geometry. If no value is provided, the table is not generated. The default value is ''.
\[in] styleOptions Various style related options of the isochrone image.
\[in] solveOptions Solver specific parameters. The default value is an empty map.
\[in] contourOptions Contour specific parameters. The default value is an empty map.
\[in] options Additional parameters. The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ visualizeIsochrone() \[2/4]

VisualizeIsochroneResponse & gpudb::GPUdb::visualizeIsochrone ( const std::string & graphName,
const std::string & sourceNode,
const double maxSolutionRadius,
const std::vector\< std::string > & weightsOnEdges,
const std::vector\< std::string > & restrictions,
const int32\_t numLevels,
const bool generateImage,
const std::string & levelsTable,
const std::map\< std::string, std::string > & styleOptions,
const std::map\< std::string, std::string > & solveOptions,
const std::map\< std::string, std::string > & contourOptions,
const std::map\< std::string, std::string > & options,
VisualizeIsochroneResponse & response\_ ) const

Generate an image containing isolines for travel results using an existing graph.

Isolines represent curves of equal cost, with cost typically referring to the time or distance assigned as the weights of the underlying graph. See Graphs and Solvers for more information on graphs.

Parameters
\[in] graphName Name of the graph on which the isochrone is to be computed.
\[in] sourceNode Starting vertex on the underlying graph from/to which the isochrones are created.
\[in] maxSolutionRadius Extent of the search radius around sourceNode. Set to '-1.0' for unrestricted search radius. The default value is -1.0.
\[in] weightsOnEdges Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS\_EDGE\_ID', or expressions, e.g., 'ST\_LENGTH(wkt) AS WEIGHTS\_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS\_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS\_FACTORSPECIFIED') the existing weight(s). The default value is an empty vector.
\[in] restrictions Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS\_EDGE\_ID', or expressions, e.g., 'column/2 AS RESTRICTIONS\_VALUECOMPARED'. If remove\_previous\_restrictions is set to true, any provided restrictions will replace the existing restrictions. If remove\_previous\_restrictions is set to false, any provided restrictions will be added (in the case of 'RESTRICTIONS\_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS\_ONOFFCOMPARED'). The default value is an empty vector.
\[in] numLevels Number of equally-separated isochrones to compute. The default value is 1.
\[in] generateImage If set to true, generates a PNG image of the isochrones in the response. Supported values:
  • true
  • false
The default value is true.
\[in] levelsTable Name of the table to output the isochrones to, in \[schema\_name.]table\_name format, using standard name resolution rules and meeting table naming criteria. The table will contain levels and their corresponding WKT geometry. If no value is provided, the table is not generated. The default value is ''.
\[in] styleOptions Various style related options of the isochrone image.
\[in] solveOptions Solver specific parameters. The default value is an empty map.
\[in] contourOptions Contour specific parameters. The default value is an empty map.
\[in] options Additional parameters. The default value is an empty map.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ visualizeIsochrone() \[3/4]

VisualizeIsochroneResponse gpudb::GPUdb::visualizeIsochrone ( const VisualizeIsochroneRequest & request\_ ) const

Generate an image containing isolines for travel results using an existing graph.

Isolines represent curves of equal cost, with cost typically referring to the time or distance assigned as the weights of the underlying graph. See Graphs and Solvers for more information on graphs.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ visualizeIsochrone() \[4/4]

VisualizeIsochroneResponse & gpudb::GPUdb::visualizeIsochrone ( const VisualizeIsochroneRequest & request\_,
VisualizeIsochroneResponse & response\_ ) const

Generate an image containing isolines for travel results using an existing graph.

Isolines represent curves of equal cost, with cost typically referring to the time or distance assigned as the weights of the underlying graph. See Graphs and Solvers for more information on graphs.

Parameters
\[in] request\_ Request object containing the parameters for the operation.
\[out] response\_ Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

Friends And Related Symbol Documentation

◆ FailbackPollerService

friend class FailbackPollerService
friend

Definition at line 613 of file GPUdb.hpp.

Member Data Documentation

◆ DB\_CONNECTION\_REFUSED\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_CONNECTION\_REFUSED\_ERROR\_MESSAGE
static

Definition at line 170 of file GPUdb.hpp.

◆ DB\_CONNECTION\_RESET\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_CONNECTION\_RESET\_ERROR\_MESSAGE
static

Special error messages indicating that a connection failure happened (generally should trigger a high-availability failover if applicable)

Definition at line 169 of file GPUdb.hpp.

◆ DB\_DRAINING\_HA\_QUEUE\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_DRAINING\_HA\_QUEUE\_ERROR\_MESSAGE
static

Definition at line 175 of file GPUdb.hpp.

◆ DB\_EXITING\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_EXITING\_ERROR\_MESSAGE
static

Definition at line 171 of file GPUdb.hpp.

◆ DB\_HM\_OFFLINE\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_HM\_OFFLINE\_ERROR\_MESSAGE
static

Definition at line 174 of file GPUdb.hpp.

◆ DB\_OFFLINE\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_OFFLINE\_ERROR\_MESSAGE
static

Definition at line 172 of file GPUdb.hpp.

◆ DB\_QUERY\_PLANNER\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_QUERY\_PLANNER\_ERROR\_MESSAGE
static

Definition at line 177 of file GPUdb.hpp.

◆ DB\_SHUTTING\_DOWN\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_SHUTTING\_DOWN\_ERROR\_MESSAGE
static

Definition at line 176 of file GPUdb.hpp.

◆ DB\_SYSTEM\_LIMITED\_ERROR\_MESSAGE

const std::string gpudb::GPUdb::DB\_SYSTEM\_LIMITED\_ERROR\_MESSAGE
static

Definition at line 173 of file GPUdb.hpp.

◆ END\_OF\_SET

const int64\_t gpudb::GPUdb::END\_OF\_SET = -9999
static

Definition at line 165 of file GPUdb.hpp.

◆ HEADER\_AUTHORIZATION

const std::string gpudb::GPUdb::HEADER\_AUTHORIZATION
static

Headers used internally; MUST add each of them to PROTECTED\_HEADERS in the .cpp file.

Definition at line 181 of file GPUdb.hpp.

◆ HEADER\_CONTENT\_LENGTH

const std::string gpudb::GPUdb::HEADER\_CONTENT\_LENGTH
static

Definition at line 183 of file GPUdb.hpp.

◆ HEADER\_CONTENT\_TYPE

const std::string gpudb::GPUdb::HEADER\_CONTENT\_TYPE
static

Definition at line 182 of file GPUdb.hpp.

◆ HEADER\_HA\_SYNC\_MODE

const std::string gpudb::GPUdb::HEADER\_HA\_SYNC\_MODE
static

Definition at line 184 of file GPUdb.hpp.

◆ HEADER\_USER\_AGENT

const std::string gpudb::GPUdb::HEADER\_USER\_AGENT
static

Definition at line 185 of file GPUdb.hpp.


The documentation for this class was generated from the following files:
# gpudb::GPUdbException Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdbException gpudb::GPUdbException — Kinetica C++ API

#include \<gpudb/GPUdbException.hpp>

Public Member Functions

  GPUdbException (const std::string \&messageParam)
 
virtual const char \*  what () const throw ()
 
  \~GPUdbException () throw ()
 

Protected Attributes

std::string  message
 

Detailed Description

Definition at line 17 of file GPUdbException.hpp.

Constructor & Destructor Documentation

◆ GPUdbException()

gpudb::GPUdbException::GPUdbException ( const std::string & messageParam )
inline

Definition at line 20 of file GPUdbException.hpp.

◆ \~GPUdbException()

gpudb::GPUdbException::\~GPUdbException ( )
throw (  )
inline

Definition at line 24 of file GPUdbException.hpp.

Member Function Documentation

◆ what()

virtual const char \* gpudb::GPUdbException::what ( ) const
throw (  )
inlinevirtual

Member Data Documentation

◆ message

std::string gpudb::GPUdbException::message
protected

Definition at line 27 of file GPUdbException.hpp.


The documentation for this class was generated from the following file:
# gpudb::GPUdbExitException Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdbExitException gpudb::GPUdbExitException — Kinetica C++ API

#include \<gpudb/GPUdbException.hpp>

Public Member Functions

  GPUdbExitException (const std::string \&messageParam)
 
virtual const char \*  what () const throw ()
 
  \~GPUdbExitException () throw ()
 
 Public Member Functions inherited from gpudb::GPUdbException
  GPUdbException (const std::string \&messageParam)
 
  \~GPUdbException () throw ()
 

Additional Inherited Members

 Protected Attributes inherited from gpudb::GPUdbException
std::string  message
 

Detailed Description

Definition at line 57 of file GPUdbException.hpp.

Constructor & Destructor Documentation

◆ GPUdbExitException()

gpudb::GPUdbExitException::GPUdbExitException ( const std::string & messageParam )
inline

Definition at line 60 of file GPUdbException.hpp.

◆ \~GPUdbExitException()

gpudb::GPUdbExitException::\~GPUdbExitException ( )
throw (  )
inline

Definition at line 64 of file GPUdbException.hpp.

Member Function Documentation

◆ what()

virtual const char \* gpudb::GPUdbExitException::what ( ) const
throw (  )
inlinevirtual

Reimplemented from gpudb::GPUdbException.

Definition at line 62 of file GPUdbException.hpp.


The documentation for this class was generated from the following file:
# gpudb::GPUdbHAUnavailableException Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdbHAUnavailableException gpudb::GPUdbHAUnavailableException — Kinetica C++ API

#include \<gpudb/GPUdbException.hpp>

Public Member Functions

  GPUdbHAUnavailableException (const std::string \&messageParam)
 
  GPUdbHAUnavailableException (const std::string \&message\_, const std::vector\< HttpUrl > \&urls\_)
 
virtual const char \*  what () const throw ()
 
  \~GPUdbHAUnavailableException () throw ()
 
 Public Member Functions inherited from gpudb::GPUdbException
  GPUdbException (const std::string \&messageParam)
 
  \~GPUdbException () throw ()
 

Additional Inherited Members

 Protected Attributes inherited from gpudb::GPUdbException
std::string  message
 

Detailed Description

Definition at line 68 of file GPUdbException.hpp.

Constructor & Destructor Documentation

◆ GPUdbHAUnavailableException() \[1/2]

gpudb::GPUdbHAUnavailableException::GPUdbHAUnavailableException ( const std::string & messageParam )
inline

Definition at line 71 of file GPUdbException.hpp.

◆ GPUdbHAUnavailableException() \[2/2]

gpudb::GPUdbHAUnavailableException::GPUdbHAUnavailableException ( const std::string & message\_,
const std::vector\< HttpUrl > & urls\_ )

◆ \~GPUdbHAUnavailableException()

gpudb::GPUdbHAUnavailableException::\~GPUdbHAUnavailableException ( )
throw (  )
inline

Definition at line 78 of file GPUdbException.hpp.

Member Function Documentation

◆ what()

virtual const char \* gpudb::GPUdbHAUnavailableException::what ( ) const
throw (  )
inlinevirtual

Reimplemented from gpudb::GPUdbException.

Definition at line 76 of file GPUdbException.hpp.


The documentation for this class was generated from the following file:
# gpudb::GPUdbIngestor Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdbIngestor gpudb::GPUdbIngestor — Kinetica C++ API

#include \<gpudb/GPUdbIngestor.hpp>

Inherits boost::noncopyable.

Public Member Functions

  GPUdbIngestor (const gpudb::GPUdb \&db, const gpudb::Type \&record\_type, const std::string \&table\_name, const WorkerList \&worker\_list, const std::map\< std::string, std::string > \&insert\_options, size\_t batch\_size)
 
  GPUdbIngestor (const gpudb::GPUdb \&db, const gpudb::Type \&record\_type, const std::string \&table\_name, const WorkerList \&worker\_list, size\_t batch\_size)
 
  GPUdbIngestor (const gpudb::GPUdb \&db, const gpudb::Type \&record\_type, const std::string \&table\_name, const std::map\< std::string, std::string > \&insert\_options, size\_t batch\_size)
 
  GPUdbIngestor (const gpudb::GPUdb \&db, const gpudb::Type \&record\_type, const std::string \&table\_name, size\_t batch\_size)
 
  \~GPUdbIngestor ()
 
const std::string &  getTableName () const
  Returns the name of the table on which this class operates.
 
const gpudb::GPUdb getGPUdb () const
  Returns the GPUdb client handle that this class uses internally.
 
const std::map\< std::string, std::string > &  getOptions () const
  Returns the insertion options the ingestor uses.
 
size\_t  getCountInserted () const
  Returns the count of records inserted so far through this ingestor instance; An atomic operation.
 
size\_t  getCountUpdated () const
  Returns the count of records updated so far through this ingestor instance; An atomic operation.
 
std::vector\< GPUdbInsertionException getErrors ()
  Returns the list of errors received since the last call to getErrors(), and clears the list.
 
std::vector\< GPUdbInsertionException getWarnings ()
  Returns the list of warnings received since the last call to getWarnings(), and clears the list.
 
void  flush ()
  Ensures that all queued records are inserted into the database.
 
void  insert (gpudb::GenericRecord record)
  Queues a record for insertion into GPUdb.
 
void  insert (std::vector\< gpudb::GenericRecord > records)
  Queues a list of records for insertion into Kientica.
 

Detailed Description

Definition at line 33 of file GPUdbIngestor.hpp.

Constructor & Destructor Documentation

◆ GPUdbIngestor() \[1/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb & db,
const gpudb::Type & record\_type,
const std::string & table\_name,
const WorkerList & worker\_list,
const std::map\< std::string, std::string > & insert\_options,
size\_t batch\_size )

◆ GPUdbIngestor() \[2/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb & db,
const gpudb::Type & record\_type,
const std::string & table\_name,
const WorkerList & worker\_list,
size\_t batch\_size )

◆ GPUdbIngestor() \[3/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb & db,
const gpudb::Type & record\_type,
const std::string & table\_name,
const std::map\< std::string, std::string > & insert\_options,
size\_t batch\_size )

◆ GPUdbIngestor() \[4/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb & db,
const gpudb::Type & record\_type,
const std::string & table\_name,
size\_t batch\_size )

◆ \~GPUdbIngestor()

gpudb::GPUdbIngestor::\~GPUdbIngestor ( )

Member Function Documentation

◆ flush()

void gpudb::GPUdbIngestor::flush ( )

Ensures that all queued records are inserted into the database.

If an error occurs while inserting the records from any queue, the recoreds will no longer be in that queue nor in the database; catch GPUdbInsertException\ to get the list of records that were being inserted if needed (for example, to retry). Other queues may also still contain unflushed records if this occurs.

◆ getCountInserted()

size\_t gpudb::GPUdbIngestor::getCountInserted ( ) const
inline

Returns the count of records inserted so far through this ingestor instance; An atomic operation.

Definition at line 79 of file GPUdbIngestor.hpp.

◆ getCountUpdated()

size\_t gpudb::GPUdbIngestor::getCountUpdated ( ) const
inline

Returns the count of records updated so far through this ingestor instance; An atomic operation.

Definition at line 85 of file GPUdbIngestor.hpp.

◆ getErrors()

std::vector\< GPUdbInsertionException > gpudb::GPUdbIngestor::getErrors ( )

Returns the list of errors received since the last call to getErrors(), and clears the list.

◆ getGPUdb()

const gpudb::GPUdb & gpudb::GPUdbIngestor::getGPUdb ( ) const
inline

Returns the GPUdb client handle that this class uses internally.

Definition at line 68 of file GPUdbIngestor.hpp.

◆ getOptions()

const std::map\< std::string, std::string > & gpudb::GPUdbIngestor::getOptions ( ) const
inline

Returns the insertion options the ingestor uses.

Definition at line 73 of file GPUdbIngestor.hpp.

◆ getTableName()

const std::string & gpudb::GPUdbIngestor::getTableName ( ) const
inline

Returns the name of the table on which this class operates.

Definition at line 63 of file GPUdbIngestor.hpp.

◆ getWarnings()

std::vector\< GPUdbInsertionException > gpudb::GPUdbIngestor::getWarnings ( )

Returns the list of warnings received since the last call to getWarnings(), and clears the list.

◆ insert() \[1/2]

void gpudb::GPUdbIngestor::insert ( gpudb::GenericRecord record )

Queues a record for insertion into GPUdb.

If the queue reaches the configured batch size, all records in the queue will be inserted into Kinetica before the method returns. If an error occurs while inserting the records, the records will no longer be in the queue nor in Kinetica; catch InsertException\ to get the list of records that were being inserted if needed (for example, to retry).

Parameters
record The record to insert.

◆ insert() \[2/2]

void gpudb::GPUdbIngestor::insert ( std::vector\< gpudb::GenericRecord > records )

Queues a list of records for insertion into Kientica.

If any queue reaches the configured batch size, all records in the queue will be inserted into Kinetica before the method returns. If an error occurs while inserting the records, the records will no longer be in the queue nor in Kinetica; catch InsertException\ to get the list of records that were being inserted if needed (for example, to retry).

Parameters
records The records to insert.

The documentation for this class was generated from the following file:
# gpudb::GPUdbInsertionException Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdbInsertionException gpudb::GPUdbInsertionException — Kinetica C++ API

#include \<gpudb/GPUdbException.hpp>

Public Member Functions

  GPUdbInsertionException (const std::string \&messageParam)
 
  GPUdbInsertionException (const std::string \&url\_, const std::vector\< gpudb::GenericRecord > \&records\_, const std::string \&message\_)
 
virtual const char \*  what () const throw ()
 
  \~GPUdbInsertionException () throw ()
 
void  append\_records (std::vector\< gpudb::GenericRecord >::iterator begin, std::vector\< gpudb::GenericRecord >::iterator end)
 
std::vector\< gpudb::GenericRecord getRecords () const
 
 Public Member Functions inherited from gpudb::GPUdbException
  GPUdbException (const std::string \&messageParam)
 
  \~GPUdbException () throw ()
 

Additional Inherited Members

 Protected Attributes inherited from gpudb::GPUdbException
std::string  message
 

Detailed Description

Definition at line 32 of file GPUdbException.hpp.

Constructor & Destructor Documentation

◆ GPUdbInsertionException() \[1/2]

gpudb::GPUdbInsertionException::GPUdbInsertionException ( const std::string & messageParam )
inline

Definition at line 35 of file GPUdbException.hpp.

◆ GPUdbInsertionException() \[2/2]

gpudb::GPUdbInsertionException::GPUdbInsertionException ( const std::string & url\_,
const std::vector\< gpudb::GenericRecord > & records\_,
const std::string & message\_ )

◆ \~GPUdbInsertionException()

gpudb::GPUdbInsertionException::\~GPUdbInsertionException ( )
throw (  )
inline

Definition at line 43 of file GPUdbException.hpp.

Member Function Documentation

◆ append\_records()

void gpudb::GPUdbInsertionException::append\_records ( std::vector\< gpudb::GenericRecord >::iterator begin,
std::vector\< gpudb::GenericRecord >::iterator end )

◆ getRecords()

std::vector\< gpudb::GenericRecord > gpudb::GPUdbInsertionException::getRecords ( ) const
inline

Definition at line 49 of file GPUdbException.hpp.

◆ what()

virtual const char \* gpudb::GPUdbInsertionException::what ( ) const
throw (  )
inlinevirtual

Reimplemented from gpudb::GPUdbException.

Definition at line 41 of file GPUdbException.hpp.


The documentation for this class was generated from the following file:
# gpudb::GPUdbSubmitException Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdbSubmitException gpudb::GPUdbSubmitException — Kinetica C++ API

#include \<gpudb/GPUdbException.hpp>

Public Member Functions

  GPUdbSubmitException (const std::string \&messageParam)
 
  GPUdbSubmitException (HttpUrl url\_, const std::vector\< uint8\_t > \&request\_, const std::string \&message\_)
 
virtual const char \*  what () const throw ()
 
  \~GPUdbSubmitException () throw ()
 
 Public Member Functions inherited from gpudb::GPUdbException
  GPUdbException (const std::string \&messageParam)
 
  \~GPUdbException () throw ()
 

Additional Inherited Members

 Protected Attributes inherited from gpudb::GPUdbException
std::string  message
 

Detailed Description

Definition at line 86 of file GPUdbException.hpp.

Constructor & Destructor Documentation

◆ GPUdbSubmitException() \[1/2]

gpudb::GPUdbSubmitException::GPUdbSubmitException ( const std::string & messageParam )
inline

Definition at line 89 of file GPUdbException.hpp.

◆ GPUdbSubmitException() \[2/2]

gpudb::GPUdbSubmitException::GPUdbSubmitException ( HttpUrl url\_,
const std::vector\< uint8\_t > & request\_,
const std::string & message\_ )

◆ \~GPUdbSubmitException()

gpudb::GPUdbSubmitException::\~GPUdbSubmitException ( )
throw (  )
inline

Definition at line 96 of file GPUdbException.hpp.

Member Function Documentation

◆ what()

virtual const char \* gpudb::GPUdbSubmitException::what ( ) const
throw (  )
inlinevirtual

Reimplemented from gpudb::GPUdbException.

Definition at line 94 of file GPUdbException.hpp.


The documentation for this class was generated from the following file:
# gpudb::GPUdb::Options Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GPUdb_1_1Options gpudb::GPUdb::Options — Kinetica C++ API

#include \<gpudb/GPUdb.hpp>

Public Member Functions

  Options ()
 
boost::asio::ssl::context \*  getSslContext () const
 
bool  getBypassSslCertCheck () const
 
std::string  getUsername () const
 
std::string  getPassword () const
 
std::string  getOauthToken () const
 
std::string  getPrimaryUrl () const
  Return the URL of the primary cluster, if any (empty string delineates that none was set)
 
bool  getUseSnappy () const
 
size\_t  getThreadCount () const
 
avro::ExecutorPtr  getExecutor () const
 
std::map\< std::string, std::string > &  getHttpHeaders ()
  Get the HTTP headers (will include the high-availability synchronicity override header)
 
const std::map\< std::string, std::string > &  getHttpHeaders () const
 
size\_t  getTimeout () const
 
uint16\_t  getHostManagerPort () const
 
bool  getDisableFailover () const
 
bool  getDisableAutoDiscovery () const
 
std::string  getClientName () const
 
std::string  getClientVersion () const
 
Options setSslContext (boost::asio::ssl::context \*value)
 
Options setBypassSslCertCheck (const bool value)
 
Options setUsername (const std::string \&value)
 
Options setPassword (const std::string \&value)
 
Options setOauthToken (const std::string \&value)
 
Options setPrimaryUrl (const std::string \&value)
  Set the URL for the primary cluster.
 
Options setUseSnappy (const bool value)
 
Options setThreadCount (const size\_t value)
 
Options setExecutor (const avro::ExecutorPtr value)
 
Options setHttpHeaders (const std::map\< std::string, std::string > \&value)
 
Options addHttpHeader (const std::string \&header, const std::string \&value)
 
Options setTimeout (const size\_t value)
 
Options setHostManagerPort (const uint16\_t value)
 
Options setDisableFailover (const bool value)
 
Options setDisableAutoDiscovery (const bool value)
 
Options setClientName (const std::string \&value)
 
Options setClientVersion (const std::string \&value)
 

Detailed Description

Definition at line 63 of file GPUdb.hpp.

Constructor & Destructor Documentation

◆ Options()

gpudb::GPUdb::Options::Options ( )

Member Function Documentation

◆ addHttpHeader()

Options & gpudb::GPUdb::Options::addHttpHeader ( const std::string & header,
const std::string & value )

◆ getBypassSslCertCheck()

bool gpudb::GPUdb::Options::getBypassSslCertCheck ( ) const

◆ getClientName()

std::string gpudb::GPUdb::Options::getClientName ( ) const

◆ getClientVersion()

std::string gpudb::GPUdb::Options::getClientVersion ( ) const

◆ getDisableAutoDiscovery()

bool gpudb::GPUdb::Options::getDisableAutoDiscovery ( ) const

◆ getDisableFailover()

bool gpudb::GPUdb::Options::getDisableFailover ( ) const

◆ getExecutor()

avro::ExecutorPtr gpudb::GPUdb::Options::getExecutor ( ) const

◆ getHostManagerPort()

uint16\_t gpudb::GPUdb::Options::getHostManagerPort ( ) const

◆ getHttpHeaders() \[1/2]

std::map\< std::string, std::string > & gpudb::GPUdb::Options::getHttpHeaders ( )

Get the HTTP headers (will include the high-availability synchronicity override header)

◆ getHttpHeaders() \[2/2]

const std::map\< std::string, std::string > & gpudb::GPUdb::Options::getHttpHeaders ( ) const

◆ getOauthToken()

std::string gpudb::GPUdb::Options::getOauthToken ( ) const

◆ getPassword()

std::string gpudb::GPUdb::Options::getPassword ( ) const

◆ getPrimaryUrl()

std::string gpudb::GPUdb::Options::getPrimaryUrl ( ) const

Return the URL of the primary cluster, if any (empty string delineates that none was set)

◆ getSslContext()

boost::asio::ssl::context \* gpudb::GPUdb::Options::getSslContext ( ) const

◆ getThreadCount()

size\_t gpudb::GPUdb::Options::getThreadCount ( ) const

◆ getTimeout()

size\_t gpudb::GPUdb::Options::getTimeout ( ) const

◆ getUsername()

std::string gpudb::GPUdb::Options::getUsername ( ) const

◆ getUseSnappy()

bool gpudb::GPUdb::Options::getUseSnappy ( ) const

◆ setBypassSslCertCheck()

Options & gpudb::GPUdb::Options::setBypassSslCertCheck ( const bool value )

◆ setClientName()

Options & gpudb::GPUdb::Options::setClientName ( const std::string & value )

◆ setClientVersion()

Options & gpudb::GPUdb::Options::setClientVersion ( const std::string & value )

◆ setDisableAutoDiscovery()

Options & gpudb::GPUdb::Options::setDisableAutoDiscovery ( const bool value )

◆ setDisableFailover()

Options & gpudb::GPUdb::Options::setDisableFailover ( const bool value )

◆ setExecutor()

Options & gpudb::GPUdb::Options::setExecutor ( const avro::ExecutorPtr value )

◆ setHostManagerPort()

Options & gpudb::GPUdb::Options::setHostManagerPort ( const uint16\_t value )

◆ setHttpHeaders()

Options & gpudb::GPUdb::Options::setHttpHeaders ( const std::map\< std::string, std::string > & value )

◆ setOauthToken()

Options & gpudb::GPUdb::Options::setOauthToken ( const std::string & value )

◆ setPassword()

Options & gpudb::GPUdb::Options::setPassword ( const std::string & value )

◆ setPrimaryUrl()

Options & gpudb::GPUdb::Options::setPrimaryUrl ( const std::string & value )

Set the URL for the primary cluster.

◆ setSslContext()

Options & gpudb::GPUdb::Options::setSslContext ( boost::asio::ssl::context \* value )

◆ setThreadCount()

Options & gpudb::GPUdb::Options::setThreadCount ( const size\_t value )

◆ setTimeout()

Options & gpudb::GPUdb::Options::setTimeout ( const size\_t value )

◆ setUsername()

Options & gpudb::GPUdb::Options::setUsername ( const std::string & value )

◆ setUseSnappy()

Options & gpudb::GPUdb::Options::setUseSnappy ( const bool value )

The documentation for this class was generated from the following file:
# gpudb::GenericRecord Source: https://docs.kinetica.com/content/api/cpp/classgpudb_1_1GenericRecord gpudb::GenericRecord — Kinetica C++ API

#include \<gpudb/GenericRecord.hpp>

Public Member Functions

  GenericRecord (const Type \&type)
  Create a blank GenericRecord object from a given type.
 
const Type getType () const
 
const ::avro::ValidSchema &  getSchema () const
 
template\
T &  value (const size\_t index)
 
template\
const T &  value (const size\_t index) const
 
template\
T &  value (const std::string \&name)
 
template\
const T &  value (const std::string \&name) const
 
std::vector\< uint8\_t > &  bytesValue (const size\_t index)
 
const std::vector\< uint8\_t > &  bytesValue (const size\_t index) const
 
std::vector\< uint8\_t > &  bytesValue (const std::string \&name)
 
const std::vector\< uint8\_t > &  bytesValue (const std::string \&name) const
 
double &  doubleValue (const size\_t index)
 
const double &  doubleValue (const size\_t index) const
 
double &  doubleValue (const std::string \&name)
 
const double &  doubleValue (const std::string \&name) const
 
float &  floatValue (const size\_t index)
 
const float &  floatValue (const size\_t index) const
 
float &  floatValue (const std::string \&name)
 
const float &  floatValue (const std::string \&name) const
 
int32\_t &  intValue (const size\_t index)
 
const int32\_t &  intValue (const size\_t index) const
 
int32\_t &  intValue (const std::string \&name)
 
const int32\_t &  intValue (const std::string \&name) const
 
int64\_t &  longValue (const size\_t index)
 
const int64\_t &  longValue (const size\_t index) const
 
int64\_t &  longValue (const std::string \&name)
 
const int64\_t &  longValue (const std::string \&name) const
 
std::string &  stringValue (const size\_t index)
 
const std::string &  stringValue (const size\_t index) const
 
std::string &  stringValue (const std::string \&name)
 
const std::string &  stringValue (const std::string \&name) const
 
boost::optional\< std::vector\< uint8\_t > > &  nullableBytesValue (const size\_t index)
 
const boost::optional\< std::vector\< uint8\_t > > &  nullableBytesValue (const size\_t index) const
 
boost::optional\< std::vector\< uint8\_t > > &  nullableBytesValue (const std::string \&name)
 
const boost::optional\< std::vector\< uint8\_t > > &  nullableBytesValue (const std::string \&name) const
 
boost::optional\< double > &  nullableDoubleValue (const size\_t index)
 
const boost::optional\< double > &  nullableDoubleValue (const size\_t index) const
 
boost::optional\< double > &  nullableDoubleValue (const std::string \&name)
 
const boost::optional\< double > &  nullableDoubleValue (const std::string \&name) const
 
boost::optional\< float > &  nullableFloatValue (const size\_t index)
 
const boost::optional\< float > &  nullableFloatValue (const size\_t index) const
 
boost::optional\< float > &  nullableFloatValue (const std::string \&name)
 
const boost::optional\< float > &  nullableFloatValue (const std::string \&name) const
 
boost::optional\< int32\_t > &  nullableIntValue (const size\_t index)
 
const boost::optional\< int32\_t > &  nullableIntValue (const size\_t index) const
 
boost::optional\< int32\_t > &  nullableIntValue (const std::string \&name)
 
const boost::optional\< int32\_t > &  nullableIntValue (const std::string \&name) const
 
boost::optional\< int64\_t > &  nullableLongValue (const size\_t index)
 
const boost::optional\< int64\_t > &  nullableLongValue (const size\_t index) const
 
boost::optional\< int64\_t > &  nullableLongValue (const std::string \&name)
 
const boost::optional\< int64\_t > &  nullableLongValue (const std::string \&name) const
 
boost::optional\< std::string > &  nullableStringValue (const size\_t index)
 
const boost::optional\< std::string > &  nullableStringValue (const size\_t index) const
 
boost::optional\< std::string > &  nullableStringValue (const std::string \&name)
 
const boost::optional\< std::string > &  nullableStringValue (const std::string \&name) const
 
bool  isNull (const size\_t index) const
 
bool  isNull (const std::string \&name) const
 
template\
void  getAsArray (const size\_t index, std::vector\< T > \&result) const
 
template\
void  getAsArray (const std::string \&name, std::vector\< T > \&result) const
 
template\
std::vector\< T >  getAsArray (const size\_t index) const
 
template\
std::vector\< T >  getAsArray (const std::string \&name) const
 
void  getAsBytes (const size\_t index, std::vector\< uint8\_t > \&result) const
 
void  getAsBytes (const std::string \&name, std::vector\< uint8\_t > \&result) const
 
std::vector\< uint8\_t >  getAsBytes (const size\_t index) const
 
std::vector\< uint8\_t >  getAsBytes (const std::string \&name) const
 
void  getAsDouble (const size\_t index, double \&result) const
 
void  getAsDouble (const std::string \&name, double \&result) const
 
double  getAsDouble (const size\_t index) const
 
double  getAsDouble (const std::string \&name) const
 
void  getAsFloat (const size\_t index, float \&result) const
 
void  getAsFloat (const std::string \&name, float \&result) const
 
float  getAsFloat (const size\_t index) const
 
float  getAsFloat (const std::string \&name) const
 
void  getAsInt (const size\_t index, int32\_t \&result) const
 
void  getAsInt (const std::string \&name, int32\_t \&result) const
 
int32\_t  getAsInt (const size\_t index) const
 
int32\_t  getAsInt (const std::string \&name) const
 
void  getAsLong (const size\_t index, int64\_t \&result) const
 
void  getAsLong (const std::string \&name, int64\_t \&result) const
 
int64\_t  getAsLong (const size\_t index) const
 
int64\_t  getAsLong (const std::string \&name) const
 
void  getAsString (const size\_t index, std::string \&result) const
 
void  getAsString (const std::string \&name, std::string \&result) const
 
std::string  getAsString (const size\_t index) const
 
std::string  getAsString (const std::string \&name) const
 
void  getAsVector (const size\_t index, std::vector\< float > \&result) const
 
void  getAsVector (const std::string \&name, std::vector\< float > \&result) const
 
std::vector\< float >  getAsVector (const size\_t index) const
 
std::vector\< float >  getAsVector (const std::string \&name) const
 
void  getAsNullableBytes (const size\_t index, boost::optional\< std::vector\< uint8\_t > > \&result) const
 
void  getAsNullableBytes (const std::string \&name, boost::optional\< std::vector\< uint8\_t > > \&result) const
 
boost::optional\< std::vector\< uint8\_t > >  getAsNullableBytes (const size\_t index) const
 
boost::optional\< std::vector\< uint8\_t > >  getAsNullableBytes (const std::string \&name) const
 
void  getAsNullableDouble (const size\_t index, boost::optional\< double > \&result) const
 
void  getAsNullableDouble (const std::string \&name, boost::optional\< double > \&result) const
 
boost::optional\< double >  getAsNullableDouble (const size\_t index) const
 
boost::optional\< double >  getAsNullableDouble (const std::string \&name) const
 
void  getAsNullableFloat (const size\_t index, boost::optional\< float > \&result) const
 
void  getAsNullableFloat (const std::string \&name, boost::optional\< float > \&result) const
 
boost::optional\< float >  getAsNullableFloat (const size\_t index) const
 
boost::optional\< float >  getAsNullableFloat (const std::string \&name) const
 
void  getAsNullableInt (const size\_t index, boost::optional\< int32\_t > \&result) const
 
void  getAsNullableInt (const std::string \&name, boost::optional\< int32\_t > \&result) const
 
boost::optional\< int32\_t >  getAsNullableInt (const size\_t index) const
 
boost::optional\< int32\_t >  getAsNullableInt (const std::string \&name) const
 
void  getAsNullableLong (const size\_t index, boost::optional\< int64\_t > \&result) const
 
void  getAsNullableLong (const std::string \&name, boost::optional\< int64\_t > \&result) const
 
boost::optional\< int64\_t >  getAsNullableLong (const size\_t index) const
 
boost::optional\< int64\_t >  getAsNullableLong (const std::string \&name) const
 
void  getAsNullableString (const size\_t index, boost::optional\< std::string > \&result) const
 
void  getAsNullableString (const std::string \&name, boost::optional\< std::string > \&result) const
 
boost::optional\< std::string >  getAsNullableString (const size\_t index) const
 
boost::optional\< std::string >  getAsNullableString (const std::string \&name) const
 
void  setNull (const size\_t index)
 
void  setNull (const std::string \&name)
 
template\
void  setAsArray (const size\_t index, const std::vector\< T > \&newValue)
 
template\
void  setAsArray (const std::string \&name, const std::vector\< T > \&newValue)
 
void  setAsBytes (const size\_t index, const std::vector\< uint8\_t > \&newValue)
 
void  setAsBytes (const std::string \&name, const std::vector\< uint8\_t > \&newValue)
 
void  setAsDouble (const size\_t index, const double \&newValue)
 
void  setAsDouble (const std::string \&name, const double \&newValue)
 
void  setAsFloat (const size\_t index, const float \&newValue)
 
void  setAsFloat (const std::string \&name, const float \&newValue)
 
void  setAsInt (const size\_t index, const int32\_t \&newValue)
 
void  setAsInt (const std::string \&name, const int32\_t \&newValue)
 
void  setAsLong (const size\_t index, const int64\_t \&newValue)
 
void  setAsLong (const std::string \&name, const int64\_t \&newValue)
 
void  setAsString (const size\_t index, const std::string \&newValue)
 
void  setAsString (const std::string \&name, const std::string \&newValue)
 
void  setAsVector (const size\_t index, const std::vector\< float > \&newValue)
 
void  setAsVector (const std::string \&name, const std::vector\< float > \&newValue)
 
void  setAsNullableBytes (const size\_t index, const boost::optional\< std::vector\< uint8\_t > > \&newValue)
 
void  setAsNullableBytes (const std::string \&name, const boost::optional\< std::vector\< uint8\_t > > \&newValue)
 
void  setAsNullableDouble (const size\_t index, const boost::optional\< double > \&newValue)
 
void  setAsNullableDouble (const std::string \&name, const boost::optional\< double > \&newValue)
 
void  setAsNullableFloat (const size\_t index, const boost::optional\< float > \&newValue)
 
void  setAsNullableFloat (const std::string \&name, const boost::optional\< float > \&newValue)
 
void  setAsNullableInt (const size\_t index, const boost::optional\< int32\_t > \&newValue)
 
void  setAsNullableInt (const std::string \&name, const boost::optional\< int32\_t > \&newValue)
 
void  setAsNullableLong (const size\_t index, const boost::optional\< int64\_t > \&newValue)
 
void  setAsNullableLong (const std::string \&name, const boost::optional\< int64\_t > \&newValue)
 
void  setAsNullableString (const size\_t index, const boost::optional\< std::string > \&newValue)
 
void  setAsNullableString (const std::string \&name, const boost::optional\< std::string > \&newValue)
 
void  toString (const size\_t index, std::string \&result) const
 
void  toString (const std::string \&name, std::string \&result) const
 
std::string  toString (const size\_t index) const
 
std::string  toString (const std::string \&name) const
 

Static Public Member Functions

static void  decode (const std::string \&schemaString, const std::vector\< std::vector\< uint8\_t > > \&encodedData, std::vector\< GenericRecord > \&data)
  Decodes avro encoded data (given the schema string) into GenericRecord objects.
 
static void  decode (const std::string \&schemaString, const std::vector\< uint8\_t > \&encodedData, GenericRecord \&data)
  Decodes avro encoded data (given the schema string) into GenericRecord objects.
 

Friends

class  GPUdb
 
std::ostream &  operator\<\< (std::ostream \&os, GenericRecord \&gr)
 
std::ostream &  operator\<\< (std::ostream \&os, const GenericRecord \&gr)
 

Detailed Description

Definition at line 23 of file GenericRecord.hpp.

Constructor & Destructor Documentation

◆ GenericRecord()

gpudb::GenericRecord::GenericRecord ( const Type & type )

Create a blank GenericRecord object from a given type.

Member Function Documentation

◆ bytesValue() \[1/4]

std::vector\< uint8\_t > & gpudb::GenericRecord::bytesValue ( const size\_t index )

◆ bytesValue() \[2/4]

const std::vector\< uint8\_t > & gpudb::GenericRecord::bytesValue ( const size\_t index ) const

◆ bytesValue() \[3/4]

std::vector\< uint8\_t > & gpudb::GenericRecord::bytesValue ( const std::string & name )

◆ bytesValue() \[4/4]

const std::vector\< uint8\_t > & gpudb::GenericRecord::bytesValue ( const std::string & name ) const

◆ decode() \[1/2]

static void gpudb::GenericRecord::decode ( const std::string & schemaString,
const std::vector\< std::vector\< uint8\_t > > & encodedData,
std::vector\< GenericRecord > & data )
static

Decodes avro encoded data (given the schema string) into GenericRecord objects.

Parameters
\[in] schemaString Avro schema string used for decoding the data
\[in] encodedData Avro encoded binary data containing multiple records.
\[out] data Vector of decoded GenericRecord objects. The vector is cleared before operation begins.

◆ decode() \[2/2]

static void gpudb::GenericRecord::decode ( const std::string & schemaString,
const std::vector\< uint8\_t > & encodedData,
GenericRecord & data )
static

Decodes avro encoded data (given the schema string) into GenericRecord objects.

Parameters
\[in] schemaString Avro schema string used for decoding the data
\[in] encodedData Avro encoded binary data containing a single record.
\[out] data A decoded GenericRecord object

◆ doubleValue() \[1/4]

double & gpudb::GenericRecord::doubleValue ( const size\_t index )

◆ doubleValue() \[2/4]

const double & gpudb::GenericRecord::doubleValue ( const size\_t index ) const

◆ doubleValue() \[3/4]

double & gpudb::GenericRecord::doubleValue ( const std::string & name )

◆ doubleValue() \[4/4]

const double & gpudb::GenericRecord::doubleValue ( const std::string & name ) const

◆ floatValue() \[1/4]

float & gpudb::GenericRecord::floatValue ( const size\_t index )

◆ floatValue() \[2/4]

const float & gpudb::GenericRecord::floatValue ( const size\_t index ) const

◆ floatValue() \[3/4]

float & gpudb::GenericRecord::floatValue ( const std::string & name )

◆ floatValue() \[4/4]

const float & gpudb::GenericRecord::floatValue ( const std::string & name ) const

◆ getAsArray() \[1/4]

template\
std::vector\< T > gpudb::GenericRecord::getAsArray ( const size\_t index ) const

◆ getAsArray() \[2/4]

template\
void gpudb::GenericRecord::getAsArray ( const size\_t index,
std::vector\< T > & result ) const

◆ getAsArray() \[3/4]

template\
std::vector\< T > gpudb::GenericRecord::getAsArray ( const std::string & name ) const

◆ getAsArray() \[4/4]

template\
void gpudb::GenericRecord::getAsArray ( const std::string & name,
std::vector\< T > & result ) const

◆ getAsBytes() \[1/4]

std::vector\< uint8\_t > gpudb::GenericRecord::getAsBytes ( const size\_t index ) const

◆ getAsBytes() \[2/4]

void gpudb::GenericRecord::getAsBytes ( const size\_t index,
std::vector\< uint8\_t > & result ) const

◆ getAsBytes() \[3/4]

std::vector\< uint8\_t > gpudb::GenericRecord::getAsBytes ( const std::string & name ) const

◆ getAsBytes() \[4/4]

void gpudb::GenericRecord::getAsBytes ( const std::string & name,
std::vector\< uint8\_t > & result ) const

◆ getAsDouble() \[1/4]

double gpudb::GenericRecord::getAsDouble ( const size\_t index ) const

◆ getAsDouble() \[2/4]

void gpudb::GenericRecord::getAsDouble ( const size\_t index,
double & result ) const

◆ getAsDouble() \[3/4]

double gpudb::GenericRecord::getAsDouble ( const std::string & name ) const

◆ getAsDouble() \[4/4]

void gpudb::GenericRecord::getAsDouble ( const std::string & name,
double & result ) const

◆ getAsFloat() \[1/4]

float gpudb::GenericRecord::getAsFloat ( const size\_t index ) const

◆ getAsFloat() \[2/4]

void gpudb::GenericRecord::getAsFloat ( const size\_t index,
float & result ) const

◆ getAsFloat() \[3/4]

float gpudb::GenericRecord::getAsFloat ( const std::string & name ) const

◆ getAsFloat() \[4/4]

void gpudb::GenericRecord::getAsFloat ( const std::string & name,
float & result ) const

◆ getAsInt() \[1/4]

int32\_t gpudb::GenericRecord::getAsInt ( const size\_t index ) const

◆ getAsInt() \[2/4]

void gpudb::GenericRecord::getAsInt ( const size\_t index,
int32\_t & result ) const

◆ getAsInt() \[3/4]

int32\_t gpudb::GenericRecord::getAsInt ( const std::string & name ) const

◆ getAsInt() \[4/4]

void gpudb::GenericRecord::getAsInt ( const std::string & name,
int32\_t & result ) const

◆ getAsLong() \[1/4]

int64\_t gpudb::GenericRecord::getAsLong ( const size\_t index ) const

◆ getAsLong() \[2/4]

void gpudb::GenericRecord::getAsLong ( const size\_t index,
int64\_t & result ) const

◆ getAsLong() \[3/4]

int64\_t gpudb::GenericRecord::getAsLong ( const std::string & name ) const

◆ getAsLong() \[4/4]

void gpudb::GenericRecord::getAsLong ( const std::string & name,
int64\_t & result ) const

◆ getAsNullableBytes() \[1/4]

boost::optional\< std::vector\< uint8\_t > > gpudb::GenericRecord::getAsNullableBytes ( const size\_t index ) const

◆ getAsNullableBytes() \[2/4]

void gpudb::GenericRecord::getAsNullableBytes ( const size\_t index,
boost::optional\< std::vector\< uint8\_t > > & result ) const

◆ getAsNullableBytes() \[3/4]

boost::optional\< std::vector\< uint8\_t > > gpudb::GenericRecord::getAsNullableBytes ( const std::string & name ) const

◆ getAsNullableBytes() \[4/4]

void gpudb::GenericRecord::getAsNullableBytes ( const std::string & name,
boost::optional\< std::vector\< uint8\_t > > & result ) const

◆ getAsNullableDouble() \[1/4]

boost::optional\< double > gpudb::GenericRecord::getAsNullableDouble ( const size\_t index ) const

◆ getAsNullableDouble() \[2/4]

void gpudb::GenericRecord::getAsNullableDouble ( const size\_t index,
boost::optional\< double > & result ) const

◆ getAsNullableDouble() \[3/4]

boost::optional\< double > gpudb::GenericRecord::getAsNullableDouble ( const std::string & name ) const

◆ getAsNullableDouble() \[4/4]

void gpudb::GenericRecord::getAsNullableDouble ( const std::string & name,
boost::optional\< double > & result ) const

◆ getAsNullableFloat() \[1/4]

boost::optional\< float > gpudb::GenericRecord::getAsNullableFloat ( const size\_t index ) const

◆ getAsNullableFloat() \[2/4]

void gpudb::GenericRecord::getAsNullableFloat ( const size\_t index,
boost::optional\< float > & result ) const

◆ getAsNullableFloat() \[3/4]

boost::optional\< float > gpudb::GenericRecord::getAsNullableFloat ( const std::string & name ) const

◆ getAsNullableFloat() \[4/4]

void gpudb::GenericRecord::getAsNullableFloat ( const std::string & name,
boost::optional\< float > & result ) const

◆ getAsNullableInt() \[1/4]

boost::optional\< int32\_t > gpudb::GenericRecord::getAsNullableInt ( const size\_t index ) const

◆ getAsNullableInt() \[2/4]

void gpudb::GenericRecord::getAsNullableInt ( const size\_t index,
boost::optional\< int32\_t > & result ) const

◆ getAsNullableInt() \[3/4]

boost::optional\< int32\_t > gpudb::GenericRecord::getAsNullableInt ( const std::string & name ) const

◆ getAsNullableInt() \[4/4]

void gpudb::GenericRecord::getAsNullableInt ( const std::string & name,
boost::optional\< int32\_t > & result ) const

◆ getAsNullableLong() \[1/4]

boost::optional\< int64\_t > gpudb::GenericRecord::getAsNullableLong ( const size\_t index ) const

◆ getAsNullableLong() \[2/4]

void gpudb::GenericRecord::getAsNullableLong ( const size\_t index,
boost::optional\< int64\_t > & result ) const

◆ getAsNullableLong() \[3/4]

boost::optional\< int64\_t > gpudb::GenericRecord::getAsNullableLong ( const std::string & name ) const

◆ getAsNullableLong() \[4/4]

void gpudb::GenericRecord::getAsNullableLong ( const std::string & name,
boost::optional\< int64\_t > & result ) const

◆ getAsNullableString() \[1/4]

boost::optional\< std::string > gpudb::GenericRecord::getAsNullableString ( const size\_t index ) const

◆ getAsNullableString() \[2/4]

void gpudb::GenericRecord::getAsNullableString ( const size\_t index,
boost::optional\< std::string > & result ) const

◆ getAsNullableString() \[3/4]

boost::optional\< std::string > gpudb::GenericRecord::getAsNullableString ( const std::string & name ) const

◆ getAsNullableString() \[4/4]

void gpudb::GenericRecord::getAsNullableString ( const std::string & name,
boost::optional\< std::string > & result ) const

◆ getAsString() \[1/4]

std::string gpudb::GenericRecord::getAsString ( const size\_t index ) const

◆ getAsString() \[2/4]

void gpudb::GenericRecord::getAsString ( const size\_t index,
std::string & result ) const

◆ getAsString() \[3/4]

std::string gpudb::GenericRecord::getAsString ( const std::string & name ) const

◆ getAsString() \[4/4]

void gpudb::GenericRecord::getAsString ( const std::string & name,
std::string & result ) const

◆ getAsVector() \[1/4]

std::vector\< float > gpudb::GenericRecord::getAsVector ( const size\_t index ) const

◆ getAsVector() \[2/4]

void gpudb::GenericRecord::getAsVector ( const size\_t index,
std::vector\< float > & result ) const

◆ getAsVector() \[3/4]

std::vector\< float > gpudb::GenericRecord::getAsVector ( const std::string & name ) const

◆ getAsVector() \[4/4]

void gpudb::GenericRecord::getAsVector ( const std::string & name,
std::vector\< float > & result ) const

◆ getSchema()

const ::avro::ValidSchema & gpudb::GenericRecord::getSchema ( ) const

◆ getType()

const Type & gpudb::GenericRecord::getType ( ) const

◆ intValue() \[1/4]

int32\_t & gpudb::GenericRecord::intValue ( const size\_t index )

◆ intValue() \[2/4]

const int32\_t & gpudb::GenericRecord::intValue ( const size\_t index ) const

◆ intValue() \[3/4]

int32\_t & gpudb::GenericRecord::intValue ( const std::string & name )

◆ intValue() \[4/4]

const int32\_t & gpudb::GenericRecord::intValue ( const std::string & name ) const

◆ isNull() \[1/2]

bool gpudb::GenericRecord::isNull ( const size\_t index ) const

◆ isNull() \[2/2]

bool gpudb::GenericRecord::isNull ( const std::string & name ) const

◆ longValue() \[1/4]

int64\_t & gpudb::GenericRecord::longValue ( const size\_t index )

◆ longValue() \[2/4]

const int64\_t & gpudb::GenericRecord::longValue ( const size\_t index ) const

◆ longValue() \[3/4]

int64\_t & gpudb::GenericRecord::longValue ( const std::string & name )

◆ longValue() \[4/4]

const int64\_t & gpudb::GenericRecord::longValue ( const std::string & name ) const

◆ nullableBytesValue() \[1/4]

boost::optional\< std::vector\< uint8\_t > > & gpudb::GenericRecord::nullableBytesValue ( const size\_t index )

◆ nullableBytesValue() \[2/4]

const boost::optional\< std::vector\< uint8\_t > > & gpudb::GenericRecord::nullableBytesValue ( const size\_t index ) const

◆ nullableBytesValue() \[3/4]

boost::optional\< std::vector\< uint8\_t > > & gpudb::GenericRecord::nullableBytesValue ( const std::string & name )

◆ nullableBytesValue() \[4/4]

const boost::optional\< std::vector\< uint8\_t > > & gpudb::GenericRecord::nullableBytesValue ( const std::string & name ) const

◆ nullableDoubleValue() \[1/4]

boost::optional\< double > & gpudb::GenericRecord::nullableDoubleValue ( const size\_t index )

◆ nullableDoubleValue() \[2/4]

const boost::optional\< double > & gpudb::GenericRecord::nullableDoubleValue ( const size\_t index ) const

◆ nullableDoubleValue() \[3/4]

boost::optional\< double > & gpudb::GenericRecord::nullableDoubleValue ( const std::string & name )

◆ nullableDoubleValue() \[4/4]

const boost::optional\< double > & gpudb::GenericRecord::nullableDoubleValue ( const std::string & name ) const

◆ nullableFloatValue() \[1/4]

boost::optional\< float > & gpudb::GenericRecord::nullableFloatValue ( const size\_t index )

◆ nullableFloatValue() \[2/4]

const boost::optional\< float > & gpudb::GenericRecord::nullableFloatValue ( const size\_t index ) const

◆ nullableFloatValue() \[3/4]

boost::optional\< float > & gpudb::GenericRecord::nullableFloatValue ( const std::string & name )

◆ nullableFloatValue() \[4/4]

const boost::optional\< float > & gpudb::GenericRecord::nullableFloatValue ( const std::string & name ) const

◆ nullableIntValue() \[1/4]

boost::optional\< int32\_t > & gpudb::GenericRecord::nullableIntValue ( const size\_t index )

◆ nullableIntValue() \[2/4]

const boost::optional\< int32\_t > & gpudb::GenericRecord::nullableIntValue ( const size\_t index ) const

◆ nullableIntValue() \[3/4]

boost::optional\< int32\_t > & gpudb::GenericRecord::nullableIntValue ( const std::string & name )

◆ nullableIntValue() \[4/4]

const boost::optional\< int32\_t > & gpudb::GenericRecord::nullableIntValue ( const std::string & name ) const

◆ nullableLongValue() \[1/4]

boost::optional\< int64\_t > & gpudb::GenericRecord::nullableLongValue ( const size\_t index )

◆ nullableLongValue() \[2/4]

const boost::optional\< int64\_t > & gpudb::GenericRecord::nullableLongValue ( const size\_t index ) const

◆ nullableLongValue() \[3/4]

boost::optional\< int64\_t > & gpudb::GenericRecord::nullableLongValue ( const std::string & name )

◆ nullableLongValue() \[4/4]

const boost::optional\< int64\_t > & gpudb::GenericRecord::nullableLongValue ( const std::string & name ) const

◆ nullableStringValue() \[1/4]

boost::optional\< std::string > & gpudb::GenericRecord::nullableStringValue ( const size\_t index )

◆ nullableStringValue() \[2/4]

const boost::optional\< std::string > & gpudb::GenericRecord::nullableStringValue ( const size\_t index ) const

◆ nullableStringValue() \[3/4]

boost::optional\< std::string > & gpudb::GenericRecord::nullableStringValue ( const std::string & name )

◆ nullableStringValue() \[4/4]

const boost::optional\< std::string > & gpudb::GenericRecord::nullableStringValue ( const std::string & name ) const

◆ setAsArray() \[1/2]

template\
void gpudb::GenericRecord::setAsArray ( const size\_t index,
const std::vector\< T > & newValue )

◆ setAsArray() \[2/2]

template\