Я сделал это в прошлом.
SELECT column_name
FROM information_schema.columns
WHERE table_name='insert table name here';
Lua 5.1 и позже определяют макрос LUA_VERSION_NUM
для десятичного представления номера версии, например 501
для Lua 5.1. Вы можете сравнить это с макросом, например
#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 510
lua 5.1 code
#else
older version code
#endif