Re: references to non-existant functions in edbi_mysql.e?
- Posted by jimcbrown (admin) Jan 01, 2013
- 1248 views
I get the following error. What are these functions? Where do I get them? I searched the Manual for them, can't find them.
Euphoria Interpreter v4.0.5 Windows, Using Managed Memory Revision Date: 2012-10-11, Id: 362497032f33
...edbi_mysql.e:246 <0074>:: Errors resolving the following references: modules\db\edbi\edbi_mysql.e (200): peek_pointer modules\db\edbi\edbi_mysql.e (222): peek8u modules\db\edbi\edbi_mysql.e (243): sizeof modules\db\edbi\edbi_mysql.e (244): peek_pointer modules\db\edbi\edbi_mysql.e (245): sizeof modules\db\edbi\edbi_mysql.e (246): sizeof len_offset += sizeof( C_LONG )
I can't find any documentation on them but you can find an implementation of peek_pointer and peek8u for 4.0 in the 4.1 includes: http://scm.openeuphoria.org/hg/euphoria/file/802b470ab5fa/include/std/machine.e
Here's an untested implementation of sizeof for 4.0:
public function sizeof(atom a) switch a do case C_DOUBLE, C_LONGLONG then -- TODO not sure if 4.0 has LONGLONG return 8 case C_CHAR, C_UCHAR then return 1 case C_SHORT, C_USHORT then return 2 case C_FLOAT, C_INT, C_UINT, C_LONG, C_ULONG, C_POINTER, E_INTEGER, E_ATOM, E_SEQUENCE, E_OBJECT then return 4 end switch end function
These are builtin routines that are new to 4.1. You'll need to upgrade to a pre-alpha version of 4.1 to use this version of the driver.
Here's the 4.0 version of the driver: https://bitbucket.org/jcowgar/edbi/src/4c9852ef7cfa/drivers/mysql/edbi_mysql.e
Here's the 4.1 version of the driver: https://bitbucket.org/jcowgar/edbi/src/258cfe734729/drivers/mysql/edbi_mysql.e
IMVHO, The driver needs to be fixed to support both 4.0 and 4.1 at the same time...