Serie PECL/mysqlnd_ms 1.1
1.1.0
-
Fecha de publicación: 09/2011
-
Motivo/tema: Cubrir lo básico de la replicación con calidad de producción
Las series 1.1 y 1.0 exponen un conjunto de características similar. Internamente,
la serie 1.1 ha sido reestructurada para planificar la incorporación de futuras
características. Se ha introducido un nuevo formato del fichero de configuración,
y se han eliminado las limitaciones. Además, se ha mejorado la calidad del código y
la seguridad de la calidad.
Cambios en las características
-
Se añadió el (encadenable) concepto de filtro:
-
Rotura RC:
La función mysqlnd_ms_set_user_pick_server()
ha sido eliminada. Se ha introducido el filtro
user
para reemplazarla.
El filtro ofrece una funcionalidad similar, aunque existen diferencias que se
explican más abajo.
-
Nueva sintaxis de configuración más potente basada en JSON.
-
Merjora de conexiones retardadas:
está cubierta la seguridad relevante y los comandos de cambio de estado.
-
Soporte para sentencias preparadas (nativo).
-
Nuevas estadísticas: use_master_guess,
use_slave_guess.
-
Rotura RC: Cambio en la semántica de las estadísticas
use_slave, use_master.
Son posibles cambios futuros. Véase
mysqlnd_ms_get_stats().
-
La lista de mensajes de difusión está extendida por ssl_set.
-
Ahora, las llamadas a la biblioteca se monitorizan para recordar los ajustes de conexiones retaradadas:
change_user, select_db,
set_charset, set_autocommit.
-
Se introdujo mysqlnd_ms.disable_rw_split.
Este ajuste de configuración permite el uso de la funcionalidad del equilibrado de carga y
de las conexiones retardadas independientemente de la división de lecutra-escritura.
Corrección de errores
-
Corregido PECL #22724 - Intercambio de servidor (mysqlnd_ms_query_is_select() sensible a mayúsculas/minúsculas)
-
Corregido PECL #22784 - No funcionaba mysql_connect y mysql_select_db
-
Corregido PECL #59982 - Extensión inusable con with --enable-mysqlnd-ms-table-filter.
El uso de la opción NO está soportado. No se debe usar. Se añadió una nota a m4.
-
Corregido el error #60119 - host="localhost" se perdía en mysqlnd_ms_get_last_used_connection()
Se ha eliminado la función mysqlnd_ms_set_user_pick_server(), y ha sido
reemplazada por el nuevo filtro user. Ya no se puede establecer una
función de llamada de retorno usando mysqlnd_ms_set_user_pick_server() en
tiempo de ejecución, sino que se ha de configurarla en su lugar en el fichero de configuración del complemento.
El filtro user pasará los mismos argumentos que antes a la llamada de retorno.
Por lo tanto, se puede seguir usando la misma función procedimental como una llamada de retorno.
Ya no es posible usar métodos estáticos de clases, o métodos de clases de
una instancia, como una llamada de retorno. Hacerlo supondrá que la función
ejecutará una sentencia manejada por el complemento para emitir un
error de nivel E_RECOVERABLE_ERROR
, el cual podría ser: "(mysqlnd_ms) Specified callback (picker) is not a valid callback."
((mysqlnd_ms) La llamada de retorno (picker) especificada no es una llamada de retorno válida).
Nota: esto podría detener la aplicación.