v23: syncbase: Remove CollectionRow struct.

Change-Id: Ia3b0481fc295054cd07e96acce4921abeb71a059
diff --git a/services/syncbase/.api b/services/syncbase/.api
index 36bafaf..bb7b6a8 100644
--- a/services/syncbase/.api
+++ b/services/syncbase/.api
@@ -69,7 +69,6 @@
 pkg syncbase, method (*BlobManagerPutBlobServerCallStub) Init(rpc.StreamServerCall)
 pkg syncbase, method (*BlobManagerPutBlobServerCallStub) RecvStream() interface {  Advance() bool; Value() []byte; Err() error;}
 pkg syncbase, method (*BlobRef) VDLRead(vdl.Decoder) error
-pkg syncbase, method (*CollectionRow) VDLRead(vdl.Decoder) error
 pkg syncbase, method (*CollectionRowPattern) VDLRead(vdl.Decoder) error
 pkg syncbase, method (*CollectionScanServerCallStub) Init(rpc.StreamServerCall)
 pkg syncbase, method (*CollectionScanServerCallStub) SendStream() interface {  Send(item KeyValue) error;}
@@ -117,8 +116,6 @@
 pkg syncbase, method (BlobFetchStatus) VDLWrite(vdl.Encoder) error
 pkg syncbase, method (BlobRef) VDLIsZero() bool
 pkg syncbase, method (BlobRef) VDLWrite(vdl.Encoder) error
-pkg syncbase, method (CollectionRow) VDLIsZero() bool
-pkg syncbase, method (CollectionRow) VDLWrite(vdl.Encoder) error
 pkg syncbase, method (CollectionRowPattern) VDLIsZero() bool
 pkg syncbase, method (CollectionRowPattern) VDLWrite(vdl.Encoder) error
 pkg syncbase, method (ConflictDataBatch) Index() int
@@ -305,9 +302,6 @@
 pkg syncbase, type CollectionClientStub interface, Scan(*context.T, BatchHandle, []byte, []byte, ...rpc.CallOpt) (CollectionScanClientCall, error)
 pkg syncbase, type CollectionClientStub interface, SetPermissions(*context.T, BatchHandle, access.Permissions, ...rpc.CallOpt) error
 pkg syncbase, type CollectionClientStub interface, unexported methods
-pkg syncbase, type CollectionRow struct
-pkg syncbase, type CollectionRow struct, CollectionId Id
-pkg syncbase, type CollectionRow struct, Row string
 pkg syncbase, type CollectionRowPattern struct
 pkg syncbase, type CollectionRowPattern struct, CollectionBlessing string
 pkg syncbase, type CollectionRowPattern struct, CollectionName string
diff --git a/services/syncbase/syncbase.vdl.go b/services/syncbase/syncbase.vdl.go
index 8469ae5..999f8c9 100644
--- a/services/syncbase/syncbase.vdl.go
+++ b/services/syncbase/syncbase.vdl.go
@@ -520,85 +520,6 @@
 	}
 }
 
