Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Помогите разобраться с загадкой.
Есть табличка
CREATE TABLE PERF_COUNTERS_DATA (
    TS                TIMESTAMP NOT NULL,
    CNT_VALUE         NUMERIC(18,2),
    PERF_COUNTERS_ID  INTEGER NOT NULL
);
ALTER TABLE PERF_COUNTERS_DATA ADD CONSTRAINT FK_PERF_COUNTERS_DATA_COUNTER FOREIGN KEY (PERF_COUNTERS_ID) REFERENCES PERF_COUNTERS (ID) ON DELETE CASCADE;
CREATE INDEX PERF_COUNTERS_DATA_IDX_CACHE ON PERF_COUNTERS_DATA (PERF_COUNTERS_ID, TS);
CREATE DESCENDING INDEX PERF_COUNTERS_DATA_IDX_TS ON PERF_COUNTERS_DATA (TS);
CREATE INDEX PERF_COUNTERS_DATA_IDX_TS_ACC ON PERF_COUNTERS_DATA (TS);


вставляю в нее 400 ранее подготовленных записей
insert into PERF_COUNTERS_DATA(TS, CNT_VALUE, PERF_COUNTERS_ID)
select TS, CNT_VALUE, PERF_COUNTERS_ID from T_PERF_COUNTERS_DATA;

Запрос вставки выполняется за 30 мс, commit - 8..9 секунд
3 июн 20, 10:37    [22144733]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Загадка в том, что в другой базе такой же структуры, лежащей в том же каталоге, подключенной к тому же серверу, все тоже самое выполняется за 1-2 секунды. "Тормозящая" база после рестора и пересчета статистик. Триггеров на таблице или базе нет. Статистика ничего особенного не показывает.
В значительно больших по объему и по кол-ву записей в табличке базах коммит много быстрее... Почему такое может быть?
3 июн 20, 10:41    [22144735]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10575
MMF,

статистику выполнения и коммита надо более подробную приводить
3 июн 20, 10:44    [22144737]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Статистики таблицы в "нормальной" и "тормозящей" базе

К сообщению приложен файл. Размер - 79Kb
3 июн 20, 10:52    [22144740]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Вставка в "обычную"
------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 31ms
Current memory = 85 032 136
Max memory = 143 269 104
Memory buffers = 5 000
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 11 618

Коммит: Транзакция подтверждена... (2172 ms)

Вставка в "тормозящую"

------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 79ms
Current memory = 84 729 056
Max memory = 85 926 408
Memory buffers = 5 000
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 10 311

Коммит: Транзакция подтверждена... (8531 ms)
3 июн 20, 10:56    [22144741]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
"Обычная"
Database header page information:
Flags 0
Checksum 12345
Generation 171
Page size 16384
ODS version 11.2
Oldest transaction 83
Oldest active 84
Oldest snapshot 84
Next transaction 158
Bumped transaction 1
Sequence number 0
Next attachment ID 6
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Jun 1, 2020 13:14:16
Attributes force write

"Тормозящая"
Database header page information:
Flags 0
Checksum 12345
Generation 466
Page size 16384
ODS version 11.2
Oldest transaction 452
Oldest active 453
Oldest snapshot 453
Next transaction 454
Bumped transaction 1
Sequence number 0
Next attachment ID 8
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Jun 2, 2020 16:44:08
Attributes force write
3 июн 20, 10:58    [22144742]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
AltHasp
Member

Откуда:
Сообщений: 149
MMF,
Можно узнать по-подробней про FB и систему:

- Номер версии FB и архитектура, размер страницы ?
- Какая дисковая система (raid, ssd, virtual)?
- Включен ли FW ?
- Какая скорость коммита при отключенных индексах в PERF_COUNTERS_DATA ?
- Насколько фрагментирован диск ?

Удачи !
3 июн 20, 11:28    [22144759]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
То, что бросается в глаза

В обычной в 3 раза меньше записей в мастер-таблице PERF_COUNTERS.
В обычной заблокирована сборка мусора (хотя статистика показывает отсутствие бекверсий).
Статистику коммита тоже нужно увидеть - это может быть важно.
В тормозящей гораздо больше дубликатов в индексах по TS.
3 июн 20, 11:30    [22144762]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10575
MMF,

