Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Add client version check to installer #1099

Closed
robocoder opened this Issue · 2 comments

1 participant

@robocoder
Collaborator

Pseudo-code:

    if mysql.server_version >= 5 and mysql.client_version < 5 then
        warning re: incompatible mysql client libraries
    endif

Some users report:

Warning: mysqli_stmt::bind_result() href='function.mysqli-stmt-bind-result'>function.mysqli-stmt-bind-result</a>: Server returned unknown type 246. Probably your client library is incompatible with the server version you use! in /.../public_html/piwik/libs/Zend/Db/Statement/Mysqli.php on line 255

According to the MySQL documentation:

C API Changes:

Incompatible change: Because the MySQL 5.0 server has a new implementation of the DECIMAL data type, a problem may occur if the server is used by older clients that still are linked against MySQL 4.1 client libraries. If a client uses the binary client/server protocol to execute prepared statements that generate result sets containing numeric values, an error will be raised: 'Using unsupported buffer type: 246'

This error occurs because the 4.1 client libraries do not support the new MYSQL_TYPE_NEWDECIMAL type value added in 5.0. There is no way to disable the new DECIMAL data type on the server side. You can avoid the problem by relinking the application with the client libraries from MySQL 5.0.

@robocoder
Collaborator

(In [1783]) fixes #1099 - add MySQL warning if client/server versions are incompatible

@robocoder
Collaborator

(In [2957]) refs #1099 - more precise version number for the compatibility test

This is ok in php 5.3.x's because mysqlnd returns >= 5.0.5 as the client version.

@robocoder robocoder added this to the Piwik 0.5.5 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.