mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
MSSQL: Add SQL_VARIANT
converter and update test (#85823)
Add SQL_VARIANT converter and update test
This commit is contained in:
parent
38fe9fcfd1
commit
420067a7e1
@ -403,5 +403,20 @@ func (t *mssqlQueryResultTransformer) GetConverterList() []sqlutil.StringConvert
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "handle SQL_VARIANT",
|
||||
InputScanKind: reflect.Pointer,
|
||||
InputTypeName: "SQL_VARIANT",
|
||||
ConversionFunc: func(in *string) (*string, error) { return in, nil },
|
||||
Replacer: &sqlutil.StringFieldReplacer{
|
||||
OutputFieldType: data.FieldTypeNullableString,
|
||||
ReplaceFunc: func(in *string) (any, error) {
|
||||
if in == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return in, nil
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -92,6 +92,7 @@ func TestMSSQL(t *testing.T) {
|
||||
c_datetimeoffset datetimeoffset,
|
||||
|
||||
c_uuid uniqueidentifier
|
||||
c_sql_variant sql_variant
|
||||
)
|
||||
`
|
||||
|
||||
@ -114,7 +115,7 @@ func TestMSSQL(t *testing.T) {
|
||||
'char10', 'varchar10', 'text',
|
||||
N'☺nchar12☺', N'☺nvarchar12☺', N'☺text☺',
|
||||
CAST('%s' AS DATETIME), CAST('%s' AS DATETIME2), CAST('%s' AS SMALLDATETIME), CAST('%s' AS DATE), CAST('%s' AS TIME), SWITCHOFFSET(CAST('%s' AS DATETIMEOFFSET), '-07:00'),
|
||||
CONVERT(uniqueidentifier, '%s')
|
||||
CONVERT(uniqueidentifier, '%s'), 'test-sql-variant'
|
||||
`, d, d2, d, d, d, d2, uuid)
|
||||
|
||||
_, err = db.Exec(sql)
|
||||
@ -170,6 +171,7 @@ func TestMSSQL(t *testing.T) {
|
||||
require.Equal(t, dt2.In(time.FixedZone("UTC-7", int(-7*60*60))).Unix(), (*frames[0].Fields[22].At(0).(*time.Time)).Unix())
|
||||
|
||||
require.Equal(t, uuid, *frames[0].Fields[23].At(0).(*string))
|
||||
require.Equal(t, "test-sql-variant", *frames[0].Fields[24].At(0).(*string))
|
||||
})
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user