-// CollectionRow encapsulates a collection id and row key or row prefix.
-type CollectionRow struct {
-	CollectionId Id
-	Row          string
-}
-
-func (CollectionRow) __VDLReflect(struct {
-	Name string `vdl:"v.io/v23/services/syncbase.CollectionRow"`
-}) {
-}
-
-func (x CollectionRow) VDLIsZero() bool {
-	return x == CollectionRow{}
-}
-
-func (x CollectionRow) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_8); err != nil {
-		return err
-	}
-	if x.CollectionId != (Id{}) {
-		if err := enc.NextField("CollectionId"); err != nil {
-			return err
-		}
-		if err := x.CollectionId.VDLWrite(enc); err != nil {
-			return err
-		}
-	}
-	if x.Row != "" {
-		if err := enc.NextField("Row"); err != nil {
-			return err
-		}
-		if err := enc.StartValue(vdl.StringType); err != nil {
-			return err
-		}
-		if err := enc.EncodeString(x.Row); err != nil {
-			return err
-		}
-		if err := enc.FinishValue(); err != nil {
-			return err
-		}
-	}
-	if err := enc.NextField(""); err != nil {
-		return err
-	}
-	return enc.FinishValue()
-}
-
-func (x *CollectionRow) VDLRead(dec vdl.Decoder) error {
-	*x = CollectionRow{}
-	if err := dec.StartValue(__VDLType_struct_8); err != nil {
-		return err
-	}
-	for {
-		f, err := dec.NextField()
-		if err != nil {
-			return err
-		}
-		switch f {
-		case "":
-			return dec.FinishValue()
-		case "CollectionId":
-			if err := x.CollectionId.VDLRead(dec); err != nil {
-				return err
-			}
-		case "Row":
-			switch value, err := dec.ReadValueString(); {
-			case err != nil:
-				return err
-			default:
-				x.Row = value
-			}
-		default:
-			if err := dec.SkipValue(); err != nil {
-				return err
-			}
-		}
-	}
-}
-
 // SyncgroupSpec contains the specification for a syncgroup.
 type SyncgroupSpec struct {
 	// Human-readable description of this syncgroup.
@@ -653,7 +574,7 @@
 }
 
 func (x SyncgroupSpec) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_9); err != nil {
+	if err := enc.StartValue(__VDLType_struct_8); err != nil {
 		return err
 	}
 	if x.Description != "" {
@@ -729,7 +650,7 @@
 }
 
 func __VDLWriteAnon_list_1(enc vdl.Encoder, x []Id) error {
-	if err := enc.StartValue(__VDLType_list_11); err != nil {
+	if err := enc.StartValue(__VDLType_list_10); err != nil {
 		return err
 	}
 	if err := enc.SetLenHint(len(x)); err != nil {
@@ -750,7 +671,7 @@
 }
 
 func __VDLWriteAnon_list_2(enc vdl.Encoder, x []string) error {
-	if err := enc.StartValue(__VDLType_list_12); err != nil {
+	if err := enc.StartValue(__VDLType_list_11); err != nil {
 		return err
 	}
 	if err := enc.SetLenHint(len(x)); err != nil {
@@ -778,7 +699,7 @@
 
 func (x *SyncgroupSpec) VDLRead(dec vdl.Decoder) error {
 	*x = SyncgroupSpec{}
-	if err := dec.StartValue(__VDLType_struct_9); err != nil {
+	if err := dec.StartValue(__VDLType_struct_8); err != nil {
 		return err
 	}
 	for {
@@ -831,7 +752,7 @@
 }
 
 func __VDLReadAnon_list_1(dec vdl.Decoder, x *[]Id) error {
-	if err := dec.StartValue(__VDLType_list_11); err != nil {
+	if err := dec.StartValue(__VDLType_list_10); err != nil {
 		return err
 	}
 	if len := dec.LenHint(); len > 0 {
@@ -856,7 +777,7 @@
 }
 
 func __VDLReadAnon_list_2(dec vdl.Decoder, x *[]string) error {
-	if err := dec.StartValue(__VDLType_list_12); err != nil {
+	if err := dec.StartValue(__VDLType_list_11); err != nil {
 		return err
 	}
 	if len := dec.LenHint(); len > 0 {
@@ -892,7 +813,7 @@
 }
 
 func (x SyncgroupMemberInfo) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_13); err != nil {
+	if err := enc.StartValue(__VDLType_struct_12); err != nil {
 		return err
 	}
 	if x.SyncPriority != 0 {
@@ -931,7 +852,7 @@
 
 func (x *SyncgroupMemberInfo) VDLRead(dec vdl.Decoder) error {
 	*x = SyncgroupMemberInfo{}
-	if err := dec.StartValue(__VDLType_struct_13); err != nil {
+	if err := dec.StartValue(__VDLType_struct_12); err != nil {
 		return err
 	}
 	for {
@@ -1033,7 +954,7 @@
 }
 
 func (x ResolverType) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_enum_14); err != nil {
+	if err := enc.StartValue(__VDLType_enum_13); err != nil {
 		return err
 	}
 	if err := enc.EncodeString(x.String()); err != nil {
@@ -1107,7 +1028,7 @@
 }
 
 func (x BatchSource) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_enum_15); err != nil {
+	if err := enc.StartValue(__VDLType_enum_14); err != nil {
 		return err
 	}
 	if err := enc.EncodeString(x.String()); err != nil {
@@ -1150,7 +1071,7 @@
 }
 
 func (x BatchInfo) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_16); err != nil {
+	if err := enc.StartValue(__VDLType_struct_15); err != nil {
 		return err
 	}
 	if x.Id != 0 {
@@ -1197,7 +1118,7 @@
 
 func (x *BatchInfo) VDLRead(dec vdl.Decoder) error {
 	*x = BatchInfo{}
-	if err := dec.StartValue(__VDLType_struct_16); err != nil {
+	if err := dec.StartValue(__VDLType_struct_15); err != nil {
 		return err
 	}
 	for {
@@ -1305,7 +1226,7 @@
 }
 
 func (x ValueState) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_enum_17); err != nil {
+	if err := enc.StartValue(__VDLType_enum_16); err != nil {
 		return err
 	}
 	if err := enc.EncodeString(x.String()); err != nil {
@@ -1356,7 +1277,7 @@
 }
 
 func (x Value) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_18); err != nil {
+	if err := enc.StartValue(__VDLType_struct_17); err != nil {
 		return err
 	}
 	if x.State != ValueStateExists {
@@ -1397,7 +1318,7 @@
 	*x = Value{
 		Bytes: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)),
 	}
-	if err := dec.StartValue(__VDLType_struct_18); err != nil {
+	if err := dec.StartValue(__VDLType_struct_17); err != nil {
 		return err
 	}
 	for {
@@ -1463,7 +1384,7 @@
 }
 
 func (x RowOp) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_19); err != nil {
+	if err := enc.StartValue(__VDLType_struct_18); err != nil {
 		return err
 	}
 	if x.Key != "" {
@@ -1521,7 +1442,7 @@
 
 func (x *RowOp) VDLRead(dec vdl.Decoder) error {
 	*x = RowOp{}
-	if err := dec.StartValue(__VDLType_struct_19); err != nil {
+	if err := dec.StartValue(__VDLType_struct_18); err != nil {
 		return err
 	}
 	for {
@@ -1540,7 +1461,7 @@
 				x.Key = value
 			}
 		case "LocalValue":
-			if err := dec.StartValue(__VDLType_optional_20); err != nil {
+			if err := dec.StartValue(__VDLType_optional_19); err != nil {
 				return err
 			}
 			if dec.IsNil() {
@@ -1556,7 +1477,7 @@
 				}
 			}
 		case "RemoteValue":
-			if err := dec.StartValue(__VDLType_optional_20); err != nil {
+			if err := dec.StartValue(__VDLType_optional_19); err != nil {
 				return err
 			}
 			if dec.IsNil() {
@@ -1572,7 +1493,7 @@
 				}
 			}
 		case "AncestorValue":
-			if err := dec.StartValue(__VDLType_optional_20); err != nil {
+			if err := dec.StartValue(__VDLType_optional_19); err != nil {
 				return err
 			}
 			if dec.IsNil() {
@@ -1613,7 +1534,7 @@
 }
 
 func (x ScanOp) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_21); err != nil {
+	if err := enc.StartValue(__VDLType_struct_20); err != nil {
 		return err
 	}
 	if x.Start != "" {
@@ -1652,7 +1573,7 @@
 
 func (x *ScanOp) VDLRead(dec vdl.Decoder) error {
 	*x = ScanOp{}
-	if err := dec.StartValue(__VDLType_struct_21); err != nil {
+	if err := dec.StartValue(__VDLType_struct_20); err != nil {
 		return err
 	}
 	for {
@@ -1758,7 +1679,7 @@
 }
 
 func (x OperationRead) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_union_22); err != nil {
+	if err := enc.StartValue(__VDLType_union_21); err != nil {
 		return err
 	}
 	if err := enc.NextField("Read"); err != nil {
@@ -1774,7 +1695,7 @@
 }
 
 func (x OperationWrite) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_union_22); err != nil {
+	if err := enc.StartValue(__VDLType_union_21); err != nil {
 		return err
 	}
 	if err := enc.NextField("Write"); err != nil {
@@ -1790,7 +1711,7 @@
 }
 
 func (x OperationScan) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_union_22); err != nil {
+	if err := enc.StartValue(__VDLType_union_21); err != nil {
 		return err
 	}
 	if err := enc.NextField("Scan"); err != nil {
@@ -1806,7 +1727,7 @@
 }
 
 func VDLReadOperation(dec vdl.Decoder, x *Operation) error {
-	if err := dec.StartValue(__VDLType_union_22); err != nil {
+	if err := dec.StartValue(__VDLType_union_21); err != nil {
 		return err
 	}
 	f, err := dec.NextField()
@@ -1877,7 +1798,7 @@
 }
 
 func (x RowInfo) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_23); err != nil {
+	if err := enc.StartValue(__VDLType_struct_22); err != nil {
 		return err
 	}
 	if x.Op != nil && !x.Op.VDLIsZero() {
@@ -1903,7 +1824,7 @@
 }
 
 func __VDLWriteAnon_list_3(enc vdl.Encoder, x []uint64) error {
-	if err := enc.StartValue(__VDLType_list_24); err != nil {
+	if err := enc.StartValue(__VDLType_list_23); err != nil {
 		return err
 	}
 	if err := enc.SetLenHint(len(x)); err != nil {
@@ -1933,7 +1854,7 @@
 	*x = RowInfo{
 		Op: OperationRead{},
 	}
-	if err := dec.StartValue(__VDLType_struct_23); err != nil {
+	if err := dec.StartValue(__VDLType_struct_22); err != nil {
 		return err
 	}
 	for {
@@ -1961,7 +1882,7 @@
 }
 
 func __VDLReadAnon_list_3(dec vdl.Decoder, x *[]uint64) error {
-	if err := dec.StartValue(__VDLType_list_24); err != nil {
+	if err := dec.StartValue(__VDLType_list_23); err != nil {
 		return err
 	}
 	if len := dec.LenHint(); len > 0 {
@@ -2033,7 +1954,7 @@
 }
 
 func (x ConflictDataBatch) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_union_25); err != nil {
+	if err := enc.StartValue(__VDLType_union_24); err != nil {
 		return err
 	}
 	if err := enc.NextField("Batch"); err != nil {
@@ -2049,7 +1970,7 @@
 }
 
 func (x ConflictDataRow) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_union_25); err != nil {
+	if err := enc.StartValue(__VDLType_union_24); err != nil {
 		return err
 	}
 	if err := enc.NextField("Row"); err != nil {
@@ -2065,7 +1986,7 @@
 }
 
 func VDLReadConflictData(dec vdl.Decoder, x *ConflictData) error {
-	if err := dec.StartValue(__VDLType_union_25); err != nil {
+	if err := dec.StartValue(__VDLType_union_24); err != nil {
 		return err
 	}
 	f, err := dec.NextField()
@@ -2130,7 +2051,7 @@
 }
 
 func (x ConflictInfo) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_26); err != nil {
+	if err := enc.StartValue(__VDLType_struct_25); err != nil {
 		return err
 	}
 	if x.Data != nil && !x.Data.VDLIsZero() {
@@ -2165,7 +2086,7 @@
 	*x = ConflictInfo{
 		Data: ConflictDataBatch{},
 	}
-	if err := dec.StartValue(__VDLType_struct_26); err != nil {
+	if err := dec.StartValue(__VDLType_struct_25); err != nil {
 		return err
 	}
 	for {
@@ -2255,7 +2176,7 @@
 }
 
 func (x ValueSelection) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_enum_27); err != nil {
+	if err := enc.StartValue(__VDLType_enum_26); err != nil {
 		return err
 	}
 	if err := enc.EncodeString(x.String()); err != nil {
@@ -2305,7 +2226,7 @@
 }
 
 func (x ResolutionInfo) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_28); err != nil {
+	if err := enc.StartValue(__VDLType_struct_27); err != nil {
 		return err
 	}
 	if x.Key != "" {
@@ -2363,7 +2284,7 @@
 
 func (x *ResolutionInfo) VDLRead(dec vdl.Decoder) error {
 	*x = ResolutionInfo{}
-	if err := dec.StartValue(__VDLType_struct_28); err != nil {
+	if err := dec.StartValue(__VDLType_struct_27); err != nil {
 		return err
 	}
 	for {
@@ -2391,7 +2312,7 @@
 				}
 			}
 		case "Result":
-			if err := dec.StartValue(__VDLType_optional_20); err != nil {
+			if err := dec.StartValue(__VDLType_optional_19); err != nil {
 				return err
 			}
 			if dec.IsNil() {
@@ -2446,7 +2367,7 @@
 }
 
 func (x CrRule) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_29); err != nil {
+	if err := enc.StartValue(__VDLType_struct_28); err != nil {
 		return err
 	}
 	if x.CollectionId != (Id{}) {
@@ -2501,7 +2422,7 @@
 
 func (x *CrRule) VDLRead(dec vdl.Decoder) error {
 	*x = CrRule{}
-	if err := dec.StartValue(__VDLType_struct_29); err != nil {
+	if err := dec.StartValue(__VDLType_struct_28); err != nil {
 		return err
 	}
 	for {
@@ -2570,7 +2491,7 @@
 }
 
 func (x CrPolicy) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_30); err != nil {
+	if err := enc.StartValue(__VDLType_struct_29); err != nil {
 		return err
 	}
 	if len(x.Rules) != 0 {
@@ -2588,7 +2509,7 @@
 }
 
 func __VDLWriteAnon_list_4(enc vdl.Encoder, x []CrRule) error {
-	if err := enc.StartValue(__VDLType_list_31); err != nil {
+	if err := enc.StartValue(__VDLType_list_30); err != nil {
 		return err
 	}
 	if err := enc.SetLenHint(len(x)); err != nil {
@@ -2610,7 +2531,7 @@
 
 func (x *CrPolicy) VDLRead(dec vdl.Decoder) error {
 	*x = CrPolicy{}
-	if err := dec.StartValue(__VDLType_struct_30); err != nil {
+	if err := dec.StartValue(__VDLType_struct_29); err != nil {
 		return err
 	}
 	for {
@@ -2634,7 +2555,7 @@
 }
 
 func __VDLReadAnon_list_4(dec vdl.Decoder, x *[]CrRule) error {
-	if err := dec.StartValue(__VDLType_list_31); err != nil {
+	if err := dec.StartValue(__VDLType_list_30); err != nil {
 		return err
 	}
 	if len := dec.LenHint(); len > 0 {
@@ -2686,7 +2607,7 @@
 }
 
 func (x SchemaMetadata) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_32); err != nil {
+	if err := enc.StartValue(__VDLType_struct_31); err != nil {
 		return err
 	}
 	if x.Version != 0 {
@@ -2719,7 +2640,7 @@
 
 func (x *SchemaMetadata) VDLRead(dec vdl.Decoder) error {
 	*x = SchemaMetadata{}
-	if err := dec.StartValue(__VDLType_struct_32); err != nil {
+	if err := dec.StartValue(__VDLType_struct_31); err != nil {
 		return err
 	}
 	for {
@@ -2762,7 +2683,7 @@
 }
 
 func (x BlobRef) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_string_33); err != nil {
+	if err := enc.StartValue(__VDLType_string_32); err != nil {
 		return err
 	}
 	if err := enc.EncodeString(string(x)); err != nil {
@@ -2846,7 +2767,7 @@
 }
 
 func (x BlobFetchState) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_enum_34); err != nil {
+	if err := enc.StartValue(__VDLType_enum_33); err != nil {
 		return err
 	}
 	if err := enc.EncodeString(x.String()); err != nil {
@@ -2884,7 +2805,7 @@
 }
 
 func (x BlobFetchStatus) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_35); err != nil {
+	if err := enc.StartValue(__VDLType_struct_34); err != nil {
 		return err
 	}
 	if x.State != BlobFetchStatePending {
@@ -2931,7 +2852,7 @@
 
 func (x *BlobFetchStatus) VDLRead(dec vdl.Decoder) error {
 	*x = BlobFetchStatus{}
-	if err := dec.StartValue(__VDLType_struct_35); err != nil {
+	if err := dec.StartValue(__VDLType_struct_34); err != nil {
 		return err
 	}
 	for {
@@ -2994,7 +2915,7 @@
 }
 
 func (x CollectionRowPattern) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_36); err != nil {
+	if err := enc.StartValue(__VDLType_struct_35); err != nil {
 		return err
 	}
 	if x.CollectionBlessing != "" {
@@ -3047,7 +2968,7 @@
 
 func (x *CollectionRowPattern) VDLRead(dec vdl.Decoder) error {
 	*x = CollectionRowPattern{}
-	if err := dec.StartValue(__VDLType_struct_36); err != nil {
+	if err := dec.StartValue(__VDLType_struct_35); err != nil {
 		return err
 	}
 	for {
@@ -3114,7 +3035,7 @@
 }
 
 func (x StoreChange) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(__VDLType_struct_37); err != nil {
+	if err := enc.StartValue(__VDLType_struct_36); err != nil {
 		return err
 	}
 	if x.Value != nil && !x.Value.VDLIsZero() {
@@ -3149,7 +3070,7 @@
 	*x = StoreChange{
 		Value: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)),
 	}
-	if err := dec.StartValue(__VDLType_struct_37); err != nil {
+	if err := dec.StartValue(__VDLType_struct_36); err != nil {
 		return err
 	}
 	for {
@@ -6789,35 +6710,34 @@
 	__VDLType_string_6    *vdl.Type
 	__VDLType_struct_7    *vdl.Type
 	__VDLType_struct_8    *vdl.Type
-	__VDLType_struct_9    *vdl.Type
-	__VDLType_map_10      *vdl.Type
+	__VDLType_map_9       *vdl.Type
+	__VDLType_list_10     *vdl.Type
 	__VDLType_list_11     *vdl.Type
-	__VDLType_list_12     *vdl.Type
-	__VDLType_struct_13   *vdl.Type
+	__VDLType_struct_12   *vdl.Type
+	__VDLType_enum_13     *vdl.Type
 	__VDLType_enum_14     *vdl.Type
-	__VDLType_enum_15     *vdl.Type
-	__VDLType_struct_16   *vdl.Type
-	__VDLType_enum_17     *vdl.Type
+	__VDLType_struct_15   *vdl.Type
+	__VDLType_enum_16     *vdl.Type
+	__VDLType_struct_17   *vdl.Type
 	__VDLType_struct_18   *vdl.Type
-	__VDLType_struct_19   *vdl.Type
-	__VDLType_optional_20 *vdl.Type
-	__VDLType_struct_21   *vdl.Type
-	__VDLType_union_22    *vdl.Type
-	__VDLType_struct_23   *vdl.Type
-	__VDLType_list_24     *vdl.Type
-	__VDLType_union_25    *vdl.Type
-	__VDLType_struct_26   *vdl.Type
-	__VDLType_enum_27     *vdl.Type
+	__VDLType_optional_19 *vdl.Type
+	__VDLType_struct_20   *vdl.Type
+	__VDLType_union_21    *vdl.Type
+	__VDLType_struct_22   *vdl.Type
+	__VDLType_list_23     *vdl.Type
+	__VDLType_union_24    *vdl.Type
+	__VDLType_struct_25   *vdl.Type
+	__VDLType_enum_26     *vdl.Type
+	__VDLType_struct_27   *vdl.Type
 	__VDLType_struct_28   *vdl.Type
 	__VDLType_struct_29   *vdl.Type
-	__VDLType_struct_30   *vdl.Type
-	__VDLType_list_31     *vdl.Type
-	__VDLType_struct_32   *vdl.Type
-	__VDLType_string_33   *vdl.Type
-	__VDLType_enum_34     *vdl.Type
+	__VDLType_list_30     *vdl.Type
+	__VDLType_struct_31   *vdl.Type
+	__VDLType_string_32   *vdl.Type
+	__VDLType_enum_33     *vdl.Type
+	__VDLType_struct_34   *vdl.Type
 	__VDLType_struct_35   *vdl.Type
 	__VDLType_struct_36   *vdl.Type
-	__VDLType_struct_37   *vdl.Type
 )
 
 var __VDLInitCalled bool
@@ -6847,7 +6767,6 @@
 	vdl.Register((*BatchOptions)(nil))
 	vdl.Register((*BatchHandle)(nil))
 	vdl.Register((*KeyValue)(nil))
-	vdl.Register((*CollectionRow)(nil))
 	vdl.Register((*SyncgroupSpec)(nil))
 	vdl.Register((*SyncgroupMemberInfo)(nil))
 	vdl.Register((*ResolverType)(nil))
@@ -6880,36 +6799,35 @@
 	__VDLType_struct_5 = vdl.TypeOf((*BatchOptions)(nil)).Elem()
 	__VDLType_string_6 = vdl.TypeOf((*BatchHandle)(nil))
 	__VDLType_struct_7 = vdl.TypeOf((*KeyValue)(nil)).Elem()
-	__VDLType_struct_8 = vdl.TypeOf((*CollectionRow)(nil)).Elem()
-	__VDLType_struct_9 = vdl.TypeOf((*SyncgroupSpec)(nil)).Elem()
-	__VDLType_map_10 = vdl.TypeOf((*access.Permissions)(nil))
-	__VDLType_list_11 = vdl.TypeOf((*[]Id)(nil))
-	__VDLType_list_12 = vdl.TypeOf((*[]string)(nil))
-	__VDLType_struct_13 = vdl.TypeOf((*SyncgroupMemberInfo)(nil)).Elem()
-	__VDLType_enum_14 = vdl.TypeOf((*ResolverType)(nil))
-	__VDLType_enum_15 = vdl.TypeOf((*BatchSource)(nil))
-	__VDLType_struct_16 = vdl.TypeOf((*BatchInfo)(nil)).Elem()
-	__VDLType_enum_17 = vdl.TypeOf((*ValueState)(nil))
-	__VDLType_struct_18 = vdl.TypeOf((*Value)(nil)).Elem()
-	__VDLType_struct_19 = vdl.TypeOf((*RowOp)(nil)).Elem()
-	__VDLType_optional_20 = vdl.TypeOf((*Value)(nil))
-	__VDLType_struct_21 = vdl.TypeOf((*ScanOp)(nil)).Elem()
-	__VDLType_union_22 = vdl.TypeOf((*Operation)(nil))
-	__VDLType_struct_23 = vdl.TypeOf((*RowInfo)(nil)).Elem()
-	__VDLType_list_24 = vdl.TypeOf((*[]uint64)(nil))
-	__VDLType_union_25 = vdl.TypeOf((*ConflictData)(nil))
-	__VDLType_struct_26 = vdl.TypeOf((*ConflictInfo)(nil)).Elem()
-	__VDLType_enum_27 = vdl.TypeOf((*ValueSelection)(nil))
-	__VDLType_struct_28 = vdl.TypeOf((*ResolutionInfo)(nil)).Elem()
-	__VDLType_struct_29 = vdl.TypeOf((*CrRule)(nil)).Elem()
-	__VDLType_struct_30 = vdl.TypeOf((*CrPolicy)(nil)).Elem()
-	__VDLType_list_31 = vdl.TypeOf((*[]CrRule)(nil))
-	__VDLType_struct_32 = vdl.TypeOf((*SchemaMetadata)(nil)).Elem()
-	__VDLType_string_33 = vdl.TypeOf((*BlobRef)(nil))
-	__VDLType_enum_34 = vdl.TypeOf((*BlobFetchState)(nil))
-	__VDLType_struct_35 = vdl.TypeOf((*BlobFetchStatus)(nil)).Elem()
-	__VDLType_struct_36 = vdl.TypeOf((*CollectionRowPattern)(nil)).Elem()
-	__VDLType_struct_37 = vdl.TypeOf((*StoreChange)(nil)).Elem()
+	__VDLType_struct_8 = vdl.TypeOf((*SyncgroupSpec)(nil)).Elem()
+	__VDLType_map_9 = vdl.TypeOf((*access.Permissions)(nil))
+	__VDLType_list_10 = vdl.TypeOf((*[]Id)(nil))
+	__VDLType_list_11 = vdl.TypeOf((*[]string)(nil))
+	__VDLType_struct_12 = vdl.TypeOf((*SyncgroupMemberInfo)(nil)).Elem()
+	__VDLType_enum_13 = vdl.TypeOf((*ResolverType)(nil))
+	__VDLType_enum_14 = vdl.TypeOf((*BatchSource)(nil))
+	__VDLType_struct_15 = vdl.TypeOf((*BatchInfo)(nil)).Elem()
+	__VDLType_enum_16 = vdl.TypeOf((*ValueState)(nil))
+	__VDLType_struct_17 = vdl.TypeOf((*Value)(nil)).Elem()
+	__VDLType_struct_18 = vdl.TypeOf((*RowOp)(nil)).Elem()
+	__VDLType_optional_19 = vdl.TypeOf((*Value)(nil))
+	__VDLType_struct_20 = vdl.TypeOf((*ScanOp)(nil)).Elem()
+	__VDLType_union_21 = vdl.TypeOf((*Operation)(nil))
+	__VDLType_struct_22 = vdl.TypeOf((*RowInfo)(nil)).Elem()
+	__VDLType_list_23 = vdl.TypeOf((*[]uint64)(nil))
+	__VDLType_union_24 = vdl.TypeOf((*ConflictData)(nil))
+	__VDLType_struct_25 = vdl.TypeOf((*ConflictInfo)(nil)).Elem()
+	__VDLType_enum_26 = vdl.TypeOf((*ValueSelection)(nil))
+	__VDLType_struct_27 = vdl.TypeOf((*ResolutionInfo)(nil)).Elem()
+	__VDLType_struct_28 = vdl.TypeOf((*CrRule)(nil)).Elem()
+	__VDLType_struct_29 = vdl.TypeOf((*CrPolicy)(nil)).Elem()
+	__VDLType_list_30 = vdl.TypeOf((*[]CrRule)(nil))
+	__VDLType_struct_31 = vdl.TypeOf((*SchemaMetadata)(nil)).Elem()
+	__VDLType_string_32 = vdl.TypeOf((*BlobRef)(nil))
+	__VDLType_enum_33 = vdl.TypeOf((*BlobFetchState)(nil))
+	__VDLType_struct_34 = vdl.TypeOf((*BlobFetchStatus)(nil)).Elem()
+	__VDLType_struct_35 = vdl.TypeOf((*CollectionRowPattern)(nil)).Elem()
+	__VDLType_struct_36 = vdl.TypeOf((*StoreChange)(nil)).Elem()
 
 	// Set error format strings.
 	i18n.Cat().SetWithBase(i18n.LangID("en"), i18n.MsgID(ErrNotInDevMode.ID), "{1:}{2:} not running with --dev=true")
diff --git a/services/syncbase/types.vdl b/services/syncbase/types.vdl
index cf7251e..fa114eb 100644
--- a/services/syncbase/types.vdl
+++ b/services/syncbase/types.vdl
@@ -63,12 +63,6 @@
 	Value any
 }
 
-// CollectionRow encapsulates a collection id and row key or row prefix.
-type CollectionRow struct {
-	CollectionId Id
-	Row          string
-}
-
 // SyncgroupSpec contains the specification for a syncgroup.
 type SyncgroupSpec struct {
 	// Human-readable description of this syncgroup.