Pragmas
PRAGMA help
Print out list of pragma supported by ECSQL.
PRAGMA help
pragma | type | descr |
---|---|---|
checksum | global | checksum([ec_schema OR ec_map OR db_schema]) return sha1 checksum for data. |
ecdb_ver | global | return current and file profile versions |
experimental_features_enabled | global | enable/disable experimental features |
explain_query | global | explain query plan |
help | global | return list of pragma supported |
integrity_check | global | performs integrity checks on ECDb |
parse_tree | global | parse_tree(ecsql) return parse tree of ecsql. |
disqualify_type_index | class | set/get disqualify_type_index flag for a given ECClass |
PRAGMA ecdb_ver
Print out ECDb current profile version supported by software and file profile version.
PRAGMA ecdb_ver
current | file |
---|---|
4.0.0.4 | 4.0.0.2 |
PRAGMA experimental_features_enabled
Enable experimental feature in ECSQL on current connection.
PRAGMA experimental_features_enabled=true
to switch off
PRAGMA experimental_features_enabled=false
to check if flag is currently set.
PRAGMA experimental_features_enabled
// experimental_features_enabled
// -----------------------------
// False
PRAGMA integrity_check
(experimental)
check_ec_profile
- checks if the profile table, indexes, and triggers are present. Does not check be_* tables. Issues are returned as a list of tables/indexes/triggers which were not found or have different DDL.check_data_schema
- checks if all the required data tables and indexes exist for mapped classes. Issues are returned as a list of tables/columns which were not found or have different DDL.check_data_columns
- checks if all the required columns exist in data tables. Issues are returned as a list of those tables/columns.check_nav_class_ids
- checks ifRelClassId
of a Navigation property is a valid ECClassId. It does not check the value to match the relationship class.check_nav_ids
- checks ifId
of a Navigation property matches a valid row primary class.check_linktable_fk_class_ids
- checks ifSourceECClassId
orTargetECClassId
of a link table matches a valid ECClassId.check_linktable_fk_ids
- checks ifSourceECInstanceId
orTargetECInstanceId
of a link table matches a valid row in primary class.check_class_ids
- checks persistedECClassId
in all data tables and makes sure they are valid.check_schema_load
- checks if all schemas can be loaded into memory.
PRAGMA integrity_check ECSQLOPTIONS ENABLE_EXPERIMENTAL_FEATURES;
The output of integrety_check
is a table with each test performed, the result and time took to run the test.
| sno | check | result | elapsed_sec |
| --- | ---------------------------- | ------ | ----------- |
| 1 | check_data_columns | True | 0.005 |
| 2 | check_ec_profile | True | 0.001 |
| 3 | check_nav_class_ids | True | 0.179 |
| 4 | check_nav_ids | True | 0.403 |
| 5 | check_linktable_fk_class_ids | True | 0.001 |
| 6 | check_linktable_fk_ids | False | 0.003 |
| 7 | check_class_ids | True | 0.039 |
| 8 | check_data_schema | True | 0.000 |
| 9 | check_schema_load | True | 0.000 |
Last Updated: 15 May, 2024
Found something wrong, missing, or unclear on this page?Raise an issue in our repo.