ID:               33963
 Updated by:       [EMAIL PROTECTED]
 Reported By:      paul dot robinson at groupbc dot com
 Status:           Assigned
 Bug Type:         MSSQL related
 Operating System: Linux (RHEL 4)
 PHP Version:      5CVS-2005-08-06
 Assigned To:      fmk
 New Comment:

As far as I can read, the current code is following Microsofts
definitions here:

maxlen 
For variable-length return parameters (when type is SQLCHAR, SQLBINARY,
SQLTEXT, or SQLIMAGE), maxlen is the maximum desired byte length for the
value parameter returned from a stored procedure. 
Set maxlen to -1 in any of these cases: 

For fixed-length return parameters (such as when type is SQLINT4). 
To pass a NULL fixed-length parameter value (such as when type is
SQLINT4) to the stored procedure. 
For parameters that are not designated as return parameters. 
Set maxlen to 0 to pass a NULL variable-length parameter value (when
type is SQLCHAR, SQLBINARY, SQLTEXT, or SQLIMAGE) to the stored
procedure. 

datalen 
For variable-length return parameters (where type is SQLCHAR,
SQLBINARY, SQLTEXT, or SQLIMAGE), datalen is the actual byte length of
the value parameter sent to the stored procedure. The byte length
should not count any null terminator. 
Set datalen to - 1 for non-NULL fixed-length parameters (such as when
type is SQLINT4). 

Set datalen to 0 to pass a NULL parameter value (fixed or variable
length) to the stored procedure

I think this should be fixed in FreeTDS


Previous Comments:
------------------------------------------------------------------------

[2005-08-06 01:31:45] [EMAIL PROTECTED]

Frank, check this out too..

------------------------------------------------------------------------

[2005-08-05 16:52:00] paul dot robinson at groupbc dot com

Patch against php_mssql.c CVS version 1.149 can be found here:
http://cobweb.businesscollaborator.com/pdr/33963.patch

The values of maxlen and datalen set here have been verified to work
with FreeTDS 0.63 and the latest CVS code as of 5/8/2005.

------------------------------------------------------------------------

[2005-08-02 19:13:45] [EMAIL PROTECTED]

Provide patches in unified diff format (diff -u) and against PHP CVS
HEAD (we're not likely to release any 5.0.x versions anymore). Put the
diffs somewhere were people can download it and put the URLs here.


------------------------------------------------------------------------

[2005-08-02 18:51:03] paul dot robinson at groupbc dot com

Patches suggested are against Snapshot:
php5-STABLE-200508021038.tar.gz

Although I haven't actually built an example using that snapshot today
I have looked at the code which since it is unchanged would seem to
exhibit the same problem.

------------------------------------------------------------------------

[2005-08-02 18:34:32] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/33963

-- 
Edit this bug report at http://bugs.php.net/?id=33963&edit=1

Reply via email to