|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
http://myinformix.narod.ru/ 12.12.2008. Версия 5.16b. * при удалении текущего активируется таб справа, а не слева. * подсветка литералов с двойными кавычками (в редакторе sql). * подсветка (желтеньким) текущей строки. * в лог записываются только первые 80 символов sql запроса (меньше тормозит). * в диалоге export добавлена browse (открывается приложение ассоциированное с расширением файла). * добавил поддержку синтаксиса create [dba] procedure/function external. * запрос выполняется в отдельном потоке, поэтому гуй не замирает и добавлена возможность прерывание выполняющегося запроса. * кнопка connect/disconnect разделилась на две кнопки. * одноименные бинд-переменные отображаются как один в диалоге запроса значений. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 08:49 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Журавлев Денис 12.12.2008. Версия 5.16b. Супер! Журавлев Денис * в лог записываются только первые 80 символов sql запроса (меньше тормозит). А можно сделать, чтобы обрезание управлялось параметром в настройках? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 09:59 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
АнатоЛой А можно сделать, чтобы обрезание управлялось параметром в настройках?это не про общий лог, а про лог прямо на вкладке где редактируется запрос, там вообще не видно больше 50 символов. В общем логе все целиком лежит, как было. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 10:08 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Спасибо, Денис, успокоил :) Уже смотрю! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 10:12 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Большое спасибо Денису. Активно использую тулзу. Пусть даже без возможности сортировки в закладке "Data" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 10:49 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Журавлев Денис 12.12.2008. Версия 5.16b. * кнопка connect/disconnect разделилась на две кнопки. Писал много слов - но потерял :(. Пишу короче :) - если теперь в списке серверов выбрать другой сервер - и не приконнектиться, то через полчаса можно забыть, на каком ты сервере находишься... Предлагаю в заголовок окна вместе с именем пользователя выносить... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 11:40 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Вау, круто! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 13:37 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Денис!!! Пять Баллов!!! Почти весь наш отдел пользуется вашим инструментом. Ждем продолжения, все таки: --It's only test. Many features are not implemented yet. из последних пожеланий:Посмотрите, пожалуйста, может имеет смысл добавить: 1. Фильтр по владельцу, т.е. все таблицы/процедуры одного владельца (может отдельным окошечком рядом с фильтром по наименованию ?) 2. в закладке 'Dpn' добавить поле, по которому связаны таблицы (у нас есть справочники с двумя уникальными полями, причем у некоторых оба поля CHAR(N) разной длины) и соответственно в строку на создание констрейнта добавить поле, по которому связь ALTER TABLE "aot".nsi_ved ADD CONSTRAINT (FOREIGN KEY (code) REFERENCES "apr".nsi_res(поле) CONSTRAINT "aot".fk_ved_1); 3. закладка 'DDL' в строке на создание таблицы, если поле datetime имеет значение по умолчанию, то добавить размерность CREATE TABLE n(time_create DATETIME YEAR to SECOND default Current YEAR to SECOND); 4. И уж совсем детское:) хотелось бы скрипты на печать выводить. С уважением, Кожина Л.Н. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 14:30 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Kozhina Lidia из последних пожеланий:Посмотрите, пожалуйста, может имеет смысл добавить: 1. Фильтр по владельцу, т.е. все таблицы/процедуры одного владельца (может отдельным окошечком рядом с фильтром по наименованию ?)Я бы рад, не могу придумать куда отдельное окошечко засунуть. Kozhina Lidia 2. в закладке 'Dpn' добавить поле, по которому связаны таблицы (у нас есть справочники с двумя уникальными полями, причем у некоторых оба поля CHAR(N) разной длины) и соответственно в строку на создание констрейнта добавить поле, по которому связь ALTER TABLE "aot".nsi_ved ADD CONSTRAINT (FOREIGN KEY (code) REFERENCES "apr".nsi_res(поле) CONSTRAINT "aot".fk_ved_1); не понимаю, пример краткий из двух таблиц покажите. Kozhina Lidia 3. закладка 'DDL' в строке на создание таблицы, если поле datetime имеет значение по умолчанию, то добавить размерность CREATE TABLE n(time_create DATETIME YEAR to SECOND default Current YEAR to SECOND); это сделаю. Kozhina Lidia 4. И уж совсем детское:) хотелось бы скрипты на печать выводить.Т.е. вам хочется печатать sql-и с подсвеченным синтаксисом? Я правильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 14:43 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Денис, я имела ввиду вот что таблица CREATE TABLE "aspr".nsi_resource( res_code CHAR(8) NOT NULL, prod_code NCHAR(3) NOT NULL, pole1 char(30) ); CREATE UNIQUE INDEX "aspr".ix_nsi_resource2 ON "aspr".nsi_resource(res_code); CREATE UNIQUE INDEX "aspr".ix_nsi_resource1 ON "aspr".nsi_resource(prod_code); ALTER TABLE "aspr".nsi_resource ADD CONSTRAINT UNIQUE (prod_code) CONSTRAINT "aspr".un_nsi_res_pcode; ALTER TABLE "aspr".nsi_resource ADD CONSTRAINT PRIMARY KEY (res_code) CONSTRAINT "aspr".pk_nsires; (почему так, никто не ответит, сложилось исторически) ALTER TABLE "arezp".mb_mnt_doz ADD CONSTRAINT (FOREIGN KEY(prod_code) REFERENCES "aspr".nsi_resource (prod_code) CONSTRAINT "arezp".fk_mbdoz_prod) ALTER TABLE "abspr".ps_nsi_res ADD CONSTRAINT (FOREIGN KEY(res_code) REFERENCES "aspr".nsi_resource (res_code) CONSTRAINT "abspr".fk_ps_nsi_res) в скрипте явно указывать 2 поле (дело в том, что есть таблицы к которым 50 то одних то других привязано, чтобы не путаться) Хотя сейчас пишу, на самом деле кажется ерунду какую-то :) А по поводу печати это наше общее пожелание, большие, и часто чужие процедуры хорошо в бумажном виде изучать:) Преогромнейшее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2008, 16:05 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Почему-то у меня программа вылетает при попытке запустить на исполнение запрос, в случае, если коннект с сервером был потерян... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2008, 19:58 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Guest_1712Почему-то у меня программа вылетает при попытке запустить на исполнение запрос, в случае, если коннект с сервером был потерян...это не тестировал, наверно где-то я накосячил. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 09:09 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Денис, если не секрет, каков механизм реализации функции "отмена запроса"? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 10:40 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Журавлев Денисдобавлена возможность прерывание выполняющегося запроса.Как?!? Я не нашел :(( Ощущаю себя идиотом... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 11:12 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
АнатоЛойДенис, если не секрет, каков механизм реализации функции "отмена запроса"? Какой секрет. Это документированный механизм информикса. Ликбез Обычно процесс происходит так: мы вызываем из dll информикса функцию "выполнить запрос" и сидим ждем (висим) когда эта функция вернет нам управление. Но клиент информикса умеет в это время дергать из нас (из приложения) другую функцию (callback), с некоторой перидичностью, и в этот момент приложение может попросить клиента interrupt. IDAC В идаке это выглядит так: ifxConnection обладает свойством UseTimeOut если оно true, то будем дергать callback свойством TimeOutInterval период в миллисекундах когда дергать событием OnTimeOut здесь надо положить наш код В idac есть Demo пример как этим пользоваться, он очень простой, но однопоточный в OnTimeOut вызывается Application.Processmessages в реальном приложении так делать можно, но лучше не надо, пользатели могут побить. EsqlEditor в дизайне TimeOutInterval = 100 После подключения к базе выполняем Database.UseTimeOut := true; //надо делать каждый раз (после Open) похоже в idac баг, я про это писал недавно тут где-то. Каждые 100 мс, тупо проверяем переменную FInterrupt если она true то вызываем InterruptSQL Код: plaintext 1. 2. 3. 4. 5.
На время выполнения скрипта создается еще один поток, в котом скрипт из sql-ей (;) парсится и выполняются запросы, и в нем дергается проверка DatabaseTimeOut, потому что Database в этот момент "живет" там. Второй поток позволяет GUI не замирать не ждать возврата управления. И в потоке гуя при нажатии на кнопочку выполняется Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 11:15 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Денис, скажите, что кнопку "Interrapt" можно сделать видимой в настройках панелей справа или вверху у поля со скриптом. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 11:26 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Журавлев Денис Ликбез клиент информикса умеет в это время дергать из нас (из приложения) другую функцию (callback), с некоторой перидичностью, и в этот момент приложение может попросить клиента interrupt. Интересовало именно это - не приходилось разбираться с клиентом информикса так глубоко. Но за подробности всё равно спасибо - может ещё кому пригодиться, а может и мне - когда-нибудь позже :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 11:29 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Kozhina LidiaДенис, скажите, что кнопку "Interrapt" можно сделать видимой в настройках панелей справа или вверху у поля со скриптом. Да, кнопка "Interrupt" по умолчанию не видна (т.е. видны те кнопки, которые были видны до этого, а новые надо вручную вытаскивать через customize). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 11:31 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
АнатоЛойИнтересовало именно это - не приходилось разбираться с клиентом информикса так глубоко. Но за подробности всё равно спасибо - может ещё кому пригодиться, а может и мне - когда-нибудь позже :) Некоторое время я потратил на осознание того факта, что одновременно в одном потоке может "жить" только одно соединение с информиксом, и в то же время соединение может существовать только в одном потоке. Т.о. есть поток гуя, и есть поток для выполнения. Необходимо соединение передавать туда сюда. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
В терминах esql/c это звучит так: EXEC SQL set connection 'con1' dormant; EXEC SQL set connection 'con1' гугельTherefore, when each thread has finished with it for the time being, the thread will need to set the connection to dormant and then yield. Unless it does so, all the other connections will run into -1802 errors (an error; I assume -1802 is connection in use by another thread or some variant of that). Programming a Thread-Safe ESQL/C Application ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 11:56 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Да, кстати, Luxena дальнейшим развитием IDAC вроде не собирается заниматься. Денис, а у Вас IDAC с исходниками? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 12:15 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
АнатоЛойДа, кстати, Luxena дальнейшим развитием IDAC вроде не собирается заниматься. Денис, а у Вас IDAC с исходниками?да, с исходниками. Но какая разница, я могу их читать. Но раздавать их, или их в виде компонентов я не могу. ЗЫЖ Обращаюсь к читающему эти строки "Пожалуйста не пишите мне просьб прислать idac на "посмотреть" и про ids тоже не пишите, в ответ получите только нецензурную брань, "компенсация за труды" меня не интересует, я сказочно богат". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 12:25 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
Журавлев ДенисАнатоЛойДа, кстати, Luxena дальнейшим развитием IDAC вроде не собирается заниматься. Денис, а у Вас IDAC с исходниками?да, с исходниками. ЗЫЖ Обращаюсь к читающему эти строки "Пожалуйста не пишите мне просьб прислать idac на "посмотреть" и про ids тоже не пишите, в ответ получите только нецензурную брань, "компенсация за труды" меня не интересует, я сказочно богат". Денис, извините, пожалуйста, если я спровоцировал :). Или это просто предусмотрительность?! Ваше мнение, документация у них очень приличная - или приходиться часто "возиться" с исходниками? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 15:50 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
АнатоЛойДенис, извините, пожалуйста, если я спровоцировал :). Или это просто предусмотрительность?! Нет не ты, постянно просят и idac и последние версии информикса, один раз ДАЖЕ траффик потраченный на закачку дистрибутива свежего информикса предлагали оплатить. АнатоЛойВаше мнение, документация у них очень приличная - или приходиться часто "возиться" с исходниками?у люксены ? Нормальная документация. В общем-то там все просто и все как обычно. Я иногда смотрю исходники, потому что мне нужны специфические вещи, для прикладных целей хватит документации. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2008, 16:08 |
|
eSQLEditor 5.16b
|
|||
---|---|---|---|
#18+
http://myinformix.narod.ru/ 30.12.2008. Версия 5.17b. * Отображается имя сервера к которому подключен (user@server). * при ошибке в запросе на не текущем табе нет исключения `cannot focus invisible window`. * не дизаблились кнопки над гридом с результатом. * В базах без транзакций, задизаблены кнопки Start/Rollback/Commit. * Если соединения с сервером пропало (или сессия убита), не падаем. * Сортировка кликом по колонке в data. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2008, 15:13 |
|
|
start [/forum/topic.php?fid=44&tid=1607069]: |
0ms |
get settings: |
27ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
524ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 637ms |
0 / 0 |