[yunqa.de] Re: Support for load_extension() function in SQLiteSpy

  • From: Tobias Rapp <t.rapp@xxxxxxxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx
  • Date: Fri, 25 Feb 2011 09:51:11 +0100

Delphi Inspiration wrote:
> Correct, SQLiteSpy does not include the load_extension() SQL function.
> 
> This is because SQLiteSpy uses DISQLite3 as its database engine and
> DISQLite3 uses Delphi's default "fastcall" calling convention instead of
> C's "cdecl". "fastcall" passes parameters in registers and is usually
> faster than "cdecl". Unfortunately, "fastcall" is incompatible with
> existing SQLite extensions already written in C. To avoid all confusion,
> I exclude loadable extensions from DISQLite3 and SQLiteSpy.

Did not know about the differing calling conventions between DISQLite3 and
the other C-derived binaries like "official" sqlite3.exe/dll.

> Therefore I am not sure if this justifies the amount of work to
> implement and maintain loadable extensions for DISQLite3. All SQLite
> core functions must be wrapped by a "cdecl" to "fastcall" translation
> wrapper.
> 
> Is this worth the effort? What do others think?

In that case it is not worth the effort, I think. If I really want to
create my extension I will use it with the sqlite3.exe binary then.

Thanks for the feedback,
Tobias

_______________________________________________
Delphi Inspiration mailing list
yunqa@xxxxxxxxxxxxx
//www.freelists.org/list/yunqa



Other related posts: