Hi Paul,

> To me it seems like that string is very tightly coupled with the actual 
> pointer being bound.

No, not really. The type string is tightly coupled with the extension module 
which uses the pointer. The type string allows the extension module to check 
whether the pointer is really meant to be handled by the module.

For the carray module the pointer just pints to a C++ array of integers, 
doubles or strings. So there is no simple way to attach the type string to this 
data structure.

> I think it's a good idea, in case you cannot make it a literal or static, to 
> keep it with
> an object whose pointer you bind.

The problem is that my component just provides a thin wrapper for SQLite for 
applications based on the wxWidgets library. In most cases the wrapper just 
passes given parameters on to the underlying SQLite functions. That is, the 
wrapper itself doesn't know anything about internals of extension modules and 
pointer objects they might be able to handle.

I could introduce a wrapper object for pointers that additionally contains a 
type string, but then I would have to keep track of wrapper objects, since only 
the raw pointer is passed on to the extension module. In fact, this would not 
solve the problem.

IMHO it should be rather simple to adjust the SQLite functions of the new 
pointer-passing interface to make a copy of the type string on binding a 
pointer and releasing the copy when the pointer value goes out of scope.

Regards,  

Ulrich  
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to