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

Откуда: Новосибирск
Сообщений: 25
Здравствуйте, уважаемые!

Никак не могу понять одну вещь про сборку мусора в базе.

Дано: FB 2.5. SS или FB 3.0 SS, один коннект, две таблицы Tbl1 и Tbl2, три транзакции Tr1 (пишущая), Tr2 и Tr3 (только чтение)

Действия:
1. в Tr3 делаем select * from Tbl2, транзакция остается висеть.
2. В Tr1 пишем много записей в таблицу Tbl1, коммитим Tr1
3. Делаем много разных чтений из Tbl1 в Tr2
4. Удаляем из нее все записи опять в Tr1, коммитим Tr1
5. Коммитим Tr2. Для очистки мусора делаем select * from Tbl1 в Tr2, снова коммитим Tr2

Теперь если повторять шаги 2-5, то с каждым циклом они выполняются все медленнее и медленнее, из-за чего делаю вывод, что мусор не собирается.
Но почему? Единственная незакомиченная транзакция в базе - Tr3 и ее таблица Tbl1 никак не интересует

И дело явно в Tr3, так как если ее закоммитить в первом шаге или вообще первый шаг не делать, то сколько бы не было циклов 2-5 они выполняются примерно за одно и то же время.

Не знаю, важно или нет:
1. Tbl1 - таблица временная на коннект, Tbl2 - постоянная.
2. Наличие/отсутствие запросов select * from Tbl2 в незакомиченных транзакциях из другого коннекта никак не влияют на скорость выполнения цикла.
19 сен 19, 08:07    [21973811]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
bsv9
Member

Откуда:
Сообщений: 44
VerLeon,
Но почему? Единственная незакомиченная транзакция в базе - Tr3 и ее таблица Tbl1 никак не интересует

Судя по всему, Вы думаете будто транзакции "привязаны" к конкретным таблицам (, которые были в них прочитаны ил изменены). Это не верно. Транзакции оказывают влияние на все без исключения таблицы базы. Даже если бы вы в просто стартовали Tr3 и ничего в ней не читали, то мусор бы точно так же накапливался.
19 сен 19, 08:23    [21973819]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
bsv9
VerLeon,
Но почему? Единственная незакомиченная транзакция в базе - Tr3 и ее таблица Tbl1 никак не интересует

Судя по всему, Вы думаете будто транзакции "привязаны" к конкретным таблицам (, которые были в них прочитаны ил изменены). Это не верно. Транзакции оказывают влияние на все без исключения таблицы базы. Даже если бы вы в просто стартовали Tr3 и ничего в ней не читали, то мусор бы точно так же накапливался.


Очевидно, что я что-то недопонимаю в сборке мусора, но если бы Tr3 была пишущей или snapshot, но она read и read_committed - с чего ее должны интересовать старые версии записей всех таблиц в базе?
19 сен 19, 08:41    [21973831]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
bsv9
Member

Откуда:
Сообщений: 44
автор
Теперь если повторять шаги 2-5, то с каждым циклом они выполняются все медленнее и медленнее, из-за чего делаю вывод, что мусор не собирается.

А точно накапливается? Посмотрите точно количество версий до и после эксперимента:
gstat  -d -r server:database | grep version
19 сен 19, 08:54    [21973843]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10129
VerLeon
5. Коммитим Tr2. Для очистки мусора делаем select * from Tbl1 в Tr2, снова коммитим Tr2


как минимум надо было
select count(*) from Tbl1
в противном случае нет никаких гарантий, что ты прочёл таблицу целиком
19 сен 19, 09:19    [21973868]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
выдал по этой таблице

Average version length: 0.00, total versions: 0, max versions: 0

еще до попытки сборки мусора
но не думаю, что он может выдать что-то вразумительное про временную таблицу
19 сен 19, 09:21    [21973870]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
Симонов Денис
VerLeon
5. Коммитим Tr2. Для очистки мусора делаем select * from Tbl1 в Tr2, снова коммитим Tr2


как минимум надо было
select count(*) from Tbl1
в противном случае нет никаких гарантий, что ты прочёл таблицу целиком


