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.