事情是这样的。
MySQL X Dev API使用mysqlx::Session来进行数据库SRUD操作。
我需要封装一下,来通过pybind暴露给python。
于是乎,我写了一个pymysql::Session类来管理mysqlx::Session。
自己写的Session的构造函数和一个方法是这样的。
实现:
创建pymysql::Session对象的代码部分是另一个类pymysql::ConnectionPool类中,88和89行处:
编译后在python调用,执行execute方法时,execute中行号为10的那行始终报错。而在上图中88行后直接来执行session.sql("一个sql")并不会报错。
无法执行SQL。
另外,已经确认不是this->session->sql(SQL)->execute()中的execute()报错,而是this->session->sql(SQL)报错。
我不知道是不是我在创建pymysql::Session对象时,构造函数传参的方式不正确。求解答。