Currently, interpreted mode cannot be combined with distributed query execution model, i.e., a query defined with CREATE DISTRIBUTED QUERY cannot be run in interpreted mode. However, interpreted queries can still run on a distributed graph with a regular, non-distributed execution model.
The table below lists additional limitations. These limitations are expected to be temporary. We are continuing to expand the capabilities of Interpreted Mode.
The "Not Supported" column is intended to be comprehensive, but the "Supported" column is not. Rather it gives examples to show the contrast with what is not supported.
Category
Supported (highlights, not a full list)
Not Supported
Modes
Queries in regular (non-distributed) mode
Distributed mode
Statement types
TYPEDEF tuple
SELECT ... FROM <edge_set>
SELECT ... FROM <vertex_set>
CASE ... WHEN ... THEN
IF ... ELSE ... THEN
WHILE
BREAK, CONTINUE
FOREACH, FOREACH... RANGE+
Assignment for accumulators or local variables
UPDATE
INSERT
DELETE
LOG
Exceptions:
RAISE
TRY
SELECT block clauses
ACCUM
POST-ACCUM
WHERE
HAVING
ORDER BY (but output will not be sorted)
LIMIT
SAMPLE clause in SELECT
Attributes and Accumulators
Global and local accumulators
Global and local variables
Most accumulator types
Attributes cannot be accessed outside of the ACCUM or POST-ACCUM clauses
ArrayAccum
Previous value of accumulator with ' operator, e.g., @@acc'
Functions and Operators
Math operators
Comparison operators
Boolean operators
to_vertex(), to_vertex_set()
Math functions
Most string functions: to_string(), float_to_int(), str_to_int(), lower(), upper()
IN, NOT IN
LIKE
BETWEEN ... AND
IS NULL, IS NOT NULL (checking whether parameters are absent/present)
built-in functions
Set functions: COUNT(), MAX(), .FILTER(), etc.
isDirected()
trim()
neighbor(), neighborAttribute()
COALESCE()
evaluate()
selectVertex()
LOADACCUM()
User-Defined Functions
Data types
Explicit lists, e.g., [1, 3, 2]
JSONOBJECT, JSONARRAY
STRING COMPRESS as accumulator type
Built-in Constants GSQL_INT_MAX, GSQL_INT_MIN, GSQL_UINT_MAX
Explicit sets, e.g., (1, 3, 2)
BAG type parameters
Output options
JSON format V1
PRINT ... WHERE
PRINT TO_CSV
FILE objects