@@ -316,8 +316,8 @@ func toValue(v any) (_ value.Value, err error) {
316
316
kk , has := v .Type ().Field (i ).Tag .Lookup ("sql" )
317
317
if ! has {
318
318
return nil , xerrors .WithStackTrace (
319
- fmt .Errorf ("cannot parse %q as key field of struct: %w" ,
320
- v .Type ().Field (i ).Name , errUnsupportedType ,
319
+ fmt .Errorf ("cannot parse %q as key field of struct %T : %w" ,
320
+ v .Type ().Field (i ).Name , x , errUnsupportedType ,
321
321
),
322
322
)
323
323
}
@@ -357,26 +357,16 @@ func supportNewTypeLink(x any) string {
357
357
}
358
358
359
359
func toYdbParam (name string , value any ) (* params.Parameter , error ) {
360
- switch tv := value .(type ) {
361
- case driver.NamedValue :
362
- n , v := tv .Name , tv .Value
360
+ if nv , has := value .(driver.NamedValue ); has {
361
+ n , v := nv .Name , nv .Value
363
362
if n != "" {
364
363
name = n
365
364
}
366
- if p , has := tv .Value .(* params.Parameter ); has {
367
- return p , nil
368
- }
369
365
value = v
370
- case * params.Parameter :
371
- return tv , nil
372
- case * params.Params :
373
- if len (* tv ) > 1 {
374
- return nil , xerrors .WithStackTrace (
375
- fmt .Errorf ("unexpected params.Params length: %d" , len (* tv )),
376
- )
377
- }
366
+ }
378
367
379
- return (* tv )[0 ], nil
368
+ if nv , ok := value .(params.NamedValue ); ok {
369
+ return params .Named (nv .Name (), nv .Value ()), nil
380
370
}
381
371
382
372
v , err := toValue (value )
0 commit comments