и ещё сравни количество активных коннектов.
3 июн 20, 11:37    [22144766]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Fb 2.5.8.27089 SuperServer
Обычный HDD
FW включены
При отключении (ALTER ... INACTIVE) всех индексов, кроме внешнего ключа: "тормозящая" - коммит 5... 5,5 сек, "обычная" - 1..1,5сек
Фрагментации диска нет. Размер кластера 4Кб
3 июн 20, 11:47    [22144769]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Активных соединений, кроме IBExpert, нет. Базы восстановил на своем рабочем компе.
Дисковая подсистема ни при чем - потому что изначально проблему увидели на другом сервере, базу выгрузили и прислали. Развернули на резервном сервере, потом уже ее начал смотреть я. Т.е. в трех разных по аппаратному обеспечению база тормозит (и после рестора), конечно с разным временем выполнения операции.
3 июн 20, 11:54    [22144773]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10575
MMF,

статистика коммита нужна.
Врубай трассировку и тащи от туда статистику выполнения запроса и коммита.
3 июн 20, 11:58    [22144776]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1892
триггеры?

зы
был же недавно пациент с пасхалками в виде триггеров уровня БД
3 июн 20, 12:02    [22144780]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Трассу щас соберу.
Триггеров на таблице нет
3 июн 20, 12:05    [22144785]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50418

MMF
Триггеров на таблице нет

Так и тормозит у тебя не таблица.

Posted via ActualForum NNTP Server 1.5

3 июн 20, 12:07    [22144788]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
2020-06-03T12:23:51.5190 (5612:0000000000F71390) ATTACH_DATABASE
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144

2020-06-03T12:23:51.5340 (5612:0000000000F71390) START_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_807, CONCURRENCY | WAIT | READ_WRITE)

2020-06-03T12:23:51.5500 (5612:0000000000F71390) START_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_808, READ_COMMITTED | NO_REC_VERSION | WAIT | READ_WRITE)

2020-06-03T12:24:11.0250 (5612:0000000000F71390) EXECUTE_STATEMENT_START
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_807, CONCURRENCY | WAIT | READ_WRITE)

Statement 76:
-------------------------------------------------------------------------------
insert into PERF_COUNTERS_DATA(TS, CNT_VALUE, PERF_COUNTERS_ID) select TS, CNT_VALUE, PERF_COUNTERS_ID from T_PERF_COUNTERS_DATA

2020-06-03T12:25:14.3190 (5612:0000000000F71390) COMMIT_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_807, CONCURRENCY | WAIT | READ_WRITE)
4702 ms, 433 write(s), 1 fetch(es), 1 mark(s)

2020-06-03T12:25:14.3190 (5612:0000000000F71390) COMMIT_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_808, READ_COMMITTED | NO_REC_VERSION | WAIT | READ_WRITE)
8 ms, 1 write(s), 1 fetch(es), 1 mark(s)
3 июн 20, 12:30    [22144805]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
select * from rdb$triggers where RDB$TRIGGER_TYPE>114
выдает пусто, т.е. триггеров уровня базы данных нет
3 июн 20, 12:41    [22144815]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
AltHasp
Member

Откуда:
Сообщений: 149
MMF
в другой базе такой же структуры,
все тоже самое выполняется за 1-2 секунды.


Если у вас подозрения на саму "тормозящую" базу.
Тогда почему бы не создать пустую и залить в неё метаданные и данные.
Мы на работе используем IBEScript и эта утилита мгновенно заливает большие
объемы данных (с блобами в том числе).

- Какое значение DefaultDbCachePages ?
- Какая версия ODS ?

Что если увеличить Buffers и установить Page Size = 8192.


Удачи !
3 июн 20, 13:31    [22144856]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
AltHasp,
Мне ведь нужно разобраться, почему у одного клиента получаются такие "тормозящие" базы. Т.е. это не одна такая. Ну перекачаю я данные (хотя сомневаюсь насчет "быстро" для баз в несколько гигабайт размером) и она скорее всего не будет тормозить - это не поможет мне в поисках ответа.
3 июн 20, 13:42    [22144865]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
AltHasp,

ODS version 11.2,
DefaultDbCachePages = 5000
3 июн 20, 13:45    [22144868]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11914
Если не ошибаюсь, то при коммите очищаются временные таблицы с ON DELETE ROWS. Не в этом ли проблема?
3 июн 20, 13:59    [22144884]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
MMF
Трассу щас соберу.
Зачем ? IBE прекрасно покажет статистику выполнения оператора COMMIT.
Тем более, что трасса тут 22144805 настроена не правильно - там нет полной статистики, нет EXEC_STMT_FINISH.
И - показывай полную статистику, включая потабличную.
3 июн 20, 14:48    [22144934]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
hvlad,
не знаю, как в IBE включить статистику Commit
Статистика выполнения запроса в картинке, потому что "Copy Analysis to Clipboard" разъезжаются колонки таблички