Да дело не в этом точно (кстати, вроде как раз count(*) теперь мусор не собирает, так как собственно в записи не лезет)
Сборка мусора прекрасно происходит запросом и select *, если при этом не висит Tr3
19 сен 19, 09:24    [21973873]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10129
VerLeon
Да дело не в этом точно (кстати, вроде как раз count(*) теперь мусор не собирает, так как собственно в записи не лезет)


собирает. count просто в некоторых случаях не распаковывает запись, но видимость версий проверяется в любом случае. Если версия не видна и её можно удалить, то она удаляется


VerLeon
Сборка мусора прекрасно происходит запросом и select *


в данном случае да, ибо перед этим делается delete всех записей
19 сен 19, 09:33    [21973881]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
Симонов Денис
VerLeon
Да дело не в этом точно (кстати, вроде как раз count(*) теперь мусор не собирает, так как собственно в записи не лезет)


собирает. count просто в некоторых случаях не распаковывает запись, но видимость версий проверяется в любом случае. Если версия не видна и её можно удалить, то она удаляется


VerLeon
Сборка мусора прекрасно происходит запросом и select *


в данном случае да, ибо перед этим делается delete всех записей


Да, согласен, не учел, что мне надо собрать мусор по полностью пустой таблице.
Но в данном случае без разницы.

Что-то мне кажется, что проблема именно в том, что Tbl1 - временная на коннект, вот только почему от этого такой эффект...
19 сен 19, 09:47    [21973899]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

включи трассировку и посмотри что происходит. Заодно будет видно с какими действительно параметрами стартуют транзакции.
19 сен 19, 09:53    [21973909]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
hvlad
Member

Откуда:
Сообщений: 10654
VerLeon
Очевидно, что я что-то недопонимаю в сборке мусора, но если бы Tr3 была пишущей или snapshot, но она read и read_committed - с чего ее должны интересовать старые версии записей всех таблиц в базе?
Для GTT это не имеет значения, ибо в них можно писать и в RO тр-циях.
19 сен 19, 10:47    [21973959]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
hvlad
VerLeon
Очевидно, что я что-то недопонимаю в сборке мусора, но если бы Tr3 была пишущей или snapshot, но она read и read_committed - с чего ее должны интересовать старые версии записей всех таблиц в базе?
Для GTT это не имеет значения, ибо в них можно писать и в RO тр-циях.


О как.. Т.е. чтобы собрать мусор в GTT нужно сначала завершить вообще все транзакции в коннекте?
Печально...
Придется видимо операции с ними выносить в отдельный коннект
19 сен 19, 11:05    [21973978]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
hvlad
Member

Откуда:
Сообщений: 10654
В данном сценарии не вижу - зачем GTT создана как ON COMMIT PRESERVE ROWS
19 сен 19, 11:11    [21973989]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8405
VerLeon
Придется видимо операции с ними выносить в отдельный коннект
Еще есть
ON COMMIT DELETE ROWS
19 сен 19, 11:25    [21974010]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
bsv9
Member

Откуда:
Сообщений: 44
hvlad
Для GTT это не имеет значения, ибо в них можно писать и в RO тр-циях.

Поясните, пож, для чего это не имеет значения?

Я не удержался и попробовал: при наличии висящей читающей транзакции, массово пишу и изменяю данные в GTT. Не важно, в пишущей или в читающей транзакции я модифицирую GTT, версии записи не накапливаются. Мусор не копится на любых GTT - и на "ON COMMIT PRESERVE ROWS" и на "ON COMMIT DELETE ROWS".

То есть, мне, вообще, не удается повторить сценарий VerLeon. Не копится мусор, ни при каких условиях.
19 сен 19, 11:32    [21974015]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
bsv9
Member

Откуда:
Сообщений: 44
Да, я тестировал на версии 3.0.5.
19 сен 19, 11:36    [21974023]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
hvlad
В данном сценарии не вижу - зачем GTT создана как ON COMMIT PRESERVE ROWS


Ну это упрощенное описание, на самом деле на шагах 2-4 делается много всего и долго и не хотелось иметь длинную пишущую транзакцию, поэтому делалось по классике: писалось все короткими транзакциями, а читалось другой, RO
Но не учитывался вот этот факт:

hvlad
ибо в них можно писать и в RO тр-циях


