Немного переделал готовый скрипт на LUA, который нужен, для отображения информации о БД Tarantool.
local log = require('log')
local console = require('console')
local server = require('http.server')
local HOST = '172.27.40.17'
local PORT = 8008
box.cfg {
log_level = 5,
memtx_memory = 1073741824,
wal_max_size = 5,
log = 'tarantool.log',
background = true,
pid_file = '1.pid',
}
console.listen('172.27.40.17:3311')
if not box.space.examples then
s = box.schema.space.create('examples')
s:create_index('primary', {type = 'hash', parts = {1, 'string', 2, 'string', 3, 'string'}})
end
function handler(self)
local id = self:cookie('tarantool_id')
local ip = self.peer.host
local data = ''
log.info('Users id = %s', id)
if not id then
data = 'Welcome to tarantool server!'
box.space.examples:auto_increment({ip})
id = box.space.examples:len()
return self:render({ text = data}):
setcookie({ name = 'tarantool_id', value = id, expires = '+1y' })
else
local count = box.space.examples:len()
data = 'В базе имеется ' .. count .. ' кортежей'
return self:render({ text = data })
end
end
httpd = server.new(HOST, PORT)
httpd:route({ path = '/' }, handler)
httpd:start()
Теперь я хочу выводить не только количество кортежей, но и сами значения кортежей. И меняю:
local count = box.space.examples:len()
на
local count = box.space.examples:select()
На что мне выдается ошибка: Unhandled error: /home/roman/httptarantool.lua:48: attempt to concatenate local 'count' (a table value)
Я понимаю, что ругается на неподходящее значение, но не могу понять, где в скрипте заменить значение на табличное.