github.com/ydb-platform/ydb-go-sdk/v3@v3.57.0/internal/params/set.go (about) 1 package params 2 3 import ( 4 "time" 5 6 "github.com/ydb-platform/ydb-go-sdk/v3/internal/value" 7 ) 8 9 type ( 10 set struct { 11 parent Builder 12 name string 13 values []value.Value 14 } 15 16 setItem struct { 17 parent *set 18 } 19 ) 20 21 func (s *set) AddItem() *setItem { 22 return &setItem{ 23 parent: s, 24 } 25 } 26 27 func (s *set) AddItems(items ...value.Value) *set { 28 s.values = append(s.values, items...) 29 30 return s 31 } 32 33 func (s *set) Build() Builder { 34 s.parent.params = append(s.parent.params, &Parameter{ 35 parent: s.parent, 36 name: s.name, 37 value: value.SetValue(s.values...), 38 }) 39 40 return s.parent 41 } 42 43 func (s *setItem) Text(v string) *set { 44 s.parent.values = append(s.parent.values, value.TextValue(v)) 45 46 return s.parent 47 } 48 49 func (s *setItem) Bytes(v []byte) *set { 50 s.parent.values = append(s.parent.values, value.BytesValue(v)) 51 52 return s.parent 53 } 54 55 func (s *setItem) Bool(v bool) *set { 56 s.parent.values = append(s.parent.values, value.BoolValue(v)) 57 58 return s.parent 59 } 60 61 func (s *setItem) Uint64(v uint64) *set { 62 s.parent.values = append(s.parent.values, value.Uint64Value(v)) 63 64 return s.parent 65 } 66 67 func (s *setItem) Int64(v int64) *set { 68 s.parent.values = append(s.parent.values, value.Int64Value(v)) 69 70 return s.parent 71 } 72 73 func (s *setItem) Uint32(v uint32) *set { 74 s.parent.values = append(s.parent.values, value.Uint32Value(v)) 75 76 return s.parent 77 } 78 79 func (s *setItem) Int32(v int32) *set { 80 s.parent.values = append(s.parent.values, value.Int32Value(v)) 81 82 return s.parent 83 } 84 85 func (s *setItem) Uint16(v uint16) *set { 86 s.parent.values = append(s.parent.values, value.Uint16Value(v)) 87 88 return s.parent 89 } 90 91 func (s *setItem) Int16(v int16) *set { 92 s.parent.values = append(s.parent.values, value.Int16Value(v)) 93 94 return s.parent 95 } 96 97 func (s *setItem) Uint8(v uint8) *set { 98 s.parent.values = append(s.parent.values, value.Uint8Value(v)) 99 100 return s.parent 101 } 102 103 func (s *setItem) Int8(v int8) *set { 104 s.parent.values = append(s.parent.values, value.Int8Value(v)) 105 106 return s.parent 107 } 108 109 func (s *setItem) Float(v float32) *set { 110 s.parent.values = append(s.parent.values, value.FloatValue(v)) 111 112 return s.parent 113 } 114 115 func (s *setItem) Double(v float64) *set { 116 s.parent.values = append(s.parent.values, value.DoubleValue(v)) 117 118 return s.parent 119 } 120 121 func (s *setItem) Decimal(v [16]byte, precision, scale uint32) *set { 122 s.parent.values = append(s.parent.values, value.DecimalValue(v, precision, scale)) 123 124 return s.parent 125 } 126 127 func (s *setItem) Timestamp(v time.Time) *set { 128 s.parent.values = append(s.parent.values, value.TimestampValueFromTime(v)) 129 130 return s.parent 131 } 132 133 func (s *setItem) Date(v time.Time) *set { 134 s.parent.values = append(s.parent.values, value.DateValueFromTime(v)) 135 136 return s.parent 137 } 138 139 func (s *setItem) Datetime(v time.Time) *set { 140 s.parent.values = append(s.parent.values, value.DatetimeValueFromTime(v)) 141 142 return s.parent 143 } 144 145 func (s *setItem) Interval(v time.Duration) *set { 146 s.parent.values = append(s.parent.values, value.IntervalValueFromDuration(v)) 147 148 return s.parent 149 } 150 151 func (s *setItem) JSON(v string) *set { 152 s.parent.values = append(s.parent.values, value.JSONValue(v)) 153 154 return s.parent 155 } 156 157 func (s *setItem) JSONDocument(v string) *set { 158 s.parent.values = append(s.parent.values, value.JSONDocumentValue(v)) 159 160 return s.parent 161 } 162 163 func (s *setItem) YSON(v []byte) *set { 164 s.parent.values = append(s.parent.values, value.YSONValue(v)) 165 166 return s.parent 167 } 168 169 func (s *setItem) UUID(v [16]byte) *set { 170 s.parent.values = append(s.parent.values, value.UUIDValue(v)) 171 172 return s.parent 173 }