json_schema:

`
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 ']' ',' '"declareFuncs"' ':' '[' opt_declare_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:

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

referenced by:

- json_schema

opt_backing_details:

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

referenced by:

- table

opt_type_hash:

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

referenced by:

- column

table:

`
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_tables

opt_primary_key_name:

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

referenced by:

- table

opt_virtual_tables:

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

referenced by:

- json_schema

virtual_table:

`
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_virtual_tables

opt_module_args:

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

referenced by:

- virtual_table

opt_added_version:

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

referenced by:

- column
- table
- virtual_table

opt_added_migration_proc:

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

referenced by:

- opt_added_version

opt_unsub_version:

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

referenced by:

- table

opt_deleted_version:

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

referenced by:

- column
- index
- table
- trigger
- view
- virtual_table

opt_deleted_migration_proc:

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

referenced by:

- opt_deleted_version

opt_recreate_group_name:

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

referenced by:

- table

opt_index_names:

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

referenced by:

- table_indices

opt_arg_names:

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

referenced by:

- delete
- insert_details
- opt_check_expr
- opt_when_expr
- query
- trigger
- update
- value

opt_column_names:

`
opt_column_names
::= column_names?
`

referenced by:

- table
- virtual_table

column_names:

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

referenced by:

- foreign_key
- index
- insert_details
- opt_column_names
- unique_key

opt_table_names:

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

referenced by:

- dependencies
- opt_delete_tables
- opt_from_tables
- opt_insert_tables
- opt_update_tables

opt_view_names:

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

referenced by:

- opt_uses_views

opt_procedure_names:

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

referenced by:

- opt_uses_procedures

opt_sort_order_names:

`
opt_sort_order_names
::= sort_order_names?
`

referenced by:

- table
- virtual_table

sort_order_names:

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

referenced by:

- index
- opt_sort_order_names
- unique_key

columns:

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

referenced by:

- table
- virtual_table

column:

`
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:

- columns

opt_collate:

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

referenced by:

- column

opt_check_expr:

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

referenced by:

- column

opt_default_value:

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

referenced by:

- column

opt_foreign_keys:

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

referenced by:

- table
- virtual_table

opt_kind:

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

referenced by:

- arg
- column
- complex_arg
- const_value
- projected_column
- return_type

opt_is_sensitive:

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

referenced by:

- arg
- column
- complex_arg
- projected_column
- return_type

foreign_key:

`
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_foreign_keys

opt_unique_keys:

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

referenced by:

- table
- virtual_table

unique_key:

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

referenced by:

- opt_unique_keys

opt_check_expressions:

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

referenced by:

- table
- virtual_table

check_expression:

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

referenced by:

- opt_check_expressions

opt_name:

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

referenced by:

- check_expression
- foreign_key
- unique_key

opt_table_indices:

`
opt_table_indices
::= table_indices?
`

referenced by:

- table

table_indices:

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

referenced by:

- opt_table_indices

opt_attributes:

`
opt_attributes
::= attributes?
`

referenced by:

- ad_hoc_migration
- column
- declare_func
- declare_proc
- delete
- general
- index
- insert_details
- interface
- query
- table
- trigger
- update
- view
- virtual_table

attributes:

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

referenced by:

- opt_attributes

opt_attribute_list:

`
opt_attribute_list
::= attribute_list?
`

referenced by:

- json_schema

attribute_list:

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

referenced by:

- attributes
- opt_attribute_list

attribute:

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

referenced by:

- attribute_list

attribute_array:

`
attribute_array
::= '[' opt_attribute_value_list ']'
`

referenced by:

- attribute_value

opt_attribute_value_list:

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

referenced by:

- attribute_array

attribute_value:

`
attribute_value
::= any_literal
| attribute_array
`

referenced by:

- attribute
- opt_attribute_value_list

any_integer:

`
any_integer
::= BOOL_LITERAL
| INT_LITERAL
`

referenced by:

- ad_hoc_migration
- opt_added_version
- opt_deleted_version
- opt_unsub_version
- subscription

any_literal:

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

referenced by:

- attribute_value
- opt_default_value

num_literal:

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

referenced by:

- const_value
- enum_value
- opt_backing_details
- opt_type_hash

opt_views:

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

referenced by:

- json_schema

view:

`
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_views

