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  }