К сообщению приложен файл. Размер - 30Kb
3 июн 20, 15:22    [22144988]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
на "нормальной" базе
Query
------------------------------------------------
insert into PERF_COUNTERS_DATA(TS, CNT_VALUE, PERF_COUNTERS_ID)
select TS, CNT_VALUE, PERF_COUNTERS_ID from T_PERF_COUNTERS_DATA;

Plan
------------------------------------------------


Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 31,00 ms
Avg fetch time: 0,00 ms

Memory
------------------------------------------------
Current: 84 010 336
Max : 84 130 040
Buffers: 5 000

Operations
------------------------------------------------
Read : 132
Writes : 0
Fetches: 6 536
Marks : 870


Enchanced Info:
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
| Table Name | Records | Indexed | Non-Indexed | Updates | Deletes | Inserts | Backouts | Purges | Expunges |
| | Total | reads | reads | | | | | | |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|PERF_COUNTERS_DATA | 0 | 0 | 0 | 0 | 0 | 429 | 0 | 0 | 0 |
|T_PERF_COUNTERS_DATA | 0 | 0 | 429 | 0 | 0 | 0 | 0 | 0 | 0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+

Транзакция подтверждена... (953 ms)

Сообщение было отредактировано: 3 июн 20, 15:30
3 июн 20, 15:32    [22145003]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
Используй тег FIXED:

+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
| Table Name | Records | Indexed | Non-Indexed | Updates | Deletes | Inserts | Backouts | Purges | Expunges |
| | Total | reads | reads | | | | | | |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|PERF_COUNTERS_DATA | 0 | 0 | 0 | 0 | 0 | 429 | 0 | 0 | 0 |
|T_PERF_COUNTERS_DATA | 0 | 0 | 429 | 0 | 0 | 0 | 0 | 0 | 0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
3 июн 20, 15:54    [22145029]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
MMF
не знаю, как в IBE включить статистику Commit
Выполнить оператор COMMIT, как обычно (не галкой) и посмотреть на вкладку с perf analysis
3 июн 20, 16:00    [22145042]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
hvlad,

Query
------------------------------------------------
commit;

Plan
------------------------------------------------


Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 4 500,00 ms
Avg fetch time: 0,00 ms

Memory
------------------------------------------------
Current: 84 022 264
Max : 84 140 800
Buffers: 5 000

Operations
------------------------------------------------
Read : 0
Writes : 433
Fetches: 1
Marks : 1

3 июн 20, 16:13    [22145059]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10575
MMF,

а на нормальной БД?
3 июн 20, 16:21    [22145073]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Симонов Денис,
на "нормальной"

Query
------------------------------------------------
commit;

Plan
------------------------------------------------


Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 1 094,00 ms
Avg fetch time: 0,00 ms

Memory
------------------------------------------------
Current: 84 012 384
Max : 84 130 040
Buffers: 5 000

Operations
------------------------------------------------
Read : 0
Writes : 115
Fetches: 1
Marks : 1
3 июн 20, 16:28    [22145079]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
MMF,

коррелляцию между Execute и Writes видишь ?
3 июн 20, 16:36    [22145088]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
hvlad,
вижу, но ведь кол-во вставляемых записей одинаково... Почему writes разное?
3 июн 20, 16:41    [22145092]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
MMF,

а записи в обеих БД одни и те же вставляются ?

У них либо сильно разное распределение по ключам индексов.
Либо в одной БД есть свободные места на случайных страницах с данными,
а в другой - нет и там новые записи ложатся плотнее, занимая меньше страниц
В одной БД они меняют в 3 раза меньше страниц, чем в другой.
3 июн 20, 16:47    [22145098]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
hvlad,

Записи разные, одинаково только кол-во, поскольку завязаны на содержимое таблицы-мастера.
Обе базы после рестора, т.е. свободных случайных страниц нет. Выходит, разница в 4 раза обусловлена индексом внешнего ключа (остальные три дезактивированы, статистика COMMIT приведена для отключенных индексов). Как-то неожиданно

