Details
- 
    Bug 
- 
    Status: Closed (View Workflow)
- 
    Major 
- 
    Resolution: Won't Fix
- 
    1.0.11
- 
    None
- 
    CentOS 7 w/ python 3.9.5 w/ Connector/C 3.2.3 w/ Connector/python 1.0.11
- 
        python 3.9.5
Description
Here is the repro:
delimiter //
drop function if exists func5073//
CREATE FUNCTION func5073(arg ENUM('a', 'b')) RETURNS ENUM('c', 'd') DETERMINISTIC
BEGIN
  RETURN arg;
END//
delimiter ;
SELECT func5073(1);
This is what happens on the MariaDB client
| MariaDB [test]> SELECT func5073(1); | 
| ERROR 1265 (01000): Data truncated for column 'func5073(1)' at row 1 | 
| MariaDB [test]> SELECT version(); | 
| +----------------+ | 
| | version()      | | 
| +----------------+ | 
| | 10.6.9-MariaDB | | 
| +----------------+
 | 
We get an error about our silly stored function.
Here is what the python connector does:
| import mariadb | 
| import mariadb.constants.CLIENT as CLIENT | 
|  | 
| dut_cfg = {"host": "vqc004a", "port": 60190, | 
|             "user": "root", "passwd": "", | 
|             "db": "test", "autocommit": True, | 
|             "connect_timeout": 60, | 
|             "client_flag": CLIENT.MULTI_STATEMENTS} | 
|  | 
| conn = mariadb.connect(**dut_cfg) | 
| dut_cur = conn.cursor() | 
|  | 
| sql0="SELECT func5073(1)" | 
|  | 
| for cursor in (dut_cur, ): | 
|     cursor.execute(sql0) | 
|     print(cursor.fetchall())
 | 
Let's run this.
| [root@vqc004a 5073]# python foo.py | 
| [] | 
| [root@vqc004a 5073]#
 | 
There isn't any exception that is raised. I expected a mariadb.DataError exception to be raised.