1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5// Contains an array.
6//
7// The following types satisfy this interface:
8//  ArrayValueMemberBooleanValues
9//  ArrayValueMemberLongValues
10//  ArrayValueMemberDoubleValues
11//  ArrayValueMemberStringValues
12//  ArrayValueMemberArrayValues
13type ArrayValue interface {
14	isArrayValue()
15}
16
17// An array of Boolean values.
18type ArrayValueMemberBooleanValues struct {
19	Value []bool
20}
21
22func (*ArrayValueMemberBooleanValues) isArrayValue() {}
23
24// An array of floating point numbers.
25type ArrayValueMemberLongValues struct {
26	Value []int64
27}
28
29func (*ArrayValueMemberLongValues) isArrayValue() {}
30
31// An array of integers.
32type ArrayValueMemberDoubleValues struct {
33	Value []float64
34}
35
36func (*ArrayValueMemberDoubleValues) isArrayValue() {}
37
38// An array of strings.
39type ArrayValueMemberStringValues struct {
40	Value []string
41}
42
43func (*ArrayValueMemberStringValues) isArrayValue() {}
44
45// An array of arrays.
46type ArrayValueMemberArrayValues struct {
47	Value []ArrayValue
48}
49
50func (*ArrayValueMemberArrayValues) isArrayValue() {}
51
52// Contains the metadata for a column.
53type ColumnMetadata struct {
54
55	// The type of the column.
56	ArrayBaseColumnType int32
57
58	// A value that indicates whether the column increments automatically.
59	IsAutoIncrement bool
60
61	// A value that indicates whether the column is case-sensitive.
62	IsCaseSensitive bool
63
64	// A value that indicates whether the column contains currency values.
65	IsCurrency bool
66
67	// A value that indicates whether an integer column is signed.
68	IsSigned bool
69
70	// The label for the column.
71	Label *string
72
73	// The name of the column.
74	Name *string
75
76	// A value that indicates whether the column is nullable.
77	Nullable int32
78
79	// The precision value of a decimal number column.
80	Precision int32
81
82	// The scale value of a decimal number column.
83	Scale int32
84
85	// The name of the schema that owns the table that includes the column.
86	SchemaName *string
87
88	// The name of the table that includes the column.
89	TableName *string
90
91	// The type of the column.
92	Type int32
93
94	// The database-specific data type of the column.
95	TypeName *string
96}
97
98// Contains a value.
99//
100// The following types satisfy this interface:
101//  FieldMemberIsNull
102//  FieldMemberBooleanValue
103//  FieldMemberLongValue
104//  FieldMemberDoubleValue
105//  FieldMemberStringValue
106//  FieldMemberBlobValue
107//  FieldMemberArrayValue
108type Field interface {
109	isField()
110}
111
112// A NULL value.
113type FieldMemberIsNull struct {
114	Value bool
115}
116
117func (*FieldMemberIsNull) isField() {}
118
119// A value of Boolean data type.
120type FieldMemberBooleanValue struct {
121	Value bool
122}
123
124func (*FieldMemberBooleanValue) isField() {}
125
126// A value of long data type.
127type FieldMemberLongValue struct {
128	Value int64
129}
130
131func (*FieldMemberLongValue) isField() {}
132
133// A value of double data type.
134type FieldMemberDoubleValue struct {
135	Value float64
136}
137
138func (*FieldMemberDoubleValue) isField() {}
139
140// A value of string data type.
141type FieldMemberStringValue struct {
142	Value string
143}
144
145func (*FieldMemberStringValue) isField() {}
146
147// A value of BLOB data type.
148type FieldMemberBlobValue struct {
149	Value []byte
150}
151
152func (*FieldMemberBlobValue) isField() {}
153
154// An array of values.
155type FieldMemberArrayValue struct {
156	Value ArrayValue
157}
158
159func (*FieldMemberArrayValue) isField() {}
160
161// A record returned by a call.
162type Record struct {
163
164	// The values returned in the record.
165	Values []Value
166}
167
168// The result set returned by a SQL statement.
169type ResultFrame struct {
170
171	// The records in the result set.
172	Records []Record
173
174	// The result-set metadata in the result set.
175	ResultSetMetadata *ResultSetMetadata
176}
177
178// The metadata of the result set returned by a SQL statement.
179type ResultSetMetadata struct {
180
181	// The number of columns in the result set.
182	ColumnCount int64
183
184	// The metadata of the columns in the result set.
185	ColumnMetadata []ColumnMetadata
186}
187
188// Options that control how the result set is returned.
189type ResultSetOptions struct {
190
191	// A value that indicates how a field of DECIMAL type is represented in the
192	// response. The value of STRING, the default, specifies that it is converted to a
193	// String value. The value of DOUBLE_OR_LONG specifies that it is converted to a
194	// Long value if its scale is 0, or to a Double value otherwise. Conversion to
195	// Double or Long can result in roundoff errors due to precision loss. We recommend
196	// converting to String, especially when working with currency values.
197	DecimalReturnType DecimalReturnType
198}
199
200// A parameter used in a SQL statement.
201type SqlParameter struct {
202
203	// The name of the parameter.
204	Name *string
205
206	// A hint that specifies the correct object type for data type mapping. Possible
207	// values are as follows:
208	//
209	// * DATE - The corresponding String parameter value is
210	// sent as an object of DATE type to the database. The accepted format is
211	// YYYY-MM-DD.
212	//
213	// * DECIMAL - The corresponding String parameter value is sent as an
214	// object of DECIMAL type to the database.
215	//
216	// * JSON - The corresponding String
217	// parameter value is sent as an object of JSON type to the database.
218	//
219	// * TIME - The
220	// corresponding String parameter value is sent as an object of TIME type to the
221	// database. The accepted format is HH:MM:SS[.FFF].
222	//
223	// * TIMESTAMP - The
224	// corresponding String parameter value is sent as an object of TIMESTAMP type to
225	// the database. The accepted format is YYYY-MM-DD HH:MM:SS[.FFF].
226	//
227	// * UUID - The
228	// corresponding String parameter value is sent as an object of UUID type to the
229	// database.
230	TypeHint TypeHint
231
232	// The value of the parameter.
233	Value Field
234}
235
236// The result of a SQL statement. This data type is deprecated.
237type SqlStatementResult struct {
238
239	// The number of records updated by a SQL statement.
240	NumberOfRecordsUpdated int64
241
242	// The result set of the SQL statement.
243	ResultFrame *ResultFrame
244}
245
246// A structure value returned by a call.
247type StructValue struct {
248
249	// The attributes returned in the record.
250	Attributes []Value
251}
252
253// The response elements represent the results of an update.
254type UpdateResult struct {
255
256	// Values for fields generated during the request.
257	GeneratedFields []Field
258}
259
260// Contains the value of a column. This data type is deprecated.
261//
262// The following types satisfy this interface:
263//  ValueMemberIsNull
264//  ValueMemberBitValue
265//  ValueMemberBigIntValue
266//  ValueMemberIntValue
267//  ValueMemberDoubleValue
268//  ValueMemberRealValue
269//  ValueMemberStringValue
270//  ValueMemberBlobValue
271//  ValueMemberArrayValues
272//  ValueMemberStructValue
273type Value interface {
274	isValue()
275}
276
277// A NULL value.
278type ValueMemberIsNull struct {
279	Value bool
280}
281
282func (*ValueMemberIsNull) isValue() {}
283
284// A value for a column of BIT data type.
285type ValueMemberBitValue struct {
286	Value bool
287}
288
289func (*ValueMemberBitValue) isValue() {}
290
291// A value for a column of big integer data type.
292type ValueMemberBigIntValue struct {
293	Value int64
294}
295
296func (*ValueMemberBigIntValue) isValue() {}
297
298// A value for a column of integer data type.
299type ValueMemberIntValue struct {
300	Value int32
301}
302
303func (*ValueMemberIntValue) isValue() {}
304
305// A value for a column of double data type.
306type ValueMemberDoubleValue struct {
307	Value float64
308}
309
310func (*ValueMemberDoubleValue) isValue() {}
311
312// A value for a column of real data type.
313type ValueMemberRealValue struct {
314	Value float32
315}
316
317func (*ValueMemberRealValue) isValue() {}
318
319// A value for a column of string data type.
320type ValueMemberStringValue struct {
321	Value string
322}
323
324func (*ValueMemberStringValue) isValue() {}
325
326// A value for a column of BLOB data type.
327type ValueMemberBlobValue struct {
328	Value []byte
329}
330
331func (*ValueMemberBlobValue) isValue() {}
332
333// An array of column values.
334type ValueMemberArrayValues struct {
335	Value []Value
336}
337
338func (*ValueMemberArrayValues) isValue() {}
339
340// A value for a column of STRUCT data type.
341type ValueMemberStructValue struct {
342	Value StructValue
343}
344
345func (*ValueMemberStructValue) isValue() {}
346
347// UnknownUnionMember is returned when a union member is returned over the wire,
348// but has an unknown tag.
349type UnknownUnionMember struct {
350	Tag   string
351	Value []byte
352}
353
354func (*UnknownUnionMember) isArrayValue() {}
355func (*UnknownUnionMember) isField()      {}
356func (*UnknownUnionMember) isValue()      {}
357