1
У меня есть сервер MYSQL и MYSQL-PROXY, и я пытаюсь манипулировать результатами, которые я отправляю клиенту в ответ на запрос SELECT. Я написал этот код в lua:манипуляция с результатом в mysql-proxy
function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
function read_query_result(inj)
local fn = 1
local fields = inj.resultset.fields
while fields[fn] do
fn = fn + 1
end
fn = fn - 1
print("FIELD NUMBER: " .. fn)
for row in inj.resultset.rows do
print ("--------------")
for i = 1, fn do
if (string.starts(fields[i].name,"TEST")) then
row[i]="TESTED"
end
print ("DATA: " .. fields[i].name .. " -> " .. row[i])
end
end
return proxy.PROXY_SEND_RESULT
end
Я могу правильно прочитать имена и значения полей. Я могу обнаружить условие, в котором я хочу, чтобы результат был изменен, но я не могу получить данные, отправленные клиенту.
Я вижу две проблемы:
- Я устанавливаю значение в локальной переменной строки, но я не нашел способ, чтобы установить реальный результирующий (inj.Resultset.row [I] или что-то подобное).
- Что-то не так с
return proxy.PROXY_SEND_RESULT
, потому что я вижу, что всякий раз, когда я прокомментирую это предложение, я вижу результаты, и если я раскомментирую его, я получаю сообщение об ошибке.
Я не нашел пример кода в качестве ссылки.