Сейчас попробую выделить всю работу с GTT (и запись и чтение) в одну RO-транзакцию и сделать их DELETE ROWS.
19 сен 19, 11:46    [21974041]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
bsv9
Да, я тестировал на версии 3.0.5.


У меня 3.0.2 и 2.5.7 - поведение одинаковое. Да и вряд ли что-то в 3.0.5 поменялось, раз Влад говорит, что это нормально.
19 сен 19, 13:37    [21974214]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

Влад не сказал, что это нормально. Он намекнул, что если ты в Tr1 только пишешь во временную таблицу и не пишешь в постоянные, то смысла делать транзакцию write нет.
19 сен 19, 13:56    [21974259]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
Переделал все на DELETE ROWS с чтением/записью в них в RO транзакции - проблемы больше нет.
Ну и не удивительно, с такими GTT проблемы с мусором быть и не может, главное что RO транзакция отработала.

Влад, спасибо за наставление на путь истинный! :)
19 сен 19, 13:56    [21974260]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
Симонов Денис
VerLeon,

Влад не сказал, что это нормально. Он намекнул, что если ты в Tr1 только пишешь во временную таблицу и не пишешь в постоянные, то смысла делать транзакцию write нет.


Ну логично, что если RO может писать в GTT, то и мусор из нее не соберется, даже если висит только эта RO

в Tr1 я конечно не только во временную писал, это упрощенный пример, на самом деле там куча всего. Пришлось разделять, но в итоге проблема ушла и стало еще быстрее.
19 сен 19, 13:59    [21974266]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
Хм, а всё же - нормально это или нет?
Не окажется ли, что это в ближайших релизах FB посчитают ненормальным и моя схема с писанием в GTT c помощью RO транзакции накроется?
19 сен 19, 15:40    [21974387]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 486
В первых релизах 2.5 в RO транзакции нельзя было писать в GTT, потом разрешили.
У меня вся логика длительных вычислений построена на GTT+RO
19 сен 19, 15:49    [21974399]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8405
VerLeon
Не окажется ли, что это в ближайших релизах FB посчитают ненормальным
Все идет у тому, что пишущая ридкоммитед транзакция перестанет копить мусор и RO перестанет быть столь актуальной. Так что, если перестанет писать в RO (что мне не кажется правильным, вполне нормально в RO режиме сделать некие "пометки на полях" база же не меняется) сменишь на RW.
19 сен 19, 15:50    [21974402]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

всё зависит от того как построено приложение. В 4.0 если в Read Committed будет недофетченный курсор, то будет удерживать версии, но теперь только те что видны ей, а не всю цепочку. А RO или RW уже по фигу
19 сен 19, 17:09    [21974504]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
VerLeon
Member

Откуда: Новосибирск
Сообщений: 25
Ivan_Pisarevsky
VerLeon
Не окажется ли, что это в ближайших релизах FB посчитают ненормальным
Все идет у тому, что пишущая ридкоммитед транзакция перестанет копить мусор и RO перестанет быть столь актуальной. Так что, если перестанет писать в RO (что мне не кажется правильным, вполне нормально в RO режиме сделать некие "пометки на полях" база же не меняется) сменишь на RW.


Ну не все так просто. В большом приложении транзакций много и в частности в том, которое досталось мне, долго выстраивали классику (пишем в коротких пишущих, читаем только в RO) . А потом часть таблиц перевели на GTT. А потом... И потом.. На что я и напоролося. Собственно не проблема конечно сделать RW - в плане трудоемкости, но чем это аукнется в плане скорости - хз, а это очень критичный сегмент приложения и боюсь придется переписывать заново.
20 сен 19, 06:10    [21974862]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Dimitry Sibiryakov
Member

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

VerLeon
долго выстраивали классику (пишем в коротких пишущих, читаем только в RO) . А потом часть
таблиц перевели на GTT. А потом... И потом..

А потом приходят естественные последствия использования паттернов вместо мозга.

По-моему, уже пора начать выкашивать из интернета эту "классику" как вредный совет.

Posted via ActualForum NNTP Server 1.5

20 сен 19, 11:04    [21975035]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

Дима, людям не так просто уйти от концепции Датасетов. А там этот совет является хорошим воркароундом.

