Crush with SQLite from 3.25.0 version on 32-bit
Posted: Mon 24 Dec 2018 09:56
Hello!
User-defined functions not works in SQLite from 3.25.0 version (AV error).
As I seek, since version 3.25.0 SQLite have changed internal structure of FuncDef:
Up to 3.24 it was:
It works in 64-bit, but not in 32-bit.
I use Delphi XE2, UniDAC 7.4 Pro (with sources).
I try use monkey patch instead of TFuncDef:
And it works.
Please fix.
User-defined functions not works in SQLite from 3.25.0 version (AV error).
As I seek, since version 3.25.0 SQLite have changed internal structure of FuncDef:
Code: Select all
struct FuncDef {
i8 nArg; /* Number of arguments. -1 means unlimited */
u32 funcFlags; /* Some combination of SQLITE_FUNC_* */
void *pUserData; /* User data parameter */
...
Code: Select all
struct FuncDef {
i8 nArg; /* Number of arguments. -1 means unlimited */
u16 funcFlags; /* Some combination of SQLITE_FUNC_* */
void *pUserData; /* User data parameter */
..
I use Delphi XE2, UniDAC 7.4 Pro (with sources).
I try use monkey patch instead of TFuncDef:
Code: Select all
type
TNewFuncDef = packed record
nArg : Integer; // Number of arguments. -1 means unlimited
funcFlags : Cardinal; // Some combination of SQLITE_FUNC_*
pUserData : Pointer; // User data parameter
end;
Please fix.