The code needs to be updated for the latest MQL5 version because the new MQL5 does not allow converting uchar[] to const char[] &, which causes errors in Imports.mqh, statement.mqh, and SQLite3.mqh.
For example:
uchar u8filename[];
StringToUtf8(filename, u8filename);
int res = 0;
if (vfs == "")
res = sqlite3_open_v2(u8filename, handle, flags, 0);
In this code, u8filename is of type uchar[], but sqlite3_open_v2() expects a parameter of type const char*.
This type mismatch creates a compilation error in the new MQL5 version.