json_schema:

{ "tables" : [ opt_tables ] , "virtualTables" : [ opt_virtual_tables ] , "views" : [ opt_views ] , "indices" : [ opt_indices ] , "triggers" : [ opt_triggers ] , "attributes" : [ opt_attribute_list ] , "queries" : [ opt_queries ] , "inserts" : [ opt_inserts ] , "generalInserts" : [ opt_inserts_general ] , "updates" : [ opt_updates ] , "deletes" : [ opt_deletes ] , "general" : [ opt_generals ] , "declareProcs" : [ opt_declare_procs ] , "declareNoCheckProcs" : [ opt_declare_no_check_procs ] , "declareFuncs" : [ opt_declare_funcs ] , "declareNoCheckFuncs" : [ opt_declare_no_check_funcs ] , "declareSelectFuncs" : [ opt_declare_select_funcs ] , "declareNoCheckSelectFuncs" : [ opt_declare_no_check_select_funcs ] , "interfaces" : [ opt_interfaces ] , "regions" : [ opt_regions ] , "adHocMigrationProcs" : [ opt_ad_hoc_migrations ] , "enums" : [ opt_enums ] , "constantGroups" : [ opt_const_groups ] , "subscriptions" : [ opt_subscriptions ] }

json_schema
         ::= '{' '"tables"' ':' '[' opt_tables ']' ',' '"virtualTables"' ':' '[' opt_virtual_tables ']' ',' '"views"' ':' '[' opt_views ']' ',' '"indices"' ':' '[' opt_indices ']' ',' '"triggers"' ':' '[' opt_triggers ']' ',' '"attributes"' ':' '[' opt_attribute_list ']' ',' '"queries"' ':' '[' opt_queries ']' ',' '"inserts"' ':' '[' opt_inserts ']' ',' '"generalInserts"' ':' '[' opt_inserts_general ']' ',' '"updates"' ':' '[' opt_updates ']' ',' '"deletes"' ':' '[' opt_deletes ']' ',' '"general"' ':' '[' opt_generals ']' ',' '"declareProcs"' ':' '[' opt_declare_procs ']' ',' '"declareNoCheckProcs"' ':' '[' opt_declare_no_check_procs ']' ',' '"declareFuncs"' ':' '[' opt_declare_funcs ']' ',' '"declareNoCheckFuncs"' ':' '[' opt_declare_no_check_funcs ']' ',' '"declareSelectFuncs"' ':' '[' opt_declare_select_funcs ']' ',' '"declareNoCheckSelectFuncs"' ':' '[' opt_declare_no_check_select_funcs ']' ',' '"interfaces"' ':' '[' opt_interfaces ']' ',' '"regions"' ':' '[' opt_regions ']' ',' '"adHocMigrationProcs"' ':' '[' opt_ad_hoc_migrations ']' ',' '"enums"' ':' '[' opt_enums ']' ',' '"constantGroups"' ':' '[' opt_const_groups ']' ',' '"subscriptions"' ':' '[' opt_subscriptions ']' '}'

no references


opt_tables:

table ,

opt_tables
         ::= ( table ( ',' table )* )?

referenced by:


opt_backing_details:

"isBacking" : 1 "isBacked" : 1 , "typeHash" : num_literal ,

opt_backing_details
         ::= ( ( '"isBacking"' ':' '1' | '"isBacked"' ':' '1' ',' '"typeHash"' ':' num_literal ) ',' )?

referenced by:


opt_type_hash:

"typeHash" : num_literal ,

opt_type_hash
         ::= ( '"typeHash"' ':' num_literal ',' )?

referenced by:


table:

{ "name" : STRING_LITERAL , "schema" : STRING_LITERAL , "crc" : STRING_LITERAL , "isTemp" : BOOL_LITERAL , "ifNotExists" : BOOL_LITERAL , "withoutRowid" : BOOL_LITERAL , "isAdded" : BOOL_LITERAL , opt_added_version "isDeleted" : BOOL_LITERAL , opt_deleted_version "isRecreated" : BOOL_LITERAL , opt_recreate_group_name opt_unsub_version opt_backing_details opt_region_info opt_table_indices opt_attributes "columns" : [ columns ] , "primaryKey" : [ opt_column_names ] , "primaryKeySortOrders" : [ opt_sort_order_names ] , opt_primary_key_name "foreignKeys" : [ opt_foreign_keys ] , "uniqueKeys" : [ opt_unique_keys ] , "checkExpressions" : [ opt_check_expressions ] }