opt_region_info:

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

referenced by:

- delete
- index
- insert_details
- query
- subscription
- table
- trigger
- update
- view
- virtual_table

opt_projection:

`
opt_projection
::= projection?
`

referenced by:

- declare_proc
- general

projection:

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

referenced by:

- opt_projection
- query
- view

projected_columns:

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

referenced by:

- interface
- projection

projected_column:

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

referenced by:

- projected_columns

opt_indices:

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

referenced by:

- json_schema

index:

`
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_indices

opt_partial_index_where:

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

referenced by:

- index

opt_triggers:

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

referenced by:

- json_schema

trigger:

`
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:

- opt_triggers

before_after_instead:

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

referenced by:

- trigger

delete_insert_update:

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

referenced by:

- trigger

opt_for_each_row:

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

referenced by:

- trigger

opt_when_expr:

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

referenced by:

- trigger

dependencies:

`
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:

- delete
- general
- insert_details
- query
- trigger
- update
- view

opt_uses_views:

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

referenced by:

- dependencies

opt_insert_tables:

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

referenced by:

- dependencies

opt_update_tables:

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

referenced by:

- dependencies

opt_delete_tables:

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

referenced by:

- dependencies

opt_from_tables:

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

referenced by:

- dependencies

opt_uses_procedures:

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

referenced by:

- dependencies

opt_queries:

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

referenced by:

- json_schema

query:

`
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_queries

opt_args:

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

referenced by:

- delete
- insert_details
- query
- update

arg:

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

referenced by:

- opt_args

opt_inserts:

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

referenced by:

- json_schema

insert:

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

referenced by:

- opt_inserts

opt_inserts_general:

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

referenced by:

- json_schema

insert_details:

`
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
- insert_general

insert_general:

`
insert_general
::= '{' insert_details '}'
`

referenced by:

- opt_inserts_general

opt_values:

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

referenced by:

- insert

value:

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

referenced by:

- opt_values

opt_updates:

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

referenced by:

- json_schema

update:

`
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_updates

opt_deletes:

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

referenced by:

- json_schema

delete:

`
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_deletes

opt_generals:

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

referenced by:

- json_schema

general:

`
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_generals

opt_result_contract:

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

referenced by:

- general

opt_complex_args:

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

referenced by:

- declare_func
- declare_proc
- general

complex_arg:

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

referenced by:

- opt_complex_args

binding:

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

referenced by:

- complex_arg

opt_arg_origin:

`
opt_arg_origin
::= arg_origin?
`

referenced by:

- complex_arg

arg_origin:

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

referenced by:

- opt_arg_origin

opt_enums:

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

referenced by:

- json_schema

enum:

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

referenced by:

- opt_enums

enum_value:

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

referenced by:

- enum

opt_declare_procs:

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

referenced by:

- json_schema

declare_proc:

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

referenced by:

- opt_declare_procs

opt_declare_funcs:

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

referenced by:

- json_schema

declare_func:

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

referenced by:

- opt_declare_funcs

opt_return_type:

`
opt_return_type
::= ( '"returnType"' ':' return_type ',' )?
`

referenced by:

- declare_func

return_type:

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

referenced by:

- opt_return_type

opt_interfaces:

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

referenced by:

- json_schema

interface:

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

referenced by:

- opt_interfaces

opt_subscriptions:

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

referenced by:

- json_schema

subscription:

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

referenced by:

- opt_subscriptions

opt_const_groups:

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

referenced by:

- json_schema

const_group:

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

referenced by:

- opt_const_groups

const_value:

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

referenced by:

- const_group

opt_regions:

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

referenced by:

- general
- json_schema

region:

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

referenced by:

- opt_regions

opt_region_names:

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

referenced by:

- region

opt_bool_list:

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

referenced by:

- region

opt_ad_hoc_migrations:

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

referenced by:

- json_schema

ad_hoc_migration:

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

referenced by:

- opt_ad_hoc_migrations

| ... generated by RR - Railroad Diagram Generator |