Skip to content

[13.6.2] Hotfix & Stable Release

Latest

Choose a tag to compare

@divang divang released this 02 Nov 08:38
34d4ec0

Fixed issues

  • Fix non-Unicode string literals in direct SQL execution #3076 (backported in #3084)

    • What was fixed: Character values are now preserved as character literals during direct execution when sendStringParametersAsUnicode=false, instead of being incorrectly formatted as binary (0x...) literals.
    • Who benefits: Applications using prepareMethod=none with non-Unicode string parameters.
    • Impact: Prevents conversion errors (for example 210, 402, 8114, 8115) and silent wrong results, and keeps VARCHAR semantics correct without changing normal prepared execution.
  • Add prepareMethod=none RPC support for procedures #3085

    • What was fixed: Direct stored-procedure calls under prepareMethod=none now execute through RPC, including safe handling of temporal and decimal arguments.
    • Who benefits: Applications calling stored procedures with prepareMethod=none, including {call ...}, EXEC and {? = call ...} forms with DATE, DATETIME, TIME or high-precision DECIMAL arguments.
    • Impact: Prevents invalid EXEC argument formatting (such as SQL Server error 102) and improves compatibility for direct stored-procedure execution.
  • Retry direct SQL execution as RPC when a parameter cannot be inlined #3086 (backported in #3087)

    • What was fixed: With prepareMethod=none, parameters that cannot be safely inlined as SQL literals (streams and readers, SQLXML, OUT parameters, TVPs and subnormal Double values) used to fail with an unsupported-parameter error. The driver now retries those statements through an unprepared sp_executesql RPC. Batches are retried as a whole.
    • Who benefits: Applications running prepareMethod=none statements that use stream, OUT or similar parameters.
    • Impact: Valid statements that previously errored on the direct SQL path now succeed. No prepared handle is created or cached, and statements that can be inlined are unchanged.