powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
25 сообщений из 371, страница 4 из 15
ANN Выпущен Firebird 4!
    #40118054
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

вот как раз LIST проблем больших не создавал. Он генерирует ровно один временный BLOB. А вот конкатенация ручками ещё как создавала. Влад кое что придумал для 5.0 (BLOB_APPEND) но пока это не принято. У Адриано свой подход который посложней (пакет RDB$BLOB_UTILS) тоже пока не вошло
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118059
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да.

Это же полный п....ц, применительно, напроимер к старым приложениям на дельфи с ibx/fib+, разве нет?
...
И, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118063
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Симонов Денис
Для недовольных есть ReadConsistency в конфиге
Для конкретной транзакции можно отключить?
Сорри, опять не пошел читать.


для всех. Просто по умолчанию любая транзакция Read Commited является Read Consistency. Если установить ReadConsistency = 0, то надо явно задать tpbReadConsistency

Про не пошёл читать ну.... В 4.0 появились две главные фишки логическая репликация и промежуточная сборка мусора + Read Committed Read Consistency. Остальное мелочи. Это лично моё мнение
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118066
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъИ, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением.

ошибаешься. Сама по себе RC транзакция теперь вообще не удерживает сборку мусора. Причём любая не только Read Only. А вот недофетченные курсоры да. Я это тестировал кстати.

Ты как это проверял? Надеюсь не смотря на номер активной транзакции. Потому что он то как раз застрянет. Надо в gstat смотреть на длину цепочки версий
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118068
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

и без тестов было известно что в 4.0 RO RC теряет смысл.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118071
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock
пропущено...
Для конкретной транзакции можно отключить?
Сорри, опять не пошел читать.


для всех. Просто по умолчанию любая транзакция Read Commited является Read Consistency. Если установить ReadConsistency = 0, то надо явно задать tpbReadConsistency

Про не пошёл читать ну.... В 4.0 появились две главные фишки логическая репликация и промежуточная сборка мусора + Read Committed Read Consistency. Остальное мелочи. Это лично моё мнение
Плохо, что я могу сказать.
Впрочем, я на 4-ку не смогу перейти не только из-за этого. Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше.
Будет как с BIGINT для 1-го диалекта, я уже понял.

В общем, из-за этих "мелочей", переход на 4-ку невозможен (только для совершенно новых проектов, коих в моей жизни вряд ли предвидится).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118074
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

издеваешься? Ты вообще хоть что-то читал в RN? Про параметр DataTypeCompatibility в курсе?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118076
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

издеваешься? Ты вообще хоть что-то читал в RN? Про параметр DataTypeCompatibility в курсе?
В курсе, он не поможет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118078
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъИ, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением.


ошибаешься. Сама по себе RC транзакция теперь вообще не удерживает сборку мусора. Причём любая не только Read Only. А вот недофетченные курсоры да. Я это тестировал кстати.

Ты как это проверял? Надеюсь не смотря на номер активной транзакции. Потому что он то как раз застрянет. Надо в gstat смотреть на длину цепочки версий
Например:
В цикле:
Код: sql
1.
2.
3.
4.
старт транзакции
delete from tbl;
insert into tbl values (...)
commit


Если параллельно стартовать rc ro r-c транзакцию - база начинает распухать.
Ecли в кофиге отключить ReadConsistency - то не распухает.
Никакие gstat я не запускал, я смотрел на размер файла базы:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure TForm1.ShowDBSize;
var
  info: TWin32FileAttributeData;
begin
  if not GetFileAttributesEx(PChar(fDBName), GetFileExInfoStandard, @info) then
    lblDBSize.Caption := '?'
  else
    lblDBSize.Caption := IntToStr(Int64(info.nFileSizeLow)
      or Int64(info.nFileSizeHigh shl 32));

end;
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118082
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

потому что некоторые не готовят свои приложения к новой версии.

Блин LOCALTIMESTAMP появился ещё в 3.0.4 и 2.5.7. Время подкрутить прикладуху было дофига
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118083
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Симонов Денис
ъъъъъ,

ну ё моё. Я же говорил.

Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать.
Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.
Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы...

У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции.
это смотря какие компоненты.
один мягко говоря, организм, захреначил такое поведение в изначальный FIB, а все последующие компонентостроители посчитали что раз сам отЭц (Deatz) сделал именно так, то это есть божественный канон, и менять оное - идти супротив божественного.

зы: у нас это настраивается.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118084
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

потому что некоторые не готовят свои приложения к новой версии.

Блин LOCALTIMESTAMP появился ещё в 3.0.4 и 2.5.7. Время подкрутить прикладуху было дофига
Смешно. Я еще 2.1 поддерживаю.
А уж разнообразие 3.0 (до 3.0.5, оно там появилось) вообще впечатляет.
Ну и, естественно, даже если б я дождался перехода всех на 3.0.8, толку не было бы, ведь всех исходников у меня нет и быть неможет. Многие дописывают свои экспорты/импорты.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118098
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockПлохо, что я могу сказать.

Влад на этом месте сказал бы, что "иногда лучше жевать".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118104
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
Fr0sT-Brutal,

и что? Кто говорил про одну транзакцию?
Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды.

И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да.

Я когда на 4.0 перешёл специально сделал тайм-аут простоя соединения. А то есть такие прогу не вырубают, откроют и она простаивает 12 часов. Не работаешь 4 часа значит всё соединение рвём. Зато нету никаких транзакций с недофетченными курсорами висящими по три дня.

Надысь тут, рядом, через губу говорили про компоненты, которые автоматически стартовали и завершали транзакции и всё на клиента фетчили. А теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... прогресс не стоит на месте...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118106
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

сдается мне, тест кривой. Во-первых, какая архитектура сервера? У SS сборка мусора фоновая, у SC/CS - явная.
Дальше, кто будет собирать мусор от delete, если ничего кроме delete/insert в таблице не происходит?
Потом, если раньше RO RC это типа "несуществующая транзакция", поэтому она ни на что не влияла, то в 4.0 несуществующих нет. Однако мусор в версиях в 4.0 собирается совсем не так, как раньше. И тут тогда возникает вопрос "очередности транзакций" в тесте.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118107
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъА теперь не только транзакции, не только полный фетчинг, но и коннект рвать
рекомендуем, во избежании...

Ты "я сделал так" от "всем рекомендую" совсем не отличаешь? Будешь за
рекомендации считать каждый кривой костыль с которым смиряются топикстартеры
класса хлопотуна и натальи?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118108
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
А теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... прогресс не стоит на месте...


Мы рвем коннекты уже больше 20 лет. Если ползатель не проявляет активности.

Если это служба - то через 10 000 запросов переподключаемся.

Всплывают заказчики, которые лет по 10 не заморачивались свипами, сборками мусора и пр.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118112
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
тест кривой

ОК.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118120
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше.
#
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# Default session or client time zone.
#
# If empty, the default is the OS time zone.
# When set in the server, it defines the default session time zone for attachments.
# When set in the client, it defines the default time zone used with client-side API functions and
# the default value of isc_dpb_session_time_zone.
#
# Type: string
#
#DefaultTimeZone =

Ы ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118124
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше.
#
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# Default session or client time zone.
#
# If empty, the default is the OS time zone.
# When set in the server, it defines the default session time zone for attachments.
# When set in the client, it defines the default time zone used with client-side API functions and
# the default value of isc_dpb_session_time_zone.
#
# Type: string
#
#DefaultTimeZone =
Ы ?
Сейчас важный вопрос, ответ на который я не смог найти в гугле (находил только противоречащие друг другу варианты).

Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118126
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Сейчас важный вопрос, ответ на который я не смог найти в гугле
А запустить сервер в виде приложения в одном сеансе (одного пользователя) со своим часовым поясом, а клиента в другом сеансе (другого пользователя) с другим часовым поясом и практически проверить?

P.S.
По логике: если клиент не прислал (свой) часовой пояс и, если серверу часовой пояс тоже не задан, то какой у сервера остаётся выбор?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118130
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
если клиент не прислал (свой) часовой пояс
А как же цитата из документации
# If empty, the default is the OS time zone.
?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118139
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента?
Если клиент сам не отправляет isc_dpb_session_time_zone при коннекте, то сервер понятия не имеет о локальном времени клиента.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118142
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
ъъъъъ,

сдается мне, тест кривой. Во-первых, какая архитектура сервера? У SS сборка мусора фоновая, у SC/CS - явная.


В SS она по умолчанию комбинированная.

kdvДальше, кто будет собирать мусор от delete, если ничего кроме delete/insert в таблице не происходит?


по идее delete и должен был собрать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118143
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента?
Если клиент сам не отправляет isc_dpb_session_time_zone при коннекте, то сервер понятия не имеет о локальном времени клиента.
Спасибо.
Ну тогда да, нормально.
Желательно об этом было бы еще написать и здесь 22406364 в комментарии к параметру в конфе, а то там выглядит так, что этот параметр одинаково работает и для сервера, и для клиента.

Так, одну неразрешимую проблему вроде решили :), осталось научиться делать НЕ_ReadConsistency транзакции при настройках в конфе по умолчанию :)
...
Рейтинг: 0 / 0
25 сообщений из 371, страница 4 из 15
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]