7171%nonterm construct logic.Construct
7272%nonterm context transactions.Context
7373%nonterm csv_asof String
74- %nonterm csv_column logic.CSVColumn
75- %nonterm csv_columns Sequence[logic.CSVColumn]
74+ %nonterm gnf_column logic.GNFColumn
75+ %nonterm gnf_column_path Sequence[String]
76+ %nonterm gnf_columns Sequence[logic.GNFColumn]
7677%nonterm csv_config logic.CSVConfig
7778%nonterm csv_data logic.CSVData
7879%nonterm csv_locator_inline_data String
137138%nonterm read transactions.Read
138139%nonterm reduce logic.Reduce
139140%nonterm rel_atom logic.RelAtom
140- %nonterm rel_edb logic.RelEDB
141- %nonterm rel_edb_path Sequence[String]
142- %nonterm rel_edb_types Sequence[logic.Type]
141+ %nonterm edb logic.EDB
142+ %nonterm edb_path Sequence[String]
143+ %nonterm edb_types Sequence[logic.Type]
143144%nonterm rel_term logic.RelTerm
144145%nonterm relation_id logic.RelationId
145146%nonterm script logic.Script
146147%nonterm specialized_value logic.Value
147148%nonterm string_type logic.StringType
148149%nonterm sum_monoid logic.SumMonoid
149150%nonterm snapshot transactions.Snapshot
151+ %nonterm snapshot_mapping transactions.SnapshotMapping
150152%nonterm sync transactions.Sync
151153%nonterm term logic.Term
152154%nonterm terms Sequence[logic.Term]
@@ -899,10 +901,10 @@ functional_dependency_values
899901 : " (" " values" var* " )"
900902
901903data
902- : rel_edb
903- construct: $$ = logic.Data(rel_edb =$1 )
904- deconstruct if builtin.has_proto_field($$, ' rel_edb ' ):
905- $1 : logic.RelEDB = $$.rel_edb
904+ : edb
905+ construct: $$ = logic.Data(edb =$1 )
906+ deconstruct if builtin.has_proto_field($$, ' edb ' ):
907+ $1 : logic.EDB = $$.edb
906908 | betree_relation
907909 construct: $$ = logic.Data(betree_relation=$1 )
908910 deconstruct if builtin.has_proto_field($$, ' betree_relation' ):
@@ -912,15 +914,15 @@ data
912914 deconstruct if builtin.has_proto_field($$, ' csv_data' ):
913915 $1 : logic.CSVData = $$.csv_data
914916
915- rel_edb_path
917+ edb_path
916918 : " [" STRING* " ]"
917919
918- rel_edb_types
920+ edb_types
919921 : " [" type* " ]"
920922
921- rel_edb
922- : " (" " rel_edb " relation_id rel_edb_path rel_edb_types " )"
923- construct: $$ = logic.RelEDB (target_id=$3 , path=$4 , types=$5 )
923+ edb
924+ : " (" " edb " relation_id edb_path edb_types " )"
925+ construct: $$ = logic.EDB (target_id=$3 , path=$4 , types=$5 )
924926 deconstruct:
925927 $3 : logic.RelationId = $$.target_id
926928 $4 : Sequence[String] = $$.path
@@ -947,19 +949,19 @@ betree_info_key_types
947949betree_info_value_types
948950 : " (" " value_types" type* " )"
949951
950- csv_columns
951- : " (" " columns" csv_column * " )"
952+ gnf_columns
953+ : " (" " columns" gnf_column * " )"
952954
953955csv_asof
954956 : " (" " asof" STRING " )"
955957
956958csv_data
957- : " (" " csv_data" csvlocator csv_config csv_columns csv_asof " )"
959+ : " (" " csv_data" csvlocator csv_config gnf_columns csv_asof " )"
958960 construct: $$ = logic.CSVData(locator=$3 , config=$4 , columns=$5 , asof=$6 )
959961 deconstruct:
960962 $3 : logic.CSVLocator = $$.locator
961963 $4 : logic.CSVConfig = $$.config
962- $5 : Sequence[logic.CSVColumn ] = $$.columns
964+ $5 : Sequence[logic.GNFColumn ] = $$.columns
963965 $6 : String = $$.asof
964966
965967csv_locator_paths
@@ -980,12 +982,22 @@ csv_config
980982 construct: $$ = construct_csv_config($3 )
981983 deconstruct: $3 : Sequence[Tuple[String, logic.Value]] = deconstruct_csv_config($$)
982984
983- csv_column
984- : " (" " column" STRING relation_id " [" type* " ]" " )"
985- construct: $$ = logic.CSVColumn(column_name=$3 , target_id=$4 , types=$6 )
985+ gnf_column_path
986+ : STRING
987+ construct: $$ = [$1 ]
988+ deconstruct if builtin.length($$) == 1 :
989+ $1 : String = $$[0 ]
990+ | " [" STRING* " ]"
991+ construct: $$ = $2
992+ deconstruct if builtin.length($$) != 1 :
993+ $2 : Sequence[String] = $$
994+
995+ gnf_column
996+ : " (" " column" gnf_column_path relation_id? " [" type* " ]" " )"
997+ construct: $$ = logic.GNFColumn(column_path=$3 , target_id=$4 , types=$6 )
986998 deconstruct:
987- $3 : String = $$.column_name
988- $4 : logic.RelationId = $$.target_id
999+ $3 : Sequence[ String] = $$.column_path
1000+ $4 : Optional[ logic.RelationId] = $$.target_id if builtin.has_proto_field($$, " target_id " ) else None
9891001 $6 : Sequence[logic.Type] = $$.types
9901002
9911003undefine
@@ -998,12 +1010,17 @@ context
9981010 construct: $$ = transactions.Context(relations=$3 )
9991011 deconstruct: $3 : Sequence[logic.RelationId] = $$.relations
10001012
1001- snapshot
1002- : " ( " " snapshot " rel_edb_path relation_id " ) "
1003- construct: $$ = transactions.Snapshot (destination_path=$3 , source_relation=$4 )
1013+ snapshot_mapping
1014+ : edb_path relation_id
1015+ construct: $$ = transactions.SnapshotMapping (destination_path=$1 , source_relation=$2 )
10041016 deconstruct:
1005- $3 : Sequence[String] = $$.destination_path
1006- $4 : logic.RelationId = $$.source_relation
1017+ $1 : Sequence[String] = $$.destination_path
1018+ $2 : logic.RelationId = $$.source_relation
1019+
1020+ snapshot
1021+ : " (" " snapshot" snapshot_mapping* " )"
1022+ construct: $$ = transactions.Snapshot(mappings=$3 )
1023+ deconstruct: $3 : Sequence[transactions.SnapshotMapping] = $$.mappings
10071024
10081025epoch_reads
10091026 : " (" " reads" read* " )"
0 commit comments