table    ::= '{' '"name"' ':' STRING_LITERAL ',' '"schema"' ':' STRING_LITERAL ',' '"crc"' ':' STRING_LITERAL ',' '"isTemp"' ':' BOOL_LITERAL ',' '"ifNotExists"' ':' BOOL_LITERAL ',' '"withoutRowid"' ':' BOOL_LITERAL ',' '"isAdded"' ':' BOOL_LITERAL ',' opt_added_version '"isDeleted"' ':' BOOL_LITERAL ',' opt_deleted_version '"isRecreated"' ':' BOOL_LITERAL ',' opt_recreate_group_name opt_unsub_version opt_backing_details opt_region_info opt_table_indices opt_attributes '"columns"' ':' '[' columns ']' ',' '"primaryKey"' ':' '[' opt_column_names ']' ',' '"primaryKeySortOrders"' ':' '[' opt_sort_order_names ']' ',' opt_primary_key_name '"foreignKeys"' ':' '[' opt_foreign_keys ']' ',' '"uniqueKeys"' ':' '[' opt_unique_keys ']' ',' '"checkExpressions"' ':' '[' opt_check_expressions ']' '}'

referenced by:


opt_primary_key_name:

"primaryKeyName" : STRING_LITERAL ,

opt_primary_key_name
         ::= ( '"primaryKeyName"' ':' STRING_LITERAL ',' )?

referenced by:


opt_virtual_tables:

virtual_table ,

opt_virtual_tables
         ::= ( virtual_table ( ',' virtual_table )* )?

referenced by:


virtual_table:

{ "name" : STRING_LITERAL , "schema" : STRING_LITERAL , "crc" : STRING_LITERAL , "isTemp" : 0 , "ifNotExists" : BOOL_LITERAL , "withoutRowid" : BOOL_LITERAL , "isAdded" : BOOL_LITERAL , opt_added_version "isDeleted" : BOOL_LITERAL , opt_deleted_version "isRecreated" : BOOL_LITERAL , opt_region_info "isVirtual" : 1 , "isEponymous" : BOOL_LITERAL , "module" : STRING_LITERAL , opt_module_args opt_attributes "columns" : [ columns ] , "primaryKey" : [ opt_column_names ] , "primaryKeySortOrders" : [ opt_sort_order_names ] , "foreignKeys" : [ opt_foreign_keys ] , "uniqueKeys" : [ opt_unique_keys ] , "checkExpressions" : [ opt_check_expressions ] }

virtual_table
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"schema"' ':' STRING_LITERAL ',' '"crc"' ':' STRING_LITERAL ',' '"isTemp"' ':' '0' ',' '"ifNotExists"' ':' BOOL_LITERAL ',' '"withoutRowid"' ':' BOOL_LITERAL ',' '"isAdded"' ':' BOOL_LITERAL ',' opt_added_version '"isDeleted"' ':' BOOL_LITERAL ',' opt_deleted_version '"isRecreated"' ':' BOOL_LITERAL ',' opt_region_info '"isVirtual"' ':' '1' ',' '"isEponymous"' ':' BOOL_LITERAL ',' '"module"' ':' STRING_LITERAL ',' opt_module_args opt_attributes '"columns"' ':' '[' columns ']' ',' '"primaryKey"' ':' '[' opt_column_names ']' ',' '"primaryKeySortOrders"' ':' '[' opt_sort_order_names ']' ',' '"foreignKeys"' ':' '[' opt_foreign_keys ']' ',' '"uniqueKeys"' ':' '[' opt_unique_keys ']' ',' '"checkExpressions"' ':' '[' opt_check_expressions ']' '}'

referenced by:


opt_module_args:

"moduleArgs" : STRING_LITERAL ,

opt_module_args
         ::= ( '"moduleArgs"' ':' STRING_LITERAL ',' )?

referenced by:


opt_added_version:

"addedVersion" : any_integer , opt_added_migration_proc

opt_added_version
         ::= ( '"addedVersion"' ':' any_integer ',' opt_added_migration_proc )?

referenced by:


opt_added_migration_proc:

"addedMigrationProc" : STRING_LITERAL ,

opt_added_migration_proc
         ::= ( '"addedMigrationProc"' ':' STRING_LITERAL ',' )?

referenced by:


opt_unsub_version:

"unsubscribedVersion" : any_integer ,

opt_unsub_version
         ::= ( '"unsubscribedVersion"' ':' any_integer ',' )?

referenced by:


opt_deleted_version:

"deletedVersion" : any_integer , opt_deleted_migration_proc

opt_deleted_version
         ::= ( '"deletedVersion"' ':' any_integer ',' opt_deleted_migration_proc )?

referenced by:


opt_deleted_migration_proc:

"deletedMigrationProc" : STRING_LITERAL ,

opt_deleted_migration_proc
         ::= ( '"deletedMigrationProc"' ':' STRING_LITERAL ',' )?

referenced by:


opt_recreate_group_name:

"recreateGroupName" : STRING_LITERAL ,

opt_recreate_group_name
         ::= ( '"recreateGroupName"' ':' STRING_LITERAL ',' )?

referenced by:


opt_index_names:

STRING_LITERAL ,

opt_index_names
         ::= ( STRING_LITERAL ( ',' STRING_LITERAL )* )?

referenced by:


opt_arg_names:

STRING_LITERAL ,