Предлагать при работе с ними что-то другое до выхода 4-ки считаю рановато.
Да и когда выйдет, надо бы обкатать новые решения.
Сейчас оно типа попробовал, ну работает. Но реальной промышленной эксплуатации ещё не было.

У тебя есть другие работающие решения? Ну так поделись ими с общественностью
20 сен 19, 11:18    [21975042]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Dimitry Sibiryakov
Member

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

Симонов Денис
У тебя есть другие работающие решения? Ну так поделись ими с общественностью

Транзакция на форму/датасет/запрос. Живёт сколько нужно, гарантированно закрывается когда
не нужна (в отличии от единой транзакции, валяющейся в датамодуле). Это рецепт для
мышевозников, неспособных написать процедуры класса "Загрузить документ" и "Сохранить
документ".

Posted via ActualForum NNTP Server 1.5

20 сен 19, 12:29    [21975160]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30624

а если посмотреть невооруженным взглядом, шо творятЪ с FB жабисты, со своими всякими ORM-ами...
ваще писец!

Posted via ActualForum NNTP Server 1.5

20 сен 19, 12:34    [21975172]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

а это...
Ну так и сейчас на форме делается одна RC RO для чтения в гридах и одна snapshot для редактирования.
Я то думал ты против чего-то ещё протестуешь, а ты зацепился за слово "одну" да ещё и в контексте глобального датамодуля.
20 сен 19, 12:36    [21975177]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10129
Мимопроходящий,

у жабистов как раз с долгими транзакциями обычно проблем нет. Чтобы они появились это надо сильно постараться натягивать Delphi архитектуру в жабу
20 сен 19, 12:38    [21975179]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30624

да при чем тут транзакции.
речь об "использования паттернов вместо мозга".
у жабистов с этим строго...

Posted via ActualForum NNTP Server 1.5

20 сен 19, 12:41    [21975187]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10129
Мимопроходящий,

а... ну с паттернами да. Есть такое дело. Впрочем паттерны, как и ORM, в некоторых случаях не так плохи, но нужно понимать когда их уместно применять, а когда нет.
А вот натягивать один единственный паттерн на все случаи жизни уже признак не желания думать
20 сен 19, 12:45    [21975193]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Dimitry Sibiryakov
Member

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

Симонов Денис
Ну так и сейчас на форме делается одна RC RO для чтения в гридах и одна snapshot для
редактирования.

Нет, сейчас (кажется, даже по твоему рецепту) читающая транзакция пихается в глобальный
датамодуль и к ней привязываются вообще все датасеты. Что и создаёт проблему с её временем
жизни.

Posted via ActualForum NNTP Server 1.5

20 сен 19, 13:08    [21975222]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

я в исходниках сей рецепт заменил, в книжке тоже. Кстати по твоему совету.
Оно разве что в статье висеть осталось.
20 сен 19, 13:13    [21975232]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30624

20.09.2019 13:08, Dimitry Sibiryakov пишет:
> Нет, сейчас (кажется, даже по твоему рецепту) читающая транзакция пихается в глобальный
> датамодуль и к ней привязываются вообще все датасеты. Что и создаёт проблему с её временем
> жизни.

оно с момента создания FIB+ повелось.
как best practice.

Posted via ActualForum NNTP Server 1.5

20 сен 19, 13:14    [21975235]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Arioch
Member

Откуда:
Сообщений: 11041
Так официально-то проблем как раз не было.

А потом оказалось, что блобы текут.
Ещё потомее оказалось, что GTT как-то умудряются версии держать.
20 сен 19, 16:53    [21975596]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Dimitry Sibiryakov
...читающая транзакция пихается в глобальный
датамодуль и...

Господа, новички почти всегда ищут "рабочие примеры", а старички держатся за привычки ("я так всегда делал, и нормально"), никуда от реальности мира не деться.

Напишите кто-нибудь статью, "как надо говнокодить", и стадо дружно побредет в указанном направлении.
20 сен 19, 18:08    [21975653]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30624

20.09.2019 18:08, ёёёёё пишет:
> Напишите кто-нибудь статью, "как надо говнокодить", и стадо дружно побредет в указанном направлении.

