Hello Georg

This is a great news. since we need more binding. 
I do not really know the answer but I’m sure the guys will help you. 
Now just a question: what is the definition of MYSQL
that you mentioned in 
        „MYSQL * mysql_init(NULL)“


S.

> On 21 Jun 2020, at 11:27, Georg Hagn <georg.h...@gmail.com> wrote:
> 
> For an exercise with uFFi i am try an C-Connector for MariaDB like
> Garage or UBDC
> As in "Unified FFI Februar 12 2020" I made Helper-classes:
> 
> FFILibrary subclass: #MariaDBLibC
> 
> FFIOpaqueObject subclass: #MariaDBHandle
> MariaDBHandle >> unixModuleName [
>   ^ '/usr/lib/x86_64-linux-gnu/libmariadb.so'
> ]
> 
> and a class
> 
> Object subclass: #MariaDBDriver
>   instanceVariableNames: 'connectionHandle'
> 
> "Accessors"
> MariaDBDriver >> connectionHandle [  ^ connectionHandle ]
> MariaDBDriver >> connectionHandle: aHandle [  connectionHandle := aHandle ]
> MariaDBDriver class >> ffiLibrary [   ^ MariaDBLibC ]
> 
> "API Methods"
> MariaDBDriver >> clientInfo [  ^ self class clientInfo ]
> 
> MariaDBDriver class >> clientInfo [
>   ^ self ffiCall: #(String mysql_get_client_info(void))
> ]
> 
> For a first simple Test I choosed the c-api-funtion:
> „const char * mysql_get_client_info(void )“
> 
> In Playground I executed:
> driver := MariaDBDriver fromConnectionString:
> 'mariaDB://localhost:5432/sodbxtest?&user=sodbxtest&password=sodbxtest'.
> 
> driver clientInfo inspect.
> And I get the expected result: String „10.2.9“
> 
> But the second test with c-api-funtcion fails
> „MYSQL * mysql_init(NULL)“
> 
> MariaDBDriver >> init [
>   | aNullHandle |
>   aNullHandle := ExternalAddress null.
>   self connectionHandle: (self class init: aNullHandle).
> ]
> 
> MariaDBDriver class >> init: aNullHandle [
>   ^ self ffiCall: #(MariaDBHandle * mysql_init(ExternalAddress aNullHandle)).
> ]
> 
> In Playground I again executed:
> driver := MariaDBDriver fromConnectionString:
> 'mariaDB://localhost:5432/sodbxtest?&user=sodbxtest&password=sodbxtest'.
> 
> driver init inspect.
> " A call to an external function failed"
> 
> Any ideas what is wrong??
> 
> Thanks
> Georg
> 

--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org 
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Reply via email to