opt_arg_names
         ::= ( STRING_LITERAL ( ',' STRING_LITERAL )* )?

referenced by:


opt_column_names:

column_names

opt_column_names
         ::= column_names?

referenced by:


column_names:

STRING_LITERAL ,

column_names
         ::= STRING_LITERAL ( ',' STRING_LITERAL )*

referenced by:


opt_table_names:

STRING_LITERAL ,

opt_table_names
         ::= ( STRING_LITERAL ( ',' STRING_LITERAL )* )?

referenced by:


opt_view_names:

STRING_LITERAL ,

opt_view_names
         ::= ( STRING_LITERAL ( ',' STRING_LITERAL )* )?

referenced by:


opt_procedure_names:

STRING_LITERAL ,

opt_procedure_names
         ::= ( STRING_LITERAL ( ',' STRING_LITERAL )* )?

referenced by:


opt_sort_order_names:

sort_order_names

opt_sort_order_names
         ::= sort_order_names?

referenced by:


sort_order_names:

STRING_LITERAL ,

sort_order_names
         ::= STRING_LITERAL ( ',' STRING_LITERAL )*

referenced by:


columns:

column ,

columns  ::= column ( ',' column )*

referenced by:


column:

{ "name" : STRING_LITERAL , opt_attributes "type" : STRING_LITERAL , opt_kind opt_is_sensitive "isNotNull" : BOOL_LITERAL , "isAdded" : BOOL_LITERAL , opt_added_version "isDeleted" : BOOL_LITERAL , opt_deleted_version opt_default_value opt_collate opt_check_expr opt_type_hash "isPrimaryKey" : BOOL_LITERAL , "isUniqueKey" : BOOL_LITERAL , "isAutoIncrement" : BOOL_LITERAL }

column   ::= '{' '"name"' ':' STRING_LITERAL ',' opt_attributes '"type"' ':' STRING_LITERAL ',' opt_kind opt_is_sensitive '"isNotNull"' ':' BOOL_LITERAL ',' '"isAdded"' ':' BOOL_LITERAL ',' opt_added_version '"isDeleted"' ':' BOOL_LITERAL ',' opt_deleted_version opt_default_value opt_collate opt_check_expr opt_type_hash '"isPrimaryKey"' ':' BOOL_LITERAL ',' '"isUniqueKey"' ':' BOOL_LITERAL ',' '"isAutoIncrement"' ':' BOOL_LITERAL '}'

referenced by:


opt_collate:

"collate" : STRING_LITERAL ,

opt_collate
         ::= ( '"collate"' ':' STRING_LITERAL ',' )?

referenced by:


opt_check_expr:

"checkExpr" : STRING_LITERAL , "checkExprArgs" : [ opt_arg_names ] ,

opt_check_expr
         ::= ( '"checkExpr"' ':' STRING_LITERAL ',' '"checkExprArgs"' ':' '[' opt_arg_names ']' ',' )?

referenced by:


opt_default_value:

"defaultValue" : any_literal ,

opt_default_value
         ::= ( '"defaultValue"' ':' any_literal ',' )?

referenced by:


opt_foreign_keys:

foreign_key ,

opt_foreign_keys
         ::= ( foreign_key ( ',' foreign_key )* )?

referenced by:


opt_kind:

"kind" : STRING_LITERAL ,

opt_kind ::= ( '"kind"' ':' STRING_LITERAL ',' )?

referenced by:


opt_is_sensitive:

"isSensitive" : 1 ,

opt_is_sensitive
         ::= ( '"isSensitive"' ':' '1' ',' )?

referenced by:


foreign_key:

{ opt_name "columns" : [ column_names ] , "referenceTable" : STRING_LITERAL , "referenceColumns" : [ column_names ] , "onUpdate" : STRING_LITERAL , "onDelete" : STRING_LITERAL , "isDeferred" : BOOL_LITERAL }

foreign_key
         ::= '{' opt_name '"columns"' ':' '[' column_names ']' ',' '"referenceTable"' ':' STRING_LITERAL ',' '"referenceColumns"' ':' '[' column_names ']' ',' '"onUpdate"' ':' STRING_LITERAL ',' '"onDelete"' ':' STRING_LITERAL ',' '"isDeferred"' ':' BOOL_LITERAL '}'

referenced by:


opt_unique_keys:

unique_key ,

opt_unique_keys
         ::= ( unique_key ( ',' unique_key )* )?

referenced by:


unique_key:

{ opt_name "columns" : [ column_names ] , "sortOrders" : [ sort_order_names ] }

unique_key
         ::= '{' opt_name '"columns"' ':' '[' column_names ']' ',' '"sortOrders"' ':' '[' sort_order_names ']' '}'

referenced by:


opt_check_expressions:

check_expression ,

opt_check_expressions
         ::= ( check_expression ( ',' check_expression )* )?

referenced by:


check_expression:

{ opt_name "checkExpr" : STRING_LITERAL , "checkExprArgs" : [ ] }

check_expression
         ::= '{' opt_name '"checkExpr"' ':' STRING_LITERAL ',' '"checkExprArgs"' ':' '[' ']' '}'

referenced by:


opt_name:

"name" : STRING_LITERAL ,

opt_name ::= ( '"name"' ':' STRING_LITERAL ',' )?

referenced by:


opt_table_indices:

table_indices

opt_table_indices
         ::= table_indices?

referenced by:


table_indices:

"indices" : [ opt_index_names ] ,

table_indices
         ::= '"indices"' ':' '[' opt_index_names ']' ','

referenced by:


opt_attributes:

attributes

opt_attributes
         ::= attributes?

referenced by:


attributes:

"attributes" : [ attribute_list ] ,

attributes
         ::= '"attributes"' ':' '[' attribute_list ']' ','

referenced by:


opt_attribute_list:

attribute_list

opt_attribute_list
         ::= attribute_list?

referenced by:


attribute_list:

attribute ,

attribute_list
         ::= attribute ( ',' attribute )*

referenced by:


attribute:

{ "name" : STRING_LITERAL , "value" : attribute_value }

attribute
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"value"' ':' attribute_value '}'

referenced by:


attribute_array:

[ opt_attribute_value_list ]

attribute_array
         ::= '[' opt_attribute_value_list ']'

referenced by:


opt_attribute_value_list:

attribute_value ,

opt_attribute_value_list
         ::= ( attribute_value ( ',' attribute_value )* )?

referenced by:


attribute_value:

any_literal attribute_array

attribute_value
         ::= any_literal
           | attribute_array

referenced by:


any_integer:

BOOL_LITERAL INT_LITERAL

any_integer
         ::= BOOL_LITERAL
           | INT_LITERAL

referenced by:


any_literal:

BOOL_LITERAL - INT_LITERAL LONG_LITERAL REAL_LITERAL STRING_LITERAL NULL_LITERAL

any_literal
         ::= BOOL_LITERAL
           | '-'? ( INT_LITERAL | LONG_LITERAL | REAL_LITERAL )
           | STRING_LITERAL
           | NULL_LITERAL

referenced by:


num_literal:

BOOL_LITERAL - INT_LITERAL LONG_LITERAL REAL_LITERAL

num_literal
         ::= BOOL_LITERAL
           | '-'? ( INT_LITERAL | LONG_LITERAL | REAL_LITERAL )

referenced by:


opt_views:

view ,

opt_views
         ::= ( view ( ',' view )* )?

referenced by:


view:

{ "name" : STRING_LITERAL , "crc" : STRING_LITERAL , "isTemp" : BOOL_LITERAL , "isDeleted" : BOOL_LITERAL , opt_deleted_version opt_region_info opt_attributes projection "select" : STRING_LITERAL , "selectArgs" : [ ] , dependencies }

view     ::= '{' '"name"' ':' STRING_LITERAL ',' '"crc"' ':' STRING_LITERAL ',' '"isTemp"' ':' BOOL_LITERAL ',' '"isDeleted"' ':' BOOL_LITERAL ',' opt_deleted_version opt_region_info opt_attributes projection '"select"' ':' STRING_LITERAL ',' '"selectArgs"' ':' '[' ']' ',' dependencies '}'

referenced by:


opt_region_info:

"region" : STRING_LITERAL , "deployedInRegion" : STRING_LITERAL ,

opt_region_info
         ::= ( '"region"' ':' STRING_LITERAL ',' ( '"deployedInRegion"' ':' STRING_LITERAL ',' )? )?

referenced by:


opt_projection:

projection

opt_projection
         ::= projection?

referenced by:


projection:

"projection" : [ projected_columns ] ,

projection
         ::= '"projection"' ':' '[' projected_columns ']' ','

referenced by:


projected_columns:

projected_column ,

projected_columns
         ::= projected_column ( ',' projected_column )*

referenced by:


projected_column:

{ "name" : STRING_LITERAL , "type" : STRING_LITERAL , opt_kind opt_is_sensitive "isNotNull" : BOOL_LITERAL }

projected_column
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"type"' ':' STRING_LITERAL ',' opt_kind opt_is_sensitive '"isNotNull"' ':' BOOL_LITERAL '}'

referenced by:


opt_indices:

index ,

opt_indices
         ::= ( index ( ',' index )* )?

referenced by:


index:

{ "name" : STRING_LITERAL , "crc" : STRING_LITERAL , "table" : STRING_LITERAL , "isUnique" : BOOL_LITERAL , "ifNotExists" : BOOL_LITERAL , "isDeleted" : BOOL_LITERAL , opt_deleted_version opt_region_info opt_partial_index_where opt_attributes "columns" : [ column_names ] , "sortOrders" : [ sort_order_names ] }

index    ::= '{' '"name"' ':' STRING_LITERAL ',' '"crc"' ':' STRING_LITERAL ',' '"table"' ':' STRING_LITERAL ',' '"isUnique"' ':' BOOL_LITERAL ',' '"ifNotExists"' ':' BOOL_LITERAL ',' '"isDeleted"' ':' BOOL_LITERAL ',' opt_deleted_version opt_region_info opt_partial_index_where opt_attributes '"columns"' ':' '[' column_names ']' ',' '"sortOrders"' ':' '[' sort_order_names ']' '}'

referenced by:


opt_partial_index_where:

"where" : STRING_LITERAL ,

opt_partial_index_where
         ::= ( '"where"' ':' STRING_LITERAL ',' )?

referenced by:


opt_triggers:

trigger ,

opt_triggers
         ::= ( trigger ( ',' trigger )* )?

referenced by:


trigger:

{ "name" : STRING_LITERAL , "crc" : STRING_LITERAL , "target" : STRING_LITERAL , "isTemp" : BOOL_LITERAL , "ifNotExists" : BOOL_LITERAL , "isDeleted" : BOOL_LITERAL , opt_deleted_version before_after_instead , delete_insert_update , opt_for_each_row opt_when_expr "statement" : STRING_LITERAL , "statementArgs" : [ opt_arg_names ] , opt_region_info opt_attributes dependencies }

trigger  ::= '{' '"name"' ':' STRING_LITERAL ',' '"crc"' ':' STRING_LITERAL ',' '"target"' ':' STRING_LITERAL ',' '"isTemp"' ':' BOOL_LITERAL ',' '"ifNotExists"' ':' BOOL_LITERAL ',' '"isDeleted"' ':' BOOL_LITERAL ',' opt_deleted_version before_after_instead ',' delete_insert_update ',' opt_for_each_row opt_when_expr '"statement"' ':' STRING_LITERAL ',' '"statementArgs"' ':' '[' opt_arg_names ']' ',' opt_region_info opt_attributes dependencies '}'

referenced by:


before_after_instead:

"isBeforeTrigger" "isAfterTrigger" "isInsteadOfTrigger" : 1

before_after_instead
         ::= ( '"isBeforeTrigger"' | '"isAfterTrigger"' | '"isInsteadOfTrigger"' ) ':' '1'

referenced by:


delete_insert_update:

"isDeleteTrigger" "isInsertTrigger" "isUpdateTrigger" : 1

delete_insert_update
         ::= ( '"isDeleteTrigger"' | '"isInsertTrigger"' | '"isUpdateTrigger"' ) ':' '1'

referenced by:


opt_for_each_row:

"forEachRow" : BOOL_LITERAL ,

opt_for_each_row
         ::= ( '"forEachRow"' ':' BOOL_LITERAL ',' )?

referenced by:


opt_when_expr:

"whenExpr" : STRING_LITERAL , "whenExprArgs" : [ opt_arg_names ] ,

opt_when_expr
         ::= ( '"whenExpr"' ':' STRING_LITERAL ',' '"whenExprArgs"' ':' '[' opt_arg_names ']' ',' )?

referenced by:


dependencies:

opt_insert_tables opt_update_tables opt_delete_tables opt_from_tables opt_uses_procedures opt_uses_views "usesTables" : [ opt_table_names ]

dependencies
         ::= opt_insert_tables opt_update_tables opt_delete_tables opt_from_tables opt_uses_procedures opt_uses_views '"usesTables"' ':' '[' opt_table_names ']'

referenced by:


opt_uses_views:

"usesViews" : [ opt_view_names ] ,

opt_uses_views
         ::= ( '"usesViews"' ':' '[' opt_view_names ']' ',' )?

referenced by:


opt_insert_tables:

"insertTables" : [ opt_table_names ] ,

opt_insert_tables
         ::= ( '"insertTables"' ':' '[' opt_table_names ']' ',' )?

referenced by:


opt_update_tables:

"updateTables" : [ opt_table_names ] ,

opt_update_tables
         ::= ( '"updateTables"' ':' '[' opt_table_names ']' ',' )?

referenced by:


opt_delete_tables:

"deleteTables" : [ opt_table_names ] ,

opt_delete_tables
         ::= ( '"deleteTables"' ':' '[' opt_table_names ']' ',' )?

referenced by:


opt_from_tables:

"fromTables" : [ opt_table_names ] ,

opt_from_tables
         ::= ( '"fromTables"' ':' '[' opt_table_names ']' ',' )?

referenced by:


opt_uses_procedures:

"usesProcedures" : [ opt_procedure_names ] ,

opt_uses_procedures
         ::= ( '"usesProcedures"' ':' '[' opt_procedure_names ']' ',' )?

referenced by:


opt_queries:

query ,

opt_queries
         ::= ( query ( ',' query )* )?

referenced by:


query:

{ "name" : STRING_LITERAL , "definedInFile" : STRING_LITERAL , "definedOnLine" : INT_LITERAL , "args" : [ opt_args ] , dependencies , opt_region_info opt_attributes projection "statement" : STRING_LITERAL , "statementArgs" : [ opt_arg_names ] }

