JRruby, Sybase JDBC и DBI - выбор имени столбца с проблемой предложения AS
У меня есть скрипт ruby, который я запускаю с помощью интерпретатора JRuby. Сценарий подключается к базе данных Sybase с использованием DBI и Sybase JDBC (jTDS3.jar и jconn3.jar)
Моя проблема в том, что у меня есть запрос выбора, который изменяет имена столбцов таблицы. Например:
SELECT
t.TRANSACTION as 'business_transaction',
t.TRADE_CURRENCY as 'currency',
t.CURRENCY as 'settlement_currency'
...etc...
FROM
TRADE t
...etc...
Моя проблема заключается в использовании примеров непосредственно издокументация
sth = dbh.execute(stmt)
printf "Number of rows: %d\n", rows.size
printf "Number of columns: %d\n", sth.column_names.size
sth.column_info.each_with_index do |info, i|
printf "--- Column %d (%s) ---\n", i, info["name"]
end
или просто
sth = dbh.execute(stmt)
rows = sth.fetch_all
col_names = sth.column_names
sth.finish
DBI::Utils::TableFormatter.ascii(col_names, rows)
НеВСЕ имена появляются, когда я их устанавливаю, используя в запросе предложение as. Некоторые из них являются исходными именами полей, а некоторые - имена, которые я указал.
Например, они будут перечислять как:
--- Column 0 (TRANSACTION) ---
--- Column 1 (TRADE_CURRENCY) ---
--- Column 2 (settlement_currency) ---
или же
TRANSACTION
TRADE_CURRENCY
settlement_currency
При тестировании этого в Squirrel SQL Client столбцы имеют правильное имя, поэтому это ошибка в DBI или драйверах Sybase JDBC? или я что то не так делаю?
Любая помощь будет принята с благодарностью