Release Notes for MariaDB Connector/Python 1.1.6

Overview

MariaDB Connector/Python is a native MariaDB connector for building Python applications on MariaDB. It is compliant with Python DB API 2.0 (PEP-249). It is written in Python and C and uses MariaDB Connector/C.

MariaDB Connector/Python 1.1.6 was released on 2023-03-01. This release is of General Availability (GA) maturity.

Notable Changes

  • The pool_validation_interval parameter is now supported for connection pools to specify the interval between connection validation checks. (CONPY-247)

    • The pool_validation_interval parameter is specified in milliseconds.

    • The default value of the pool_validation_interval parameter is 500, which means that a connection is only validated every 500 milliseconds, even if the connection is requested from and returned to the pool multiple times during that interval.

    • When the pool_validation_interval parameter is 0, a connection is validated every time it is requested from the pool, even if the connection was already recently checked.

    • The pool_validation_interval parameter can be specified when creating a connection pool:

      pool = mariadb.ConnectionPool(
         host="192.0.2.1",
         port=3306,
         user="db_user",
         password="USER_PASSWORD",
         pool_name="web-app",
         pool_size=20,
         pool_validation_interval=250)
      

Issues Fixed

  • When the cursor.nextset() method is called, MariaDB Connector/Python can dereference a NULL statement handle, which can cause a crash. (CONPY-251)

  • When the ConnectionPool.connection_count property is accessed, MariaDB Connector/Python throws an exception. (CONPY-250)

  • When a connection in a connection pool fails, MariaDB Connector/Python does not replace the failed connection with a new connection. (CONPY-248)

  • When a connection pool is created with pool_reset_connection=FALSE and a connection is returned to the pool with an uncommitted transaction, MariaDB Connector/Python does not rollback the transaction. (CONPY-246)

  • When a connection is requested from a connection pool, MariaDB Connector/Python requires too much time to find and validate a connection. (CONPY-245)

    • In previous releases, MariaDB Connector/Python finds a connection by iterating over all connections in the connection pool and validating each connection.

    • Starting with this release, MariaDB Connector/Python tracks the unused connections in the connection pool using an LRU cache, so that it can quickly obtain and validate the least recently used connection.

  • When MariaDB Connector/Python's initialization procedure fails, it raises an unhelpful error message. (CONPY-240)

    • In previous releases, MariaDB Connector/Python raises the following error message:

      ImportError: Mariadb module initialization failed
      
    • Starting with this release, when more information about the problem is known, MariaDB Connector/Python appends the details to the error message:

      ImportError: Mariadb module initialization failed: An error occured while loading the datetime API.