query    ::= '{' '"name"' ':' STRING_LITERAL ',' '"definedInFile"' ':' STRING_LITERAL ',' '"definedOnLine"' ':' INT_LITERAL ',' '"args"' ':' '[' opt_args ']' ',' dependencies ',' opt_region_info opt_attributes projection '"statement"' ':' STRING_LITERAL ',' '"statementArgs"' ':' '[' opt_arg_names ']' '}'

referenced by:


opt_args:

arg ,

opt_args ::= ( arg ( ',' arg )* )?

referenced by:


arg:

{ "name" : STRING_LITERAL , "argOrigin" : STRING_LITERAL , "type" : STRING_LITERAL , opt_kind opt_is_sensitive "isNotNull" : BOOL_LITERAL }

arg      ::= '{' '"name"' ':' STRING_LITERAL ',' '"argOrigin"' ':' STRING_LITERAL ',' '"type"' ':' STRING_LITERAL ',' opt_kind opt_is_sensitive '"isNotNull"' ':' BOOL_LITERAL '}'

referenced by:


opt_inserts:

insert ,

opt_inserts
         ::= ( insert ( ',' insert )* )?

referenced by:


insert:

{ insert_details , "values" : [ opt_values ] }

insert   ::= '{' insert_details ',' '"values"' ':' '[' opt_values ']' '}'

referenced by:


opt_inserts_general:

insert_general ,

opt_inserts_general
         ::= ( insert_general ( ',' insert_general )* )?

referenced by:


insert_details:

"name" : STRING_LITERAL , "definedInFile" : STRING_LITERAL , "definedOnLine" : INT_LITERAL , "args" : [ opt_args ] , dependencies , opt_region_info opt_attributes "table" : STRING_LITERAL , "statement" : STRING_LITERAL , "statementArgs" : [ opt_arg_names ] , "statementType" : STRING_LITERAL , "columns" : [ column_names ]

insert_details
         ::= '"name"' ':' STRING_LITERAL ',' '"definedInFile"' ':' STRING_LITERAL ',' '"definedOnLine"' ':' INT_LITERAL ',' '"args"' ':' '[' opt_args ']' ',' dependencies ',' opt_region_info opt_attributes '"table"' ':' STRING_LITERAL ',' '"statement"' ':' STRING_LITERAL ',' '"statementArgs"' ':' '[' opt_arg_names ']' ',' '"statementType"' ':' STRING_LITERAL ',' '"columns"' ':' '[' column_names ']'

referenced by:


insert_general:

{ insert_details }

insert_general
         ::= '{' insert_details '}'

referenced by:


opt_values:

value ,

opt_values
         ::= ( value ( ',' value )* )?

referenced by:


value:

{ "value" : STRING_LITERAL , "valueArgs" : [ opt_arg_names ] }

value    ::= '{' '"value"' ':' STRING_LITERAL ',' '"valueArgs"' ':' '[' opt_arg_names ']' '}'

referenced by:


opt_updates:

update ,

opt_updates
         ::= ( update ( ',' update )* )?

referenced by:


update:

{ "name" : STRING_LITERAL , "definedInFile" : STRING_LITERAL , "definedOnLine" : INT_LITERAL , "args" : [ opt_args ] , dependencies , opt_region_info opt_attributes "table" : STRING_LITERAL , "statement" : STRING_LITERAL , "statementArgs" : [ opt_arg_names ] }

update   ::= '{' '"name"' ':' STRING_LITERAL ',' '"definedInFile"' ':' STRING_LITERAL ',' '"definedOnLine"' ':' INT_LITERAL ',' '"args"' ':' '[' opt_args ']' ',' dependencies ',' opt_region_info opt_attributes '"table"' ':' STRING_LITERAL ',' '"statement"' ':' STRING_LITERAL ',' '"statementArgs"' ':' '[' opt_arg_names ']' '}'

referenced by:


opt_deletes:

delete ,

opt_deletes
         ::= ( delete ( ',' delete )* )?

referenced by:


delete:

{ "name" : STRING_LITERAL , "definedInFile" : STRING_LITERAL , "definedOnLine" : INT_LITERAL , "args" : [ opt_args ] , dependencies , opt_region_info opt_attributes "table" : STRING_LITERAL , "statement" : STRING_LITERAL , "statementArgs" : [ opt_arg_names ] }

delete   ::= '{' '"name"' ':' STRING_LITERAL ',' '"definedInFile"' ':' STRING_LITERAL ',' '"definedOnLine"' ':' INT_LITERAL ',' '"args"' ':' '[' opt_args ']' ',' dependencies ',' opt_region_info opt_attributes '"table"' ':' STRING_LITERAL ',' '"statement"' ':' STRING_LITERAL ',' '"statementArgs"' ':' '[' opt_arg_names ']' '}'