да щаззз!
то что ты называешь "стадом" статьи не читает.
никакие и ни про что.
максимум - видеоролики.

Posted via ActualForum NNTP Server 1.5

20 сен 19, 18:16    [21975657]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60310
Напишите видеоролик. С котиками в начале и в конце.

Posted via ActualForum NNTP Server 1.5

20 сен 19, 19:19    [21975686]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Мимопроходящий
20.09.2019 18:08, ёёёёё пишет:
> Напишите кто-нибудь статью, "как надо говнокодить", и стадо дружно побредет в указанном направлении.

да щаззз!
то что ты называешь "стадом" статьи не читает.
никакие и ни про что.
максимум - видеоролики.

Коллега Rik целую систему программирования создал, уверенный в верности исходного паттерна (вечная RO и короткая RW транзакция) : https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1049868&msg=17464015

Он где-то хватанул информацию, проверил на паре тестов - схема рабочая, и всё, к следующей задаче переключился. Обычный режим работы прикладника, мне так кажется.
Я когда-то все статьи с ibase и доступную документацию скачал и распечатал для изучения, а теперь только релизноты почитываю, ибо куча иных дел накопилась... и то же самое - пользуюсь наработанными паттернами, на основе прежде всего упомянутых статей, примеров с почившего Devrace да книжки уважаемого Ковязина-Вострикова.
За последнее время по разработке софта с FB и статей новых не было, кмк, одна на хабре была, да и та неинтересная(про фаердак, тьфу).
20 сен 19, 20:24    [21975720]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 654
Мимопроходящий
оно с момента создания FIB+ повелось.
как best practice.


Раньше. С того момента как Баба Аня эту фичу со стартом RO RC в состоянии commited придумала.
20 сен 19, 23:03    [21975804]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28304
ёёёёё
пользуюсь наработанными паттернами

у меня наоборот - паттерны для вещей, которые НЕ надо делать.
21 сен 19, 11:58    [21975903]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

а чем тебе FireDac не нравится? Про Fib+ и IBX и так уже всё написано. Так что писалось про компоненты которые сейчас в поставке Delphi
21 сен 19, 14:15    [21975952]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Симонов Денис
Про Fib+ и IBX и так уже всё написано.

Где оно, что уже написано?
Все статьи с Devrace недоступны.
Может быть, кто-то сохранил их examle -pack? Добавьте на гитхаб, пожалуйста. https://github.com/madorin/fibplus
21 сен 19, 15:00    [21975971]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

http://www.ibase.ru/ibx/
этого не достаточно?
21 сен 19, 15:04    [21975975]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Симонов Денис
ёёёёё,

http://www.ibase.ru/ibx/
этого не достаточно?

Ну там же ничего нет.
21 сен 19, 15:11    [21975979]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
ёёёёё
Симонов Денис
Про Fib+ и IBX и так уже всё написано.

Где оно, что уже написано?
Все статьи с Devrace недоступны.
Может быть, кто-то сохранил их examle -pack? Добавьте на гитхаб, пожалуйста. https://github.com/madorin/fibplus

Вот.
Часть1
Часть2
21 сен 19, 15:15    [21975981]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
ёёёёё
Симонов Денис
ёёёёё,

http://www.ibase.ru/ibx/
этого не достаточно?

Ну там же ничего нет.

Я про "рекомендуемые паттерны", если что, с которых начинали разговор.
21 сен 19, 15:18    [21975983]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Dimitry Sibiryakov
Member

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

ёёёёё
Я про "рекомендуемые паттерны"

Рекомендация: паттерны использовать не рекомендуется.

Use brain, Luke!

Posted via ActualForum NNTP Server 1.5

21 сен 19, 15:26    [21975989]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
Симонов Денис
Member

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

это не паттерны. Это демонстрационные примеры для FibPlus.
Такие примеры должны делать сами производители компонентов.
21 сен 19, 15:27    [21975990]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про сборку мусора  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Симонов Денис
ёёёёё,

это не паттерны. Это демонстрационные примеры для FibPlus.
Такие примеры должны делать сами производители компонентов.

В топике пересекаются разеые вопросы, путаница в итоге.
21 сен 19, 16:57    [21976009]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Firebird, InterBase Ответить