Development Constraints #
While SphereEx-DBPlusEngine is compatible with the docking database syntax, it is important to note that there are certain SQL usage restrictions due to the significant architectural differences between the distributed and single-machine architectures. Therefore, it is essential to be aware of these usage restrictions during database development. This section aims to introduce these restrictions and their impact on database development.
Identifier Restrictions #
The restrictions on various object names primarily depend on the underlying docking database. However, SphereEx-DBPlusEngine does not impose any restrictions on identifier length, allowing for the definition of identifiers of any length. If a submitted identifier fails to be executed by the underlying database, the error will be communicated back to the user.
Resource Restrictions #
SphereEx-DBPlusEngine does not impose any restrictions on the creation of resources such as databases and tables. The metadata associated with these resources will be stored both in the governance center and in the local memory of SphereEx-DBPlusEngine. However, it is important to note that insufficient memory space and an excessive amount of metadata can lead to out-of-memory (OOM) issues.
Syntax Restrictions #
SphereEx-DBPlusEngine is compatible with most database syntaxes, refer to SQL Compatibility for details.
Syntax Type | Syntax Sub-Type | Using Constraints |
---|---|---|
DDL | TABLE | Support |
VIEW | Support (within sharding only) | |
TRIGGER | Support (within sharding only) | |
PROCEDURE | Support (within sharding only) | |
CURSOR | Support (within sharding only) | |
DML | INSERT | Support (partially restricted) |
DELETE | Support (partially restricted) | |
UPDATE | Support (partially restricted) | |
MERGE | Support (within sharding only) | |
REPLACE | Support | |
DQL | JOIN ON | Support |
LEFT/RIGHT/FULL JOIN | Support | |
SEMI JOIN | Support | |
ANTI JOIN | Support | |
GROUP | Support | |
GROUP…HAVING | Support | |
SUBQUERY | Support | |
UNION/UNION ALL | Support | |
INTERSECT/MINUS | Support | |
SUBQUERY | Support (within sharding only) |