referenced by:


opt_generals:

general ,

opt_generals
         ::= ( general ( ',' general )* )?

referenced by:


general:

{ "name" : STRING_LITERAL , "definedInFile" : STRING_LITERAL , "definedOnLine" : INT_LITERAL , "args" : [ opt_complex_args ] , dependencies , opt_regions opt_attributes opt_projection opt_result_contract "usesDatabase" : BOOL_LITERAL }

general  ::= '{' '"name"' ':' STRING_LITERAL ',' '"definedInFile"' ':' STRING_LITERAL ',' '"definedOnLine"' ':' INT_LITERAL ',' '"args"' ':' '[' opt_complex_args ']' ',' dependencies ',' opt_regions opt_attributes opt_projection opt_result_contract '"usesDatabase"' ':' BOOL_LITERAL '}'

referenced by:


opt_result_contract:

"hasSelectResult" "hasOutResult" "hasOutUnionResult" : 1 ,

opt_result_contract
         ::= ( ( '"hasSelectResult"' | '"hasOutResult"' | '"hasOutUnionResult"' ) ':' '1' ',' )?

referenced by:


opt_complex_args:

complex_arg ,

opt_complex_args
         ::= ( complex_arg ( ',' complex_arg )* )?

referenced by:


complex_arg:

{ binding "name" : STRING_LITERAL , opt_arg_origin "type" : STRING_LITERAL , opt_kind opt_is_sensitive "isNotNull" : BOOL_LITERAL }

complex_arg
         ::= '{' binding '"name"' ':' STRING_LITERAL ',' opt_arg_origin '"type"' ':' STRING_LITERAL ',' opt_kind opt_is_sensitive '"isNotNull"' ':' BOOL_LITERAL '}'

referenced by:


binding:

"binding" : "inout" "out" ,

binding  ::= ( '"binding"' ':' ( '"inout"' | '"out"' ) ',' )?

referenced by:


opt_arg_origin:

arg_origin

opt_arg_origin
         ::= arg_origin?

referenced by:


arg_origin:

"argOrigin" : STRING_LITERAL ,

arg_origin
         ::= '"argOrigin"' ':' STRING_LITERAL ','

referenced by:


opt_enums:

enum ,

opt_enums
         ::= ( enum ( ',' enum )* )?

referenced by:


enum:

{ "name" : STRING_LITERAL , "type" : STRING_LITERAL , "isNotNull" : 1 , "values" : [ enum_value , ] }

enum     ::= '{' '"name"' ':' STRING_LITERAL ',' '"type"' ':' STRING_LITERAL ',' '"isNotNull"' ':' '1' ',' '"values"' ':' '[' enum_value ( ',' enum_value )* ']' '}'

referenced by:


enum_value:

{ "name" : STRING_LITERAL , "value" : num_literal }

enum_value
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"value"' ':' num_literal '}'

referenced by:


opt_declare_procs:

declare_proc ,

opt_declare_procs
         ::= ( declare_proc ( ',' declare_proc )* )?

referenced by:


declare_proc:

{ "name" : STRING_LITERAL , "args" : [ opt_complex_args ] , opt_attributes opt_projection "usesDatabase" : BOOL_LITERAL }

declare_proc
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"args"' ':' '[' opt_complex_args ']' ',' opt_attributes opt_projection '"usesDatabase"' ':' BOOL_LITERAL '}'

referenced by:


opt_declare_no_check_procs:

declare_no_check_proc ,

opt_declare_no_check_procs
         ::= ( declare_no_check_proc ( ',' declare_no_check_proc )* )?

referenced by:


declare_no_check_proc:

{ "name" : STRING_LITERAL , "attributes" : [ attribute_list ] }

declare_no_check_proc
         ::= '{' '"name"' ':' STRING_LITERAL ( ',' '"attributes"' ':' '[' attribute_list ']' )? '}'

referenced by:


opt_declare_funcs:

declare_func ,

opt_declare_funcs
         ::= ( declare_func ( ',' declare_func )* )?

referenced by:


opt_declare_select_funcs:

declare_select_func ,

opt_declare_select_funcs
         ::= ( declare_select_func ( ',' declare_select_func )* )?

referenced by:


declare_select_func:

{ "name" : STRING_LITERAL , "args" : [ opt_complex_args ] , opt_attributes return_type "projection" : [ projected_columns ] }

declare_select_func
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"args"' ':' '[' opt_complex_args ']' ',' opt_attributes ( return_type | '"projection"' ':' '[' projected_columns ']' ) '}'

referenced by:


opt_declare_no_check_funcs:

declare_no_check_func ,

opt_declare_no_check_funcs
         ::= ( declare_no_check_func ( ',' declare_no_check_func )* )?

referenced by:


opt_declare_no_check_select_funcs:

declare_no_check_select_func ,

opt_declare_no_check_select_funcs
         ::= ( declare_no_check_select_func ( ',' declare_no_check_select_func )* )?

