Экспорт скрытых строк по ODBC

Страницы: 1
RSS
Экспорт скрытых строк по ODBC
 

Добрый день!

Разбираясь в очередной раз со скоростью экспорта по ODBC, обнаружил неприятный сюрприз.

В QUIK уже года 2 существует интересный инструмент – «Фильтр» для полей таблиц. Он позволяет отображать в таблицах не все инструменты, а только те, которые удовлетворяют условиям.

Я его использую для сокращения количества рутины при настройках фьючерсов и опционов. Но оказалось, что все не совсем так, как хотелось.

Да, фильтр ограничивает список инструментов, по которым осуществляется экспорт. Но он это делает только при первичной вставке.

При последующих изменениях в данных – QUIK пытается проапдейтить все инструменты, не обращая внимания на фильтры. Но, т.к. при первичной вставке скрытые инструменты в таблицу-получатель не добавлялись, то все последующие апдейты – бессмысленны. И самое неприятное – что пользователь об этом никак не может догадаться, пока не изучит quik_odbc.log.

Пример (показываю на фьючерсах, чтобы данных было поменьше) в версии 9.3.3.3:

1.       Настраиваю таблицу параметров (в списке «Доступные инструменты» вводу в контекстный поиск RI + переношу в «Заголовки строк» всю группу «FORTS: фьючерсы»).

2.       Получаю список из 8-и инструментов за 2 года.

3.       Настраиваю фильтр на поле «До погашения» - менее 120.

4.       У меня остаются только 2 инструмента – RIH2 и RIM2.

5.       Перезахожу в QUIK, создав файл quik_odbc.log.

6.       Сразу после чистки таблицы добавляется записи с инсертом отфильтрованных инструментов (RIH2 и RIM2).

7.       Через минуту осуществляется апдейт, но уже по всем 8-и инструментам.

Файл с картинками и лог загружены по ссылке https://drive.google.com/file/d/1utfcONnZm_XkIV_nOOLIKsbQdHleriJd/view?usp=sharing.

Сначала думал, что какую-то хорошую задумку случайно испортили, но, провернув этот трюк на версиях последних 2-х лет (8.2.1.13 от 18.12.2019, 8.5.2.11 от 30.04.2020, 8.7.1.3 от 02.07.2020, 8.9.0.107 от 05.10.2020, 8.11.0.66 от 11.12.2020, 8.13.0.106 от 22.03.2021, 8.13.1.16 от 16.04.2021, 9.1.3.11 от 18.08.2021, 9.2.3.15 от 11.10.2021, 9.3.1.11 от 12.11.2021, 9.3.3.1 от 08.12.2021) понял, что так было с самого начала, просто, видимо, я не обращал на это внимания, т.к. скорость устраивала.

Сейчас у меня экспортируется ~4000 опционов, и потери в скорости стали ощутимыми. Экспорт начинает отставать от реальных данных и при интервале обновления «30 секунд» в течение дня накапливается отставание 1-2 часа. Проблему, конечно, решает, увеличение частоты его до 50 или 60 секунд, но меня это не устраивает.

Свою проблему я решил временным ограничением – выбираю в настройках только нужные серии (а не все 30000 опционов, как раньше). Дополнительно оптимизировал работу сервера БД и своего приложения в части работы с потоками, доведя частоту апдейта без каких-либо отставаний до 3 сек. Мне в целом хватает и 5 сек., но настраивать отдельные серии все равно не хочется.

Прошу исправить ошибку. И здесь есть два пути:

а) если так и было задумано (фильтр не должен ограничивать экспорт), то тогда необходимо и первичный INSERT пустить и по всем скрытым строкам. В таком случае будет, что апдейтить в дальнейшем. И пользователь с удовольствием увидит результаты своих горе-настроек в виде «распухших» таблиц с экспортируемыми без учета фильтров данными. И обязательно задокументировать это в HELP’е. Сейчас о влиянии фильтров на экспорт ни слова нет (или я плохо искал).

б) если это баг, то надо исправлять логику апдейта – не надо ходить по этим строкам, перегружать терминал и снижать тем самым скорость экспорта.

                                         

Я, конечно, голосую за вариант B.

 
Здравствуйте!

Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
 
Добрый день,

Описанная в данном обращении проблема будет устранена в одной из очередных версий ПО.

Приносим извинения за причиненные неудобства.

 
Добрый день!
Обнаружил, что проблема устранена в версии 9.5.0.42.
Теперь все работает корректно.
Спасибо!
Страницы: 1
Читают тему
Наверх