MCPcopy Create free account
hub / github.com/bytebase/bytebase / convertAttributeValueMapToRow

Function convertAttributeValueMapToRow

backend/plugin/db/dynamodb/dynamodb.go:292–335  ·  view source on GitHub ↗
(items map[string]types.AttributeValue)

Source from the content-addressed store, hash-verified

290}
291
292func convertAttributeValueMapToRow(items map[string]types.AttributeValue) map[string]*dynamodbQueryResultMeta {
293 result := make(map[string]*dynamodbQueryResultMeta, len(items))
294 var columnType string
295 for item, attributeValue := range items {
296 switch attributeValue.(type) {
297 case *types.AttributeValueMemberB:
298 columnType = "Binary"
299 case *types.AttributeValueMemberBOOL:
300 columnType = "Boolean"
301 case *types.AttributeValueMemberBS:
302 columnType = "BinarySet"
303 case *types.AttributeValueMemberL:
304 columnType = "List"
305 case *types.AttributeValueMemberM:
306 columnType = "Map"
307 case *types.AttributeValueMemberN:
308 columnType = "Number"
309 case *types.AttributeValueMemberNS:
310 columnType = "NumberSet"
311 case *types.AttributeValueMemberNULL:
312 columnType = "Null"
313 case *types.AttributeValueMemberS:
314 columnType = "String"
315 case *types.AttributeValueMemberSS:
316 columnType = "StringSet"
317 default:
318 columnType = "Unknown"
319 }
320 value, err := convertAttributeValueToRowValue(attributeValue)
321 var r *v1pb.RowValue
322 if err != nil {
323 r = &v1pb.RowValue{
324 Kind: &v1pb.RowValue_StringValue{StringValue: err.Error()},
325 }
326 } else {
327 r = value
328 }
329 result[item] = &dynamodbQueryResultMeta{
330 columnType: columnType,
331 value: r,
332 }
333 }
334 return result
335}
336
337func convertAttributeValueToRowValue(attributeValue types.AttributeValue) (*v1pb.RowValue, error) {
338 switch attributeValue := attributeValue.(type) {

Callers 1

querySinglePartiQLMethod · 0.85

Calls 2

ErrorMethod · 0.45

Tested by

no test coverage detected