All Products
Search
Document Center

PolarDB:Limits

Last Updated:Apr 09, 2024

This topic describes the limits on IMCIs in SELECT statements.

Limits on IMCIs in SELECT statements

IMCIs can be used only in SELECT statements, excluding for the following SELECT statements:

  • The SELECT statements containing lock operations. Example: SELECT ... FOR [UPDATE | SHARE] ....

  • The SELECT statements containing the frame aggregate function. Example:

    SELECT
        time,
        subject,
        val,
        SUM(val) OVER (
            PARTITION BY subject
            ORDER BY time
            ROWS UNBOUNDED PRECEDING --- Frame definitions in window functions do not support IMCIs.
        ) AS running_total
    FROM
        observations;
  • The SELECT statements where subqueries are in the GROUP BY clause. Example: SELECT SUM(a) FROM t1 GROUP BY (SELECT ... FROM ...) as some_subquery;

  • The SELECT statements where subqueries are in the ORDER BY clause. Example: SELECT a FROM t1 ORDER BY (SELECT ... FROM ...) as some_subquery;

  • The SELECT statements where subqueries are nested in join conditions. Example: WHERE t1.a in (SELECT t2.a FROM t2 INNER JOIN t3 on t2.a = t3.a AND t2.b > t1.b);

  • The SELECT statements subqueries contain window functions and are nested in HAVING conditions.

  • The SELECT statements subqueries contain UNION clauses and are nested in UNION conditions.

Limits on IMCIs in expressions

Note

If a SELECT statement contains an expression that does not support IMCIs, the SELECT statement does not support IMCIs.

Comparison expressions

Expression

IMCI.

SOUNDS LIKE

Not supported

BETWEEN...AND...

Supported

Note

If b and c in the a BETWEEN b AND c clause use different data types, its query results may be inconsistent with the query results where IMCIs are not used due to compatibility issues.

GREATEST()

Supported

Note

If the TIME and STRING data types are used in input parameters, the comparison results may be different from the results where IMCIs are not used.

IN()

Supported

Note

If expr0, expr1... in the IN(expr0, expr1, ...) clause use different data types, its query results may be inconsistent with the query results where IMCIs are not used due to compatibility issues.

LEAST()

Supported

Note

If the TIME and STRING data types are used in input parameters, the comparison results may be different from the results where IMCIs are not used.

NOT BETWEEN...AND...

Supported

Note

If b and c in the a NOT BETWEEN b AND c clause use different data types, its query results may be inconsistent with the query results where IMCIs are not used due to compatibility issues.

String expressions

Expression

IMCI.

SOUNDEX()

Not supported

SOUNDS LIKE

Not supported

MATCH

Not supported

LOAD_FILE()

Not supported

TIMESTAMP()

Supported

Note

When the IMCI feature is enabled, you can specify only one parameter. You cannot specify two parameters.

Aggregate function expressions

Expression

IMCI.

JSON_ARRAYAGG()

Not supported

JSON_OBJECTAGG()

Not supported

Window function expressions

Expression

IMCI.

FIRST_VALUE()

Not supported

NTH_VALUE()

Not supported

LAST_VALUE()

Not supported

Encryption and compression expressions

Expression

IMCI.

AES_DECRYPT()

Not supported

AES_ENCRYPT()

Not supported

COMPRESS()

Not supported

RANDOM_BYTES()

Not supported

STATEMENT_DIGEST()

Not supported

STATEMENT_DIGEST_TEXT()

Not supported

UNCOMPRESS()

Not supported

UNCOMPRESSED_LENGTH()

Not supported

VALIDATE_PASSWORD_STRENGTH()

Not supported

JSON functions

Function

IMCI.

JSON_ARRAY()

Not supported

JSON_ARRAY_APPEND()

Not supported

JSON_ARRAY_INSERT()

Not supported

JSON_CONTAINS_PATH()

Not supported

JSON_INSERT()

Not supported

JSON_MERGE()

Not supported

JSON_MERGE_PATCH()

Not supported

JSON_MERGE_PRESERVE()

Not supported

JSON_OBJECT()

Not supported

JSON_OVERLAPS()

Not supported

JSON_REPLACE()

Not supported

JSON_SCHEMA_VALID()

Not supported

JSON_SCHEMA_VALIDATION_REPORT()

Not supported

JSON_SEARCH()

Not supported

JSON_SET()

Not supported

JSON_STORAGE_FREE()

Not supported

JSON_STORAGE_SIZE()

Not supported

JSON_TABLE()

Not supported

JSON_VALUE()

Not supported

MEMBER OF()

Not supported

Spatial functions

Function

IMCI.

ST_AsGeoJSON()

Not supported

ST_Buffer()

Not supported

ST_Buffer_Strategy()

Not supported

ST_Centroid()

Not supported

ST_Collect()

Not supported

ST_ConvexHull()

Not supported

ST_EndPoint()

Not supported

ST_ExteriorRing()

Not supported

ST_FrechetDistance()

Not supported

ST_GeoHash()

Not supported

ST_GeometryN()

Not supported

ST_GeometryType()

Not supported

ST_GeomFromGeoJSON()

Not supported

ST_HausdorffDistance()

Not supported

ST_InteriorRingN()

Not supported

ST_Intersection()

Not supported

ST_IsClosed()

Not supported

ST_IsEmpty()

Not supported

ST_IsSimple()

Not supported

ST_IsValid()

Not supported

ST_LatFromGeoHash()

Not supported

ST_LineInterpolatePoint()

Not supported

ST_LineInterpolatePoints()

Not supported

ST_LongFromGeoHash()

Not supported

ST_NumGeometries()

Not supported

ST_NumInteriorRing()

Not supported

ST_NumInteriorRings()

Not supported

ST_NumPoints()

Not supported

ST_PointAtDistance()

Not supported

ST_PointFromGeoHash()

Not supported

ST_PointN()

Not supported

ST_StartPoint()

Not supported

ST_SwapXY()

Not supported