Сообщение было отредактировано: 3 июн 20, 17:06
3 июн 20, 17:08    [22145115]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
MMF
Выходит, разница в 4 раза обусловлена индексом внешнего ключа
Вполне может быть: если в "быстрой" БД все ключи идут, например в конец индекса, а в медленной - распределены по сущ. страницам.
Можно сравнить статистику этого индекса до и после заливки записей.
Если в быстром варианте будет больше новых страниц - это оно и есть.

По твоим картинкам в 22144740 - заполнение страниц индекса FK_PERF_COUNTERS_DATA_COUNTER в "быстрой" БД ближе к 80%, а в медленной - ближе к 50%

MMF
Как-то неожиданно
Неожиданно другое - запись несчастных 100 страниц за 1 сек.
Чё-то долго, даже для random IO, даже для HDD (хотя...)
3 июн 20, 17:18    [22145123]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
MMF
Member

Откуда:
Сообщений: 96
Благодарю за помощь
3 июн 20, 18:01    [22145165]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 571
Возможно у автора какой-то новый способ спровоцировать длительный коммит. Какая-та скупая информация о том, как он это делает.

Есть более простой и понятный способ получить тоже самое.

По аналогии вот с этим

автор
05.06.2020 7:18:48 - DBMS : WI-V3.0.6.33294 Firebird 3.0
05.06.2020 7:18:48 - Client : Firebird 3.0.6.33294
05.06.2020 7:18:48 - START
05.06.2020 7:19:02 - 10000
05.06.2020 7:19:20 - 20000
05.06.2020 7:19:38 - 30000
05.06.2020 7:19:56 - 40000
05.06.2020 7:20:16 - 50000
05.06.2020 7:20:16 - STOP
05.06.2020 7:20:16 - COMMIT [relax and wait]
05.06.2020 7:30:54 - FINISH

10 минут.

Я почему-то был уверен, что это в FB3 уже исправили. Ан нет.

+ Код теста

option explicit

dim cn

set cn=createobject("ADODB.Connection")

cn.Provider="LCPI.IBProvider.5"

cn.Properties("location").value="localhost:d:\database\ram\ibp_test_fb30_d3.gdb"
cn.Properties("user id").value="GAMER"
cn.Properties("password").value="vermut"
cn.Properties("dbclient_library").value="fbclient_30.dll"

call cn.Open()

wscript.echo now()&" - DBMS   : "&cn.Properties("IB Base")
wscript.echo now()&" - Client : "&cn.Properties("IB Client Name")&" "&cn.Properties("IB Client Version")

call cn.BeginTrans()

dim cmd, rs
set cmd=createobject("ADODB.Command")

set cmd.ActiveConnection=cn

cmd.CommandText="select ID from DUAL"

dim n

n=0

wscript.echo now()&" - START"

while(n<50000)
 n=n+1 

 if((n mod 10000)=0)then
  wscript.echo now()&" - "&n
 end if

 set rs=cmd.Execute()

 call rs.Close()
 
 set rs=nothing
wend

wscript.echo now()&" - STOP "

wscript.echo now()&" - COMMIT [relax and wait]"

call cn.CommitTrans()

wscript.echo now()&" - FINISH"


+ То же самое, но через другого клиента

Я не стал разгружать машину для чистоты эксперимента.

автор
05.06.2020 7:43:18 - DBMS : WI-V3.0.6.33294 Firebird 3.0
05.06.2020 7:43:18 - Client : LCPI.IBProvider.RemoteFB 5.18.0.35340
05.06.2020 7:43:18 - START
05.06.2020 7:43:35 - 10000
05.06.2020 7:43:54 - 20000
05.06.2020 7:44:12 - 30000
05.06.2020 7:44:30 - 40000
05.06.2020 7:44:49 - 50000
05.06.2020 7:44:49 - STOP
05.06.2020 7:44:49 - COMMIT [relax and wait]
05.06.2020 7:44:49 - FINISH

5 июн 20, 07:49    [22146104]     Ответить | Цитировать Сообщить модератору
 Re: Длительный commit  [new]
hvlad
Member

Откуда:
Сообщений: 10961
Коваленко Дмитрий,

Никто будучи в своём уме, не запускает 100500 селективных запросов на выполнение в одной тр-ции и ничего с ними потом не делает.
Реакцию на этот бред, конечно, можно исправить, но кому это реально нужно ?

Да и чем тогда ты будешь так гордиться ? :)

PS тикет в трекере есть ?
5 июн 20, 10:18    [22146195]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Firebird, InterBase Ответить