[freetds] Problem with message handler

James K. Lowden jklowden at freetds.org
Mon Sep 16 18:45:56 EDT 2013

On Mon, 16 Sep 2013 00:50:36 +0000
Chris Kings-Lynne <Chris.Kings-Lynne at navitas.com> wrote:

>> http://gitorious.org/freetds/freetds/commit/bc22b2ef817fb5d102bd758111ff3634b39a1319

> This change is in dblib.c, and it happens BEFORE it executes the
> user-registered error handler, right?  So, as soon as I switch to
> this version of FreeTDS, the bug should just "fix itself" in PHP?

The change on line 98 is a correction.  In the event a message is
received with severity > 10, the error handler will now be invoked with
SYBEMSG.  Previously -- and contrary to the documentation -- the error
number passed to the error handler was the message number.  

The sequence of events is unchanged and should be:

1.  application invokes db-lib function
2.  message received from server
3.  message handler invoked
4.  error handler invoked
5.  data, if any, receieved from the server
6.  db-lib function returns

> This is because it will always pass the SYBESMSG code to the PHP
> handler, hence fixing the error in PHP?

Can't say.  Seems like it might. 

> Has this commit made it into a release version yet?

No.  It should be in the nightly snapshot.  


More information about the FreeTDS mailing list