Skip to content

Commit 9822e16

Browse files
Copilotshueybubbles
andcommitted
Fix NULL nullable civil types OUT parameter handling to use typed NULLs
Co-authored-by: shueybubbles <[email protected]>
1 parent cede7b7 commit 9822e16

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

civil_null_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ func TestNullCivilTypesParameterEncoding(t *testing.T) {
275275
// Create a mock connection and statement for testing
276276
c := &Conn{}
277277
c.sess = &tdsSession{}
278-
c.sess.loginAck.TDSVersion = verTDS74 // Use modern TDS version
278+
c.sess.loginAck.TDSVersion = verTDS74 // Use modern TDS version
279279
s := &Stmt{c: c}
280280

281281
t.Run("NullDate parameter encoding", func(t *testing.T) {

mssql.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,26 +1000,32 @@ func (s *Stmt) makeParam(val driver.Value) (res param, err error) {
10001000
if valuer.Valid {
10011001
return s.makeParamExtra(valuer.Date)
10021002
}
1003+
return s.makeParamExtra(valuer)
10031004
case NullDateTime:
10041005
if valuer.Valid {
10051006
return s.makeParamExtra(valuer.DateTime)
10061007
}
1008+
return s.makeParamExtra(valuer)
10071009
case NullTime:
10081010
if valuer.Valid {
10091011
return s.makeParamExtra(valuer.Time)
10101012
}
1013+
return s.makeParamExtra(valuer)
10111014
case *NullDate:
10121015
if valuer.Valid {
10131016
return s.makeParamExtra(valuer.Date)
10141017
}
1018+
return s.makeParamExtra(*valuer)
10151019
case *NullDateTime:
10161020
if valuer.Valid {
10171021
return s.makeParamExtra(valuer.DateTime)
10181022
}
1023+
return s.makeParamExtra(*valuer)
10191024
case *NullTime:
10201025
if valuer.Valid {
10211026
return s.makeParamExtra(valuer.Time)
10221027
}
1028+
return s.makeParamExtra(*valuer)
10231029
case UniqueIdentifier:
10241030
case NullUniqueIdentifier:
10251031
default:

0 commit comments

Comments
 (0)