| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // This file was auto-generated by the vanadium vdl tool. |
| // Package: nosql |
| |
| package nosql |
| |
| import ( |
| "fmt" |
| "reflect" |
| "time" |
| "v.io/v23/services/syncbase/nosql" |
| "v.io/v23/vdl" |
| time_2 "v.io/v23/vdlroot/time" |
| ) |
| |
| var _ = __VDLInit() // Must be first; see __VDLInit comments for details. |
| |
| ////////////////////////////////////////////////// |
| // Type definitions |
| |
| // Value contains a specific version of data for the row under conflict along |
| // with the write timestamp and hints associated with the version. |
| // State defines whether the value is empty or not. It can be empty for |
| // reasons like Deleted or Unknown. |
| // WriteTs is the write timestamp for this value. |
| type Value struct { |
| State nosql.ValueState |
| Val []byte |
| WriteTs time.Time |
| // TODO(jlodhia): Since field Selection cannot be package private in VDL, |
| // review the ConflictResolution API to see if we should keep this field |
| // or not. |
| Selection nosql.ValueSelection |
| } |
| |
| func (Value) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.Value"` |
| }) { |
| } |
| |
| func (m *Value) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("State") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := m.State.FillVDLTarget(fieldTarget3, tt.NonOptional().Field(0).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("Val") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := fieldTarget5.FromBytes([]byte(m.Val), tt.NonOptional().Field(1).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| var wireValue6 time_2.Time |
| if err := time_2.TimeFromNative(&wireValue6, m.WriteTs); err != nil { |
| return err |
| } |
| |
| keyTarget7, fieldTarget8, err := fieldsTarget1.StartField("WriteTs") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := wireValue6.FillVDLTarget(fieldTarget8, tt.NonOptional().Field(2).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget7, fieldTarget8); err != nil { |
| return err |
| } |
| } |
| keyTarget9, fieldTarget10, err := fieldsTarget1.StartField("Selection") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := m.Selection.FillVDLTarget(fieldTarget10, tt.NonOptional().Field(3).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget9, fieldTarget10); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Value) MakeVDLTarget() vdl.Target { |
| return &ValueTarget{Value: m} |
| } |
| |
| type ValueTarget struct { |
| Value *Value |
| stateTarget nosql.ValueStateTarget |
| valTarget vdl.BytesTarget |
| writeTsTarget time_2.TimeTarget |
| selectionTarget nosql.ValueSelectionTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ValueTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*Value)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ValueTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "State": |
| t.stateTarget.Value = &t.Value.State |
| target, err := &t.stateTarget, error(nil) |
| return nil, target, err |
| case "Val": |
| t.valTarget.Value = &t.Value.Val |
| target, err := &t.valTarget, error(nil) |
| return nil, target, err |
| case "WriteTs": |
| t.writeTsTarget.Value = &t.Value.WriteTs |
| target, err := &t.writeTsTarget, error(nil) |
| return nil, target, err |
| case "Selection": |
| t.selectionTarget.Value = &t.Value.Selection |
| target, err := &t.selectionTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.Value", name) |
| } |
| } |
| func (t *ValueTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ValueTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // ConflictRow represents a row under conflict. |
| // Key is the key for the row. |
| // LocalValue is the value present in the local db. |
| // RemoteValue is the value received via sync. |
| // AncestorValue is the value for the key which is the lowest common |
| // ancestor of the two values represented by LocalValue and RemoteValue. |
| // AncestorValue's state is NoExists if the ConflictRow is a part of the read set. |
| // BatchIds is a list of ids of all the batches that this row belongs to. |
| type ConflictRow struct { |
| Key string |
| LocalValue Value |
| RemoteValue Value |
| AncestorValue Value |
| BatchIds []uint64 |
| } |
| |
| func (ConflictRow) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.ConflictRow"` |
| }) { |
| } |
| |
| func (m *ConflictRow) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Key") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget3.FromString(string(m.Key), tt.NonOptional().Field(0).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("LocalValue") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := m.LocalValue.FillVDLTarget(fieldTarget5, tt.NonOptional().Field(1).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| keyTarget6, fieldTarget7, err := fieldsTarget1.StartField("RemoteValue") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := m.RemoteValue.FillVDLTarget(fieldTarget7, tt.NonOptional().Field(2).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil { |
| return err |
| } |
| } |
| keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("AncestorValue") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if err := m.AncestorValue.FillVDLTarget(fieldTarget9, tt.NonOptional().Field(3).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil { |
| return err |
| } |
| } |
| keyTarget10, fieldTarget11, err := fieldsTarget1.StartField("BatchIds") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| listTarget12, err := fieldTarget11.StartList(tt.NonOptional().Field(4).Type, len(m.BatchIds)) |
| if err != nil { |
| return err |
| } |
| for i, elem14 := range m.BatchIds { |
| elemTarget13, err := listTarget12.StartElem(i) |
| if err != nil { |
| return err |
| } |
| if err := elemTarget13.FromUint(uint64(elem14), tt.NonOptional().Field(4).Type.Elem()); err != nil { |
| return err |
| } |
| if err := listTarget12.FinishElem(elemTarget13); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget11.FinishList(listTarget12); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget10, fieldTarget11); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *ConflictRow) MakeVDLTarget() vdl.Target { |
| return &ConflictRowTarget{Value: m} |
| } |
| |
| type ConflictRowTarget struct { |
| Value *ConflictRow |
| keyTarget vdl.StringTarget |
| localValueTarget ValueTarget |
| remoteValueTarget ValueTarget |
| ancestorValueTarget ValueTarget |
| batchIdsTarget unnamed_5b5d75696e743634Target |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ConflictRowTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*ConflictRow)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ConflictRowTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "Key": |
| t.keyTarget.Value = &t.Value.Key |
| target, err := &t.keyTarget, error(nil) |
| return nil, target, err |
| case "LocalValue": |
| t.localValueTarget.Value = &t.Value.LocalValue |
| target, err := &t.localValueTarget, error(nil) |
| return nil, target, err |
| case "RemoteValue": |
| t.remoteValueTarget.Value = &t.Value.RemoteValue |
| target, err := &t.remoteValueTarget, error(nil) |
| return nil, target, err |
| case "AncestorValue": |
| t.ancestorValueTarget.Value = &t.Value.AncestorValue |
| target, err := &t.ancestorValueTarget, error(nil) |
| return nil, target, err |
| case "BatchIds": |
| t.batchIdsTarget.Value = &t.Value.BatchIds |
| target, err := &t.batchIdsTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.ConflictRow", name) |
| } |
| } |
| func (t *ConflictRowTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ConflictRowTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // []uint64 |
| type unnamed_5b5d75696e743634Target struct { |
| Value *[]uint64 |
| elemTarget vdl.Uint64Target |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *unnamed_5b5d75696e743634Target) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*[]uint64)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]uint64, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *unnamed_5b5d75696e743634Target) StartElem(index int) (elem vdl.Target, _ error) { |
| t.elemTarget.Value = &(*t.Value)[index] |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_5b5d75696e743634Target) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *unnamed_5b5d75696e743634Target) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| // ConflictRowSet contains a set of rows under conflict. It provides two different |
| // ways to access the same set. |
| // ByKey is a map of ConflictRows keyed by the row key. |
| // ByBatch is a map of []ConflictRows keyed by batch id. This map lets the client |
| // access all ConflictRows within this set that contain a given hint. |
| type ConflictRowSet struct { |
| ByKey map[string]ConflictRow |
| ByBatch map[uint64][]ConflictRow |
| } |
| |
| func (ConflictRowSet) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.ConflictRowSet"` |
| }) { |
| } |
| |
| func (m *ConflictRowSet) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("ByKey") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| mapTarget4, err := fieldTarget3.StartMap(tt.NonOptional().Field(0).Type, len(m.ByKey)) |
| if err != nil { |
| return err |
| } |
| for key6, value8 := range m.ByKey { |
| keyTarget5, err := mapTarget4.StartKey() |
| if err != nil { |
| return err |
| } |
| if err := keyTarget5.FromString(string(key6), tt.NonOptional().Field(0).Type.Key()); err != nil { |
| return err |
| } |
| valueTarget7, err := mapTarget4.FinishKeyStartField(keyTarget5) |
| if err != nil { |
| return err |
| } |
| |
| if err := value8.FillVDLTarget(valueTarget7, tt.NonOptional().Field(0).Type.Elem()); err != nil { |
| return err |
| } |
| if err := mapTarget4.FinishField(keyTarget5, valueTarget7); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget3.FinishMap(mapTarget4); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget9, fieldTarget10, err := fieldsTarget1.StartField("ByBatch") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| mapTarget11, err := fieldTarget10.StartMap(tt.NonOptional().Field(1).Type, len(m.ByBatch)) |
| if err != nil { |
| return err |
| } |
| for key13, value15 := range m.ByBatch { |
| keyTarget12, err := mapTarget11.StartKey() |
| if err != nil { |
| return err |
| } |
| if err := keyTarget12.FromUint(uint64(key13), tt.NonOptional().Field(1).Type.Key()); err != nil { |
| return err |
| } |
| valueTarget14, err := mapTarget11.FinishKeyStartField(keyTarget12) |
| if err != nil { |
| return err |
| } |
| |
| listTarget16, err := valueTarget14.StartList(tt.NonOptional().Field(1).Type.Elem(), len(value15)) |
| if err != nil { |
| return err |
| } |
| for i, elem18 := range value15 { |
| elemTarget17, err := listTarget16.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if err := elem18.FillVDLTarget(elemTarget17, tt.NonOptional().Field(1).Type.Elem().Elem()); err != nil { |
| return err |
| } |
| if err := listTarget16.FinishElem(elemTarget17); err != nil { |
| return err |
| } |
| } |
| if err := valueTarget14.FinishList(listTarget16); err != nil { |
| return err |
| } |
| if err := mapTarget11.FinishField(keyTarget12, valueTarget14); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget10.FinishMap(mapTarget11); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget9, fieldTarget10); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *ConflictRowSet) MakeVDLTarget() vdl.Target { |
| return &ConflictRowSetTarget{Value: m} |
| } |
| |
| type ConflictRowSetTarget struct { |
| Value *ConflictRowSet |
| byKeyTarget unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget |
| byBatchTarget unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ConflictRowSetTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*ConflictRowSet)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ConflictRowSetTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "ByKey": |
| t.byKeyTarget.Value = &t.Value.ByKey |
| target, err := &t.byKeyTarget, error(nil) |
| return nil, target, err |
| case "ByBatch": |
| t.byBatchTarget.Value = &t.Value.ByBatch |
| target, err := &t.byBatchTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.ConflictRowSet", name) |
| } |
| } |
| func (t *ConflictRowSetTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ConflictRowSetTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // map[string]ConflictRow |
| type unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget struct { |
| Value *map[string]ConflictRow |
| currKey string |
| currElem ConflictRow |
| keyTarget vdl.StringTarget |
| elemTarget ConflictRowTarget |
| vdl.TargetBase |
| vdl.MapTargetBase |
| } |
| |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) StartMap(tt *vdl.Type, len int) (vdl.MapTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*map[string]ConflictRow)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| *t.Value = make(map[string]ConflictRow) |
| return t, nil |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) StartKey() (key vdl.Target, _ error) { |
| t.currKey = "" |
| t.keyTarget.Value = &t.currKey |
| target, err := &t.keyTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, _ error) { |
| t.currElem = reflect.Zero(reflect.TypeOf(t.currElem)).Interface().(ConflictRow) |
| t.elemTarget.Value = &t.currElem |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishField(key, field vdl.Target) error { |
| (*t.Value)[t.currKey] = t.currElem |
| return nil |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishMap(elem vdl.MapTarget) error { |
| if len(*t.Value) == 0 { |
| *t.Value = nil |
| } |
| |
| return nil |
| } |
| |
| // map[uint64][]ConflictRow |
| type unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget struct { |
| Value *map[uint64][]ConflictRow |
| currKey uint64 |
| currElem []ConflictRow |
| keyTarget vdl.Uint64Target |
| elemTarget unnamed_5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget |
| vdl.TargetBase |
| vdl.MapTargetBase |
| } |
| |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) StartMap(tt *vdl.Type, len int) (vdl.MapTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*map[uint64][]ConflictRow)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| *t.Value = make(map[uint64][]ConflictRow) |
| return t, nil |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) StartKey() (key vdl.Target, _ error) { |
| t.currKey = uint64(0) |
| t.keyTarget.Value = &t.currKey |
| target, err := &t.keyTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, _ error) { |
| t.currElem = reflect.Zero(reflect.TypeOf(t.currElem)).Interface().([]ConflictRow) |
| t.elemTarget.Value = &t.currElem |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishField(key, field vdl.Target) error { |
| (*t.Value)[t.currKey] = t.currElem |
| return nil |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishMap(elem vdl.MapTarget) error { |
| if len(*t.Value) == 0 { |
| *t.Value = nil |
| } |
| |
| return nil |
| } |
| |
| // []ConflictRow |
| type unnamed_5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget struct { |
| Value *[]ConflictRow |
| elemTarget ConflictRowTarget |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *unnamed_5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*[]ConflictRow)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]ConflictRow, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *unnamed_5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) StartElem(index int) (elem vdl.Target, _ error) { |
| t.elemTarget.Value = &(*t.Value)[index] |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *unnamed_5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347dTarget) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| // ConflictScanSet contains a set of scans under conflict. |
| // ByBatch is a map of array of ScanOps keyed by batch id. |
| type ConflictScanSet struct { |
| ByBatch map[uint64][]nosql.ScanOp |
| } |
| |
| func (ConflictScanSet) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.ConflictScanSet"` |
| }) { |
| } |
| |
| func (m *ConflictScanSet) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("ByBatch") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| mapTarget4, err := fieldTarget3.StartMap(tt.NonOptional().Field(0).Type, len(m.ByBatch)) |
| if err != nil { |
| return err |
| } |
| for key6, value8 := range m.ByBatch { |
| keyTarget5, err := mapTarget4.StartKey() |
| if err != nil { |
| return err |
| } |
| if err := keyTarget5.FromUint(uint64(key6), tt.NonOptional().Field(0).Type.Key()); err != nil { |
| return err |
| } |
| valueTarget7, err := mapTarget4.FinishKeyStartField(keyTarget5) |
| if err != nil { |
| return err |
| } |
| |
| listTarget9, err := valueTarget7.StartList(tt.NonOptional().Field(0).Type.Elem(), len(value8)) |
| if err != nil { |
| return err |
| } |
| for i, elem11 := range value8 { |
| elemTarget10, err := listTarget9.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if err := elem11.FillVDLTarget(elemTarget10, tt.NonOptional().Field(0).Type.Elem().Elem()); err != nil { |
| return err |
| } |
| if err := listTarget9.FinishElem(elemTarget10); err != nil { |
| return err |
| } |
| } |
| if err := valueTarget7.FinishList(listTarget9); err != nil { |
| return err |
| } |
| if err := mapTarget4.FinishField(keyTarget5, valueTarget7); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget3.FinishMap(mapTarget4); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *ConflictScanSet) MakeVDLTarget() vdl.Target { |
| return &ConflictScanSetTarget{Value: m} |
| } |
| |
| type ConflictScanSetTarget struct { |
| Value *ConflictScanSet |
| byBatchTarget unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ConflictScanSetTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*ConflictScanSet)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ConflictScanSetTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "ByBatch": |
| t.byBatchTarget.Value = &t.Value.ByBatch |
| target, err := &t.byBatchTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.ConflictScanSet", name) |
| } |
| } |
| func (t *ConflictScanSetTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ConflictScanSetTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // map[uint64][]nosql.ScanOp |
| type unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget struct { |
| Value *map[uint64][]nosql.ScanOp |
| currKey uint64 |
| currElem []nosql.ScanOp |
| keyTarget vdl.Uint64Target |
| elemTarget unnamed_5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget |
| vdl.TargetBase |
| vdl.MapTargetBase |
| } |
| |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) StartMap(tt *vdl.Type, len int) (vdl.MapTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*map[uint64][]nosql.ScanOp)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| *t.Value = make(map[uint64][]nosql.ScanOp) |
| return t, nil |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) StartKey() (key vdl.Target, _ error) { |
| t.currKey = uint64(0) |
| t.keyTarget.Value = &t.currKey |
| target, err := &t.keyTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, _ error) { |
| t.currElem = []nosql.ScanOp(nil) |
| t.elemTarget.Value = &t.currElem |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) FinishField(key, field vdl.Target) error { |
| (*t.Value)[t.currKey] = t.currElem |
| return nil |
| } |
| func (t *unnamed_6d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) FinishMap(elem vdl.MapTarget) error { |
| if len(*t.Value) == 0 { |
| *t.Value = nil |
| } |
| |
| return nil |
| } |
| |
| // []nosql.ScanOp |
| type unnamed_5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget struct { |
| Value *[]nosql.ScanOp |
| elemTarget nosql.ScanOpTarget |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *unnamed_5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*[]nosql.ScanOp)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]nosql.ScanOp, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *unnamed_5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) StartElem(index int) (elem vdl.Target, _ error) { |
| t.elemTarget.Value = &(*t.Value)[index] |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *unnamed_5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677dTarget) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| // Conflict contains information to fully specify a conflict. Since syncbase |
| // supports batches there can be one or more rows within the batch that has a |
| // conflict. Each of these rows will be sent together as part of a single |
| // conflict. Each row contains an Id of the batch to which it belongs, |
| // enabling the client to group together rows that are part of a batch. Note |
| // that a single row can be part of more than one batch. |
| // |
| // WriteSet contains rows that were written. |
| // ReadSet contains rows that were read within a batch corresponding to a row |
| // within the write set. |
| // ScanSet contains scans performed within a batch corresponding to a row |
| // within the write set. |
| // Batches is a map of unique ids to BatchInfo objects. The id is unique only in |
| // the context of a given conflict and is otherwise meaningless. |
| type Conflict struct { |
| ReadSet *ConflictRowSet |
| WriteSet *ConflictRowSet |
| ScanSet *ConflictScanSet |
| Batches map[uint64]nosql.BatchInfo |
| } |
| |
| func (Conflict) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.Conflict"` |
| }) { |
| } |
| |
| func (m *Conflict) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("ReadSet") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if m.ReadSet == nil { |
| if err := fieldTarget3.FromNil(tt.NonOptional().Field(0).Type); err != nil { |
| return err |
| } |
| } else { |
| if err := m.ReadSet.FillVDLTarget(fieldTarget3, tt.NonOptional().Field(0).Type); err != nil { |
| return err |
| } |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("WriteSet") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if m.WriteSet == nil { |
| if err := fieldTarget5.FromNil(tt.NonOptional().Field(1).Type); err != nil { |
| return err |
| } |
| } else { |
| if err := m.WriteSet.FillVDLTarget(fieldTarget5, tt.NonOptional().Field(1).Type); err != nil { |
| return err |
| } |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| keyTarget6, fieldTarget7, err := fieldsTarget1.StartField("ScanSet") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if m.ScanSet == nil { |
| if err := fieldTarget7.FromNil(tt.NonOptional().Field(2).Type); err != nil { |
| return err |
| } |
| } else { |
| if err := m.ScanSet.FillVDLTarget(fieldTarget7, tt.NonOptional().Field(2).Type); err != nil { |
| return err |
| } |
| } |
| if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil { |
| return err |
| } |
| } |
| keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("Batches") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| mapTarget10, err := fieldTarget9.StartMap(tt.NonOptional().Field(3).Type, len(m.Batches)) |
| if err != nil { |
| return err |
| } |
| for key12, value14 := range m.Batches { |
| keyTarget11, err := mapTarget10.StartKey() |
| if err != nil { |
| return err |
| } |
| if err := keyTarget11.FromUint(uint64(key12), tt.NonOptional().Field(3).Type.Key()); err != nil { |
| return err |
| } |
| valueTarget13, err := mapTarget10.FinishKeyStartField(keyTarget11) |
| if err != nil { |
| return err |
| } |
| |
| if err := value14.FillVDLTarget(valueTarget13, tt.NonOptional().Field(3).Type.Elem()); err != nil { |
| return err |
| } |
| if err := mapTarget10.FinishField(keyTarget11, valueTarget13); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget9.FinishMap(mapTarget10); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Conflict) MakeVDLTarget() vdl.Target { |
| return &ConflictTarget{Value: m} |
| } |
| |
| type ConflictTarget struct { |
| Value *Conflict |
| readSetTarget unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77536574207374727563747b42794b6579206d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347d3b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f777dTarget |
| writeSetTarget unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77536574207374727563747b42794b6579206d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347d3b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f777dTarget |
| scanSetTarget unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c6963745363616e536574207374727563747b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677d7dTarget |
| batchesTarget unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ConflictTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*Conflict)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ConflictTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "ReadSet": |
| t.readSetTarget.Value = &t.Value.ReadSet |
| target, err := &t.readSetTarget, error(nil) |
| return nil, target, err |
| case "WriteSet": |
| t.writeSetTarget.Value = &t.Value.WriteSet |
| target, err := &t.writeSetTarget, error(nil) |
| return nil, target, err |
| case "ScanSet": |
| t.scanSetTarget.Value = &t.Value.ScanSet |
| target, err := &t.scanSetTarget, error(nil) |
| return nil, target, err |
| case "Batches": |
| t.batchesTarget.Value = &t.Value.Batches |
| target, err := &t.batchesTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.Conflict", name) |
| } |
| } |
| func (t *ConflictTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ConflictTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // Optional ConflictRowSet |
| type unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77536574207374727563747b42794b6579206d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347d3b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f777dTarget struct { |
| Value **ConflictRowSet |
| elemTarget ConflictRowSetTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77536574207374727563747b42794b6579206d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347d3b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f777dTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if *t.Value == nil { |
| *t.Value = &ConflictRowSet{} |
| } |
| t.elemTarget.Value = *t.Value |
| target, err := &t.elemTarget, error(nil) |
| if err != nil { |
| return nil, err |
| } |
| return target.StartFields(tt) |
| } |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77536574207374727563747b42794b6579206d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347d3b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f777dTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77536574207374727563747b42794b6579206d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f77207374727563747b4b657920737472696e673b4c6f63616c56616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d3b52656d6f746556616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b416e636573746f7256616c756520762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c75653b4261746368496473205b5d75696e7436347d3b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c696374526f777dTarget) FromNil(tt *vdl.Type) error { |
| |
| *t.Value = nil |
| |
| return nil |
| } |
| |
| // Optional ConflictScanSet |
| type unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c6963745363616e536574207374727563747b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677d7dTarget struct { |
| Value **ConflictScanSet |
| elemTarget ConflictScanSetTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c6963745363616e536574207374727563747b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677d7dTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if *t.Value == nil { |
| *t.Value = &ConflictScanSet{} |
| } |
| t.elemTarget.Value = *t.Value |
| target, err := &t.elemTarget, error(nil) |
| if err != nil { |
| return nil, err |
| } |
| return target.StartFields(tt) |
| } |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c6963745363616e536574207374727563747b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677d7dTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e436f6e666c6963745363616e536574207374727563747b42794261746368206d61705b75696e7436345d5b5d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e5363616e4f70207374727563747b537461727420737472696e673b4c696d697420737472696e677d7dTarget) FromNil(tt *vdl.Type) error { |
| |
| *t.Value = nil |
| |
| return nil |
| } |
| |
| // map[uint64]nosql.BatchInfo |
| type unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget struct { |
| Value *map[uint64]nosql.BatchInfo |
| currKey uint64 |
| currElem nosql.BatchInfo |
| keyTarget vdl.Uint64Target |
| elemTarget nosql.BatchInfoTarget |
| vdl.TargetBase |
| vdl.MapTargetBase |
| } |
| |
| func (t *unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget) StartMap(tt *vdl.Type, len int) (vdl.MapTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*map[uint64]nosql.BatchInfo)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| *t.Value = make(map[uint64]nosql.BatchInfo) |
| return t, nil |
| } |
| func (t *unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget) StartKey() (key vdl.Target, _ error) { |
| t.currKey = uint64(0) |
| t.keyTarget.Value = &t.currKey |
| target, err := &t.keyTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, _ error) { |
| t.currElem = nosql.BatchInfo{} |
| t.elemTarget.Value = &t.currElem |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget) FinishField(key, field vdl.Target) error { |
| (*t.Value)[t.currKey] = t.currElem |
| return nil |
| } |
| func (t *unnamed_6d61705b75696e7436345d762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368496e666f207374727563747b49642075696e7436343b48696e7420737472696e673b536f7572636520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e4261746368536f7572636520656e756d7b4c6f63616c3b52656d6f74657d7dTarget) FinishMap(elem vdl.MapTarget) error { |
| if len(*t.Value) == 0 { |
| *t.Value = nil |
| } |
| |
| return nil |
| } |
| |
| // ResolvedRow represents a result of resolution of a row under conflict. |
| // Key is the key for the row. |
| // Result is the result of the conflict resolution. Delete is represented |
| // by nil. |
| type ResolvedRow struct { |
| Key string |
| Result *Value |
| } |
| |
| func (ResolvedRow) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.ResolvedRow"` |
| }) { |
| } |
| |
| func (m *ResolvedRow) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Key") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget3.FromString(string(m.Key), tt.NonOptional().Field(0).Type); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("Result") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if m.Result == nil { |
| if err := fieldTarget5.FromNil(tt.NonOptional().Field(1).Type); err != nil { |
| return err |
| } |
| } else { |
| if err := m.Result.FillVDLTarget(fieldTarget5, tt.NonOptional().Field(1).Type); err != nil { |
| return err |
| } |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *ResolvedRow) MakeVDLTarget() vdl.Target { |
| return &ResolvedRowTarget{Value: m} |
| } |
| |
| type ResolvedRowTarget struct { |
| Value *ResolvedRow |
| keyTarget vdl.StringTarget |
| resultTarget unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7dTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ResolvedRowTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*ResolvedRow)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ResolvedRowTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "Key": |
| t.keyTarget.Value = &t.Value.Key |
| target, err := &t.keyTarget, error(nil) |
| return nil, target, err |
| case "Result": |
| t.resultTarget.Value = &t.Value.Result |
| target, err := &t.resultTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.ResolvedRow", name) |
| } |
| } |
| func (t *ResolvedRowTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ResolvedRowTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // Optional Value |
| type unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7dTarget struct { |
| Value **Value |
| elemTarget ValueTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7dTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if *t.Value == nil { |
| *t.Value = &Value{} |
| } |
| t.elemTarget.Value = *t.Value |
| target, err := &t.elemTarget, error(nil) |
| if err != nil { |
| return nil, err |
| } |
| return target.StartFields(tt) |
| } |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7dTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| func (t *unnamed_3f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7dTarget) FromNil(tt *vdl.Type) error { |
| |
| *t.Value = nil |
| |
| return nil |
| } |
| |
| // Resolution contains the application’s reply to a conflict. It must contain a |
| // resolved value for each conflict row within the WriteSet of the given |
| // conflict. |
| // ResultSet is a map of row key to ResolvedRow. |
| type Resolution struct { |
| ResultSet map[string]ResolvedRow |
| } |
| |
| func (Resolution) __VDLReflect(struct { |
| Name string `vdl:"v.io/v23/syncbase/nosql.Resolution"` |
| }) { |
| } |
| |
| func (m *Resolution) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("ResultSet") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| mapTarget4, err := fieldTarget3.StartMap(tt.NonOptional().Field(0).Type, len(m.ResultSet)) |
| if err != nil { |
| return err |
| } |
| for key6, value8 := range m.ResultSet { |
| keyTarget5, err := mapTarget4.StartKey() |
| if err != nil { |
| return err |
| } |
| if err := keyTarget5.FromString(string(key6), tt.NonOptional().Field(0).Type.Key()); err != nil { |
| return err |
| } |
| valueTarget7, err := mapTarget4.FinishKeyStartField(keyTarget5) |
| if err != nil { |
| return err |
| } |
| |
| if err := value8.FillVDLTarget(valueTarget7, tt.NonOptional().Field(0).Type.Elem()); err != nil { |
| return err |
| } |
| if err := mapTarget4.FinishField(keyTarget5, valueTarget7); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget3.FinishMap(mapTarget4); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Resolution) MakeVDLTarget() vdl.Target { |
| return &ResolutionTarget{Value: m} |
| } |
| |
| type ResolutionTarget struct { |
| Value *Resolution |
| resultSetTarget unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ResolutionTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*Resolution)(nil)).Elem(); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| return t, nil |
| } |
| func (t *ResolutionTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "ResultSet": |
| t.resultSetTarget.Value = &t.Value.ResultSet |
| target, err := &t.resultSetTarget, error(nil) |
| return nil, target, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct v.io/v23/syncbase/nosql.Resolution", name) |
| } |
| } |
| func (t *ResolutionTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ResolutionTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| // map[string]ResolvedRow |
| type unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget struct { |
| Value *map[string]ResolvedRow |
| currKey string |
| currElem ResolvedRow |
| keyTarget vdl.StringTarget |
| elemTarget ResolvedRowTarget |
| vdl.TargetBase |
| vdl.MapTargetBase |
| } |
| |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget) StartMap(tt *vdl.Type, len int) (vdl.MapTarget, error) { |
| |
| if ttWant := vdl.TypeOf((*map[string]ResolvedRow)(nil)); !vdl.Compatible(tt, ttWant) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant) |
| } |
| *t.Value = make(map[string]ResolvedRow) |
| return t, nil |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget) StartKey() (key vdl.Target, _ error) { |
| t.currKey = "" |
| t.keyTarget.Value = &t.currKey |
| target, err := &t.keyTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, _ error) { |
| t.currElem = reflect.Zero(reflect.TypeOf(t.currElem)).Interface().(ResolvedRow) |
| t.elemTarget.Value = &t.currElem |
| target, err := &t.elemTarget, error(nil) |
| return target, err |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget) FinishField(key, field vdl.Target) error { |
| (*t.Value)[t.currKey] = t.currElem |
| return nil |
| } |
| func (t *unnamed_6d61705b737472696e675d762e696f2f7632332f73796e63626173652f6e6f73716c2e5265736f6c766564526f77207374727563747b4b657920737472696e673b526573756c74203f762e696f2f7632332f73796e63626173652f6e6f73716c2e56616c7565207374727563747b537461746520762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c7565537461746520656e756d7b4578697374733b4e6f4578697374733b44656c657465643b556e6b6e6f776e7d3b56616c205b5d627974653b577269746554732074696d652e54696d65207374727563747b5365636f6e647320696e7436343b4e616e6f7320696e7433327d3b53656c656374696f6e20762e696f2f7632332f73657276696365732f73796e63626173652f6e6f73716c2e56616c756553656c656374696f6e20656e756d7b4c6f63616c3b52656d6f74653b4f746865727d7d7dTarget) FinishMap(elem vdl.MapTarget) error { |
| if len(*t.Value) == 0 { |
| *t.Value = nil |
| } |
| |
| return nil |
| } |
| |
| var __VDLInitCalled bool |
| |
| // __VDLInit performs vdl initialization. It is safe to call multiple times. |
| // If you have an init ordering issue, just insert the following line verbatim |
| // into your source files in this package, right after the "package foo" clause: |
| // |
| // var _ = __VDLInit() |
| // |
| // The purpose of this function is to ensure that vdl initialization occurs in |
| // the right order, and very early in the init sequence. In particular, vdl |
| // registration and package variable initialization needs to occur before |
| // functions like vdl.TypeOf will work properly. |
| // |
| // This function returns a dummy value, so that it can be used to initialize the |
| // first var in the file, to take advantage of Go's defined init order. |
| func __VDLInit() struct{} { |
| if __VDLInitCalled { |
| return struct{}{} |
| } |
| |
| // Register types. |
| vdl.Register((*Value)(nil)) |
| vdl.Register((*ConflictRow)(nil)) |
| vdl.Register((*ConflictRowSet)(nil)) |
| vdl.Register((*ConflictScanSet)(nil)) |
| vdl.Register((*Conflict)(nil)) |
| vdl.Register((*ResolvedRow)(nil)) |
| vdl.Register((*Resolution)(nil)) |
| |
| return struct{}{} |
| } |