You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The message queue example illustrates that the application waits for the first MsgNext event before calling Rows.Next.
Today, ProcessQueryResponse doesn't post a MsgNext event until the reader encounters column metadata. However, the reader channel only has a 5 token buffer, so if there are 5 tokens in the queue before it reaches any columns, the query blocks. Posting MsgNext right away will nudge the app to read tokens in the channel.
My earlier assertion about MsgNext isn't quite right.
We need to send MsgNextResult for every type of doneStruct and MsgNext for every column set.
We're also missing handling of ServerError and doneInProcStruct
shueybubbles
changed the title
The ReturnMessageQueue/Rowsq implementation needs to post MsgNext during QueryContext
The ReturnMessageQueue/Rowsq implementation needs tweaks to message ordering
Feb 28, 2022
go-mssqldb/messages_example_test.go
Line 46 in e538731
The message queue example illustrates that the application waits for the first
MsgNext
event before callingRows.Next
.Today,
ProcessQueryResponse
doesn't post aMsgNext
event until the reader encounters column metadata. However, the reader channel only has a 5 token buffer, so if there are 5 tokens in the queue before it reaches any columns, the query blocks. PostingMsgNext
right away will nudge the app to read tokens in the channel.Exposed by a sqlcmd issue microsoft/go-sqlcmd#48
The text was updated successfully, but these errors were encountered: