Firstly, I think it would be nice if I could just compile without MySQL, since both fundamental functionality and compile-ability are essential to the usefulness and growing popularity of this wonderful idea and scripting kit. The problem I have right now and that is likely very common elsewhere is that MySQL does not compile and it seems that it is a source code issue.
Isn't there a pure Ada implementation of SQL? Ada and MySQL are practically cousins, so why is MySQL being loaded from the modern C libraries? If it is for some general compatibility with library changes over time, I'd rather have pure Ada rudimentary database support. Anyway, the most practical choice I have right now is to get MySQL running. Here is the failure output of the compiler:
---------------------------------------------------------------
Making APQ (PostgreSQL/MySQL DBI)
http://home.cogeco.ca/~ve3wwg
---------------------------------------------------------------
gmake -C apq-2.1/
gmake[2]: Entering directory '/home/micah/.devel/ada/sparforte/src/apq-2.1'
chmod u+x mysql_xcr mysql_xcr2 mysql_xcr3 mysql_incl mysql_xty mysql_linker_opti
ons
./mysql_xcr >mysql_errmsg.h
./mysql_xty >mysql_type_codes.h
gcc -Wall -O1 -I/usr/include/mysql mysql_generr.c -o mysql_generr
gcc -Wall -O1 -I/usr/include/mysql mysql_gentyp.c -o mysql_gentyp
In file included from mysql_gentyp.c:34:0:
mysql_type_codes.h: In function ‘main’:
mysql_type_codes.h:23:8: warning: missing terminating " character
{ "*/", */ },
^
mysql_type_codes.h:23:8: error: missing terminating " character
{ "*/", */ },
^~~~~~~~
mysql_type_codes.h:24:3: warning: braces around scalar initializer
{ "MYSQL_TYPE_TIMESTAMP2", MYSQL_TYPE_TIMESTAMP2 },
^
mysql_type_codes.h:24:3: note: (near initialization for ‘codes[17].code’)
mysql_type_codes.h:24:5: warning: initialization makes integer from pointer with
out a cast [-Wint-conversion]
{ "MYSQL_TYPE_TIMESTAMP2", MYSQL_TYPE_TIMESTAMP2 },
^~~~~~~~~~~~~~~~~~~~~~~
mysql_type_codes.h:24:5: note: (near initialization for ‘codes[17].code’)
mysql_type_codes.h:24:5: error: initializer element is not computable at load ti
me
mysql_type_codes.h:24:5: note: (near initialization for ‘codes[17].code’)
mysql_type_codes.h:24:30: warning: excess elements in scalar initializer
{ "MYSQL_TYPE_TIMESTAMP2", MYSQL_TYPE_TIMESTAMP2 },
^~~~~~~~~~~~~~~~~~~~~
mysql_type_codes.h:24:30: note: (near initialization for ‘codes[17].code’)
mysql_type_codes.h:25:3: error: extra brace group at end of initializer
2 { "MYSQL_TYPE_DATETIME2", MYSQL_TYPE_DATETIME2 },
^
mysql_type_codes.h:25:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:25:3: warning: excess elements in struct initializer
mysql_type_codes.h:25:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:26:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_TIME2", MYSQL_TYPE_TIME2 },
^
mysql_type_codes.h:26:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:26:3: warning: excess elements in struct initializer
mysql_type_codes.h:26:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:27:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_NEWDECIMAL", MYSQL_TYPE_NEWDECIMAL },
^
mysql_type_codes.h:27:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:27:3: warning: excess elements in struct initializer
mysql_type_codes.h:27:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:28:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_ENUM", MYSQL_TYPE_ENUM },
^
mysql_type_codes.h:32:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:32:3: warning: excess elements in struct initializer
mysql_type_codes.h:32:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:33:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_BLOB", MYSQL_TYPE_BLOB },
^
mysql_type_codes.h:33:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:33:3: warning: excess elements in struct initializer
mysql_type_codes.h:33:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:34:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_VAR_STRING", MYSQL_TYPE_VAR_STRING },
^
mysql_type_codes.h:34:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:34:3: warning: excess elements in struct initializer
mysql_type_codes.h:34:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:35:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_STRING", MYSQL_TYPE_STRING },
^
mysql_type_codes.h:35:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:35:3: warning: excess elements in struct initializer
mysql_type_codes.h:35:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:36:3: error: extra brace group at end of initializer
{ "MYSQL_TYPE_GEOMETRY", MYSQL_TYPE_GEOMETRY },
^
mysql_type_codes.h:36:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:36:3: warning: excess elements in struct initializer
mysql_type_codes.h:36:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:37:3: error: extra brace group at end of initializer
{ 0, 0 }
^
mysql_type_codes.h:37:3: note: (near initialization for ‘codes[17]’)
mysql_type_codes.h:37:3: warning: excess elements in struct initializer
mysql_type_codes.h:37:3: note: (near initialization for ‘codes[17]’)
mysql_gentyp.c:35:3: error: expected ‘}’ before ‘;’ token
};
^
mysql_gentyp.c:41:1: error: expected ‘,’ or ‘;’ at end of input
}
^
mysql_gentyp.c:41:1: error: expected declaration or statement at end of input
mysql_gentyp.c:33:18: warning: unused variable ‘codes’ [-Wunused-variable]
static TypeCode codes[] = {
^~~~~
At top level:
mysql_gentyp.c:33:18: warning: ‘codes’ defined but not used [-Wunused-variable]
GNUmakefile:46: recipe for target 'apq-mysql.ads' failed
gmake[2]: *** [apq-mysql.ads] Error 1