> For the complete documentation index, see [llms.txt](https://docs.ovaledge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovaledge.com/query-sheet/query-sheet-limitations.md).

# Query Sheet Limitations

The Query Sheet supports common query operations and advanced SQL execution, but certain SQL statements, query modes, data restrictions, and browser compatibility requirements limit how queries run and how results are accessed.&#x20;

## Limitations

<table><thead><tr><th width="86.3333740234375">S.No.</th><th width="130.99993896484375">Limitation</th><th width="317.6666259765625">Description</th><th>Resolution/Workaround</th></tr></thead><tbody><tr><td>1</td><td>SQL DECLARE Statements </td><td>The Query Sheet does not support SQL DECLARE statements. Queries that use variable declarations may return an “Invalid Query” message, even if they execute successfully in SQL Server. </td><td>Replace variable declarations with direct values or rewrite the query without DECLARE statements. </td></tr><tr><td>2</td><td>Unsupported SQL Functions and Statements </td><td>The Query Sheet does not support certain SQL functions and statements, such as CAST and SET. Queries containing these functions or statements may fail to execute. </td><td>Review the query and rewrite it using supported SQL syntax. </td></tr><tr><td>3</td><td>Query Result Downloads </td><td>Query results can be downloaded only in Advanced SQL mode. The download option is not available in Auto SQL mode. Download requests are processed as background jobs, and the generated file becomes available after the job completes. </td><td>Use Advanced SQL mode to download query results. Wait for the background job to complete before accessing the generated file. </td></tr><tr><td>4</td><td>Queries on Tables with Masked Columns </td><td>The Query Sheet does not allow queries on tables that contain masked columns. Query execution is blocked to prevent access to restricted data. </td><td>Query tables that do not contain masked columns. </td></tr><tr><td>5</td><td>Firefox Compatibility </td><td>Query results may not appear in the Query Sheet when using Firefox. </td><td>Upgrade Firefox to the latest version that supports HTML5 and the SpreadJS plugin. This issue does not occur in Google Chrome. </td></tr></tbody></table>

## Query Sheet System Settings

| Key                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ovaledge.query.restrict.uncrawled.ovaledgedb | <p>This system setting controls whether the Query Sheet allows users to query uncrawled objects managed by OvalEdgeDB. It gives administrators an option to restrict access to these objects until they are crawled.</p><p><strong>Parameters</strong>:</p><ul><li>Default value: true</li><li>True: Restricts querying on OvalEdgeDB uncrawled objects.</li><li>False: Allows users to query OvalEdgeDB uncrawled objects without this restriction.</li></ul> |

**Example**:

**Restrict querying on uncrawled objects**&#x20;

* When ovaledge.query.restrict.uncrawled.ovaledgedb is set to true, the Query Sheet restricts querying on OvalEdgeDB objects that have not been crawled.
* For example, an OvalEdgeDB table named customer\_orders has not been crawled. A user selects the table in the Query Sheet and attempts to execute a query. The query is restricted because the object hasn't been crawled.

**Allow querying on uncrawled objects**&#x20;

* When ovaledge.query.restrict.uncrawled.ovaledgedb is set to false, the Query Sheet allows users to query OvalEdgeDB uncrawled objects without this restriction.
* For example, an OvalEdgeDB table named customer\_orders has not been crawled. A user selects the table and executes a query. The query is allowed because the restriction is disabled.

| Key                                       | Description                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ovaledge.query.restrict.uncrawled.objects | <p>Controls whether users can query objects that have not yet been crawled into the OvalEdge platform. This setting helps administrators control access to uncrawled objects through the Query Sheet.</p><p>Parameters:</p><ul><li>Default value: true</li><li>true: Restricts querying on uncrawled objects. </li><li>false: Allows users to query uncrawled objects without this restriction.</li></ul> |

**Example**:

Consider a table named CUSTOMER\_DETAILS that exists in the remote database but has not yet been crawled into OvalEdge.

* When the setting is true: Users cannot query CUSTOMER\_DETAILS through the Query Sheet until the object is crawled.
* When the setting is false: Users can query CUSTOMER\_DETAILS through the Query Sheet even though the object has not been crawled.

{% hint style="info" %}
This setting controls restrictions on uncrawled objects. It does not change the requirement for users to have the necessary permissions to access and query the data.
{% endhint %}

| Key                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| query.sheet.readonly.restriction.enabled | <p>Enforces read-only restrictions in the Query Sheet module. When enabled, the Query Sheet permits only SELECT queries and blocks data modification and other SQL operations. </p><p>Parameters:</p><ul><li>Default value: true</li><li>true: Allows only SELECT queries. Blocks INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, TRUNCATE, and other data modification operations.  </li><li>false: Allows all query operations supported by the connector and permitted by the source system. </li></ul> |

**Example:**

**Read-only restriction enabled**

* When query.sheet.readonly.restriction.enabled is set to True, users can execute queries that retrieve data but cannot modify the source data.
* The query executes successfully and displays the results.

  ```sql
  SELECT * FROM customers;
  ```
* The query is blocked because UPDATE modifies data.

  ```sql
  UPDATE customers
  SET status = 'Inactive'
  WHERE customer_id = 1001;
  ```

**Read-only restriction disabled**

* When the setting is set to False, the Query Sheet allows query operations supported by the connector and permitted by the source system.
* The query can execute if the connector supports UPDATE and the user has the required permissions in the source system.

  ```sql
  UPDATE customers
  SET status = 'Inactive'
  WHERE customer_id = 1001;
  ```

{% hint style="info" %}
Setting this parameter to False is not recommended for production environments because it allows data modification operations through the Query Sheet.
{% endhint %}

***

Copyright © 2026, OvalEdge LLC, Peachtree Corners, GA, USA.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ovaledge.com/query-sheet/query-sheet-limitations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
