ID:               28314
 Updated by:       [EMAIL PROTECTED]
 Reported By:      adamh at densi dot com
 Status:           Bogus
 Bug Type:         Sybase-ct (ctlib) related
 Operating System: Linux
 PHP Version:      4.3.4
 New Comment:

When you compile with Sybase-ct you will nt get the mssql functions,
but the sybase functions and a set of aliases. If you look at the
documentation you will see that the mssql extension includes a larger
number of functions than the sybase extensions. The mssql aliases
provided by the sybase extension was implemented before the 'native'
mssql extension was available on *nix.


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

[2004-05-08 14:50:21] [EMAIL PROTECTED]

Because you need to have the mssql extension loaded to use its
constants.

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

[2004-05-08 14:40:08] adamh at densi dot com

Yes, obviously I can use mssql_* functions using FreeTDS. But I can
*also* use them with --with-sybase-ct. When I use them with SybaseCT,
they do not behave as documented.

To me, the FreeTDS argument sounds like, "If you've found a bug in
strlen() with uClibc, you can use glibc instead." And yes, I can, but
that doesn't mean uClibc doesn't have a bug.

This seems so clear-cut to me I know I must be missing something. Why
is this not a bug?

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

[2004-05-07 23:46:36] [EMAIL PROTECTED]

If you want to use the mssql_* functions you can use the --with-mssql
option. This requires FreeTDS.

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

[2004-05-07 18:16:19] adamh at densi dot com

I'm delving into the source, so please correct me if I err:

Inside the source, sybase_fetch_array() and sybase_fetch_assoc() both
call php_sybase_fetch_hash(), in exactly the same manner as
php_mssql_fetch_hash().

In other words, mssql_fetch_assoc($r) (the "real" one) is equivalent to
mssql_fetch_array($r, MSSQL_ASSOC) internally, since both functions
call php_mssql_fetch_hash() with different arguments. I see a direct
parallel to Sybase_ct's php_sybase_fetch_hash(), with two differences:

1. php_sybase_fetch_hash() doesn't parse for the possible second
argument.
2. MSSQL_ASSOC is not defined.

However, both of these issues are trivial to resolve, aren't they? It
seems to me that sybase_ct should conform to mssql on commonly used,
well-documented functions.

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

[2004-05-07 18:02:50] [EMAIL PROTECTED]

The MSSQL_ASSOC constant is ONLY defined by the mssql 
extension. The sybase extension does not define this 
constant because sybase_fetch_array() (on which 
mssql_fetch_array()) is based on in sybase* extension does 
not support this feature. You should instead be using the 
sybase_fetch_assoc() function. 

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

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/28314

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

Reply via email to