如何使 sqrt 和 cos 在 tarantool SQL 中可用?
How to make sqrt and cos available in tarantool SQL?
我正在尝试使用 this 公式估算距离,但是当我尝试在 tarantool 中执行它时 sql
box.execute [[SELECT "weight" + sqrt( cos("lat" - 12.31252) * ...]]
显示:
function SQRT() is not available in SQL
Function 'COS' does not exist
如何使这些 functions 可用?
这些在开箱即用的 tarantool SQL 中尚不可用,但您可以使用 box.schema.func.create
从 SQL 调用任意 lua 代码。这是您需要做的:
box.schema.func.create(
'COS', {
returns="number",
body="function (num) return math.cos(num) end",
is_sandboxed=false,
param_list={"number"},
exports = {'LUA', 'SQL'}
})
然后这样称呼它:
box.execute("SELECT cos(123)")
要了解更多信息,您可以参考documentation on calling Lua from SQL。
我正在尝试使用 this 公式估算距离,但是当我尝试在 tarantool 中执行它时 sql
box.execute [[SELECT "weight" + sqrt( cos("lat" - 12.31252) * ...]]
显示:
function SQRT() is not available in SQL
Function 'COS' does not exist
如何使这些 functions 可用?
这些在开箱即用的 tarantool SQL 中尚不可用,但您可以使用 box.schema.func.create
从 SQL 调用任意 lua 代码。这是您需要做的:
box.schema.func.create(
'COS', {
returns="number",
body="function (num) return math.cos(num) end",
is_sandboxed=false,
param_list={"number"},
exports = {'LUA', 'SQL'}
})
然后这样称呼它:
box.execute("SELECT cos(123)")
要了解更多信息,您可以参考documentation on calling Lua from SQL。