referenced by:


declare_no_check_select_func:

{ "name" : STRING_LITERAL , opt_attributes return_type "projection" : [ projected_columns ] }

declare_no_check_select_func
         ::= '{' '"name"' ':' STRING_LITERAL ',' opt_attributes ( return_type | '"projection"' ':' '[' projected_columns ']' ) '}'

referenced by:


declare_func:

{ "name" : STRING_LITERAL , "args" : [ opt_complex_args ] , opt_attributes return_type , "createsObject" : BOOL_LITERAL }

declare_func
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"args"' ':' '[' opt_complex_args ']' ',' opt_attributes return_type ',' '"createsObject"' ':' BOOL_LITERAL '}'

referenced by:


declare_no_check_func:

{ "name" : STRING_LITERAL , opt_attributes return_type , "createsObject" : BOOL_LITERAL }

declare_no_check_func
         ::= '{' '"name"' ':' STRING_LITERAL ',' opt_attributes return_type ',' '"createsObject"' ':' BOOL_LITERAL '}'

referenced by:


return_type:

"returnType" : { "type" : STRING_LITERAL , opt_kind opt_is_sensitive "isNotNull" : BOOL_LITERAL }

return_type
         ::= '"returnType"' ':' '{' '"type"' ':' STRING_LITERAL ',' opt_kind opt_is_sensitive '"isNotNull"' ':' BOOL_LITERAL '}'

referenced by:


opt_interfaces:

interface ,

opt_interfaces
         ::= ( interface ( ',' interface )* )?

referenced by:


interface:

{ "name" : STRING_LITERAL , "definedInFile" : STRING_LITERAL , "definedOnLine" : INT_LITERAL , opt_attributes "projection" : [ projected_columns ] }

interface
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"definedInFile"' ':' STRING_LITERAL ',' '"definedOnLine"' ':' INT_LITERAL ',' opt_attributes '"projection"' ':' '[' projected_columns ']' '}'

referenced by:


opt_subscriptions:

subscription ,

opt_subscriptions
         ::= ( subscription ( ',' subscription )* )?

referenced by:


subscription:

{ "type" : STRING_LITERAL , "table" : STRING_LITERAL , opt_region_info "version" : any_integer }

subscription
         ::= '{' '"type"' ':' STRING_LITERAL ',' '"table"' ':' STRING_LITERAL ',' opt_region_info '"version"' ':' any_integer '}'

referenced by:


opt_const_groups:

const_group ,

opt_const_groups
         ::= ( const_group ( ',' const_group )* )?

referenced by:


const_group:

{ "name" : STRING_LITERAL , "values" : [ const_value , ] }

const_group
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"values"' ':' '[' const_value ( ',' const_value )* ']' '}'

referenced by:


const_value:

{ "name" : STRING_LITERAL , "type" : STRING_LITERAL , opt_kind "isNotNull" : BOOL_LITERAL , "value" : num_literal STRING_LITERAL }

const_value
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"type"' ':' STRING_LITERAL ',' opt_kind '"isNotNull"' ':' BOOL_LITERAL ',' '"value"' ':' ( num_literal | STRING_LITERAL ) '}'

referenced by:


opt_regions:

region ,

opt_regions
         ::= ( region ( ',' region )* )?

referenced by:


region:

{ "name" : STRING_LITERAL , "isDeployableRoot" : BOOL_LITERAL , "deployedInRegion" : STRING_LITERAL , "using" : [ opt_region_names ] , "usingPrivately" : [ opt_bool_list ] }

region   ::= '{' '"name"' ':' STRING_LITERAL ',' '"isDeployableRoot"' ':' BOOL_LITERAL ',' '"deployedInRegion"' ':' STRING_LITERAL ',' '"using"' ':' '[' opt_region_names ']' ',' '"usingPrivately"' ':' '[' opt_bool_list ']' '}'

referenced by:


opt_region_names:

STRING_LITERAL ,

opt_region_names
         ::= ( STRING_LITERAL ( ',' STRING_LITERAL )* )?

referenced by:


opt_bool_list:

BOOL_LITERAL ,

opt_bool_list
         ::= ( BOOL_LITERAL ( ',' BOOL_LITERAL )* )?

referenced by:


opt_ad_hoc_migrations:

ad_hoc_migration ,

opt_ad_hoc_migrations
         ::= ( ad_hoc_migration ( ',' ad_hoc_migration )* )?

referenced by:


ad_hoc_migration:

{ "name" : STRING_LITERAL , "crc" : STRING_LITERAL , opt_attributes "version" : any_integer "onRecreateOf" : STRING_LITERAL }

ad_hoc_migration
         ::= '{' '"name"' ':' STRING_LITERAL ',' '"crc"' ':' STRING_LITERAL ',' opt_attributes ( '"version"' ':' any_integer | '"onRecreateOf"' ':' STRING_LITERAL ) '}'

referenced by: