Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возврат списка из UDF / 25 сообщений из 34, страница 1 из 2
26.12.2016, 15:55
    #39375390
seertrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Добрый день!

Есть функция (XE7), возвращает список файлов хранилища, т.е. объект TStringList.
Как его вернуть в Firebird (3.0 если что)?

Кроме как строка разделенная чем-то (; или |) ничего на ум не приходит.
Прямо клиника какая-то!
Есть вероятность что строки может не хватить, а это уже BLOB, не точ ни с ним проблемы, но внутри БД его уже не разберешь.

Приму на грудь любые советы. :-)

P.S. Приму пинок в сторону документации о UDR, в официальной вообще 0.
...
Рейтинг: 0 / 0
26.12.2016, 16:01
    #39375396
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrueЕсть функция (XE7), возвращает список файлов хранилища, т.е. объект TStringList.
Как его вернуть в Firebird (3.0 если что)?
Лучше смотри в сторону udr.

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

П.С. Что такое "файлы хранилища"?
...
Рейтинг: 0 / 0
26.12.2016, 16:10
    #39375409
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrue,

документации по UDR пока нет, можно в исходниках примеры глянуть. Планирую написать статью, но позже.
Ты попробуй написать, если что не будет получаться спроси здесь, поможем.
...
Рейтинг: 0 / 0
26.12.2016, 16:32
    #39375425
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrueКак его вернуть в Firebird (3.0 если что)?
А назачем он в Firebird? Совершенно он там ни к чему.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2016, 16:34
    #39375428
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Симонов ДенисТы попробуй написать, если что не будет получаться спроси здесь, поможем.+1
...
Рейтинг: 0 / 0
26.12.2016, 20:03
    #39375581
seertrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
wadmanseertrueЕсть функция (XE7), возвращает список файлов хранилища, т.е. объект TStringList.
Как его вернуть в Firebird (3.0 если что)?
Лучше смотри в сторону udr.

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

П.С. Что такое "файлы хранилища"?

Я и смотрю туда, UDR. Но знаете трудно начать имея ноль информации!
За идею спасибо, была подобная мысль.

Теперь о хранилище. Да, это примерно список папки "мои документы". В системе есть куча чертежей и прочей технической информации, держать их в BLOB несколько накладно и, как мне кажется, не рационально, даже если этой графики не будет системе не потеряет поребительских свойств. да и с точки зрения резервирования проще.
...
Рейтинг: 0 / 0
26.12.2016, 20:06
    #39375585
seertrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Симонов Денисseertrue,

документации по UDR пока нет, можно в исходниках примеры глянуть. Планирую написать статью, но позже.
Ты попробуй написать, если что не будет получаться спроси здесь, поможем.

Хоть в двух словах сам принцип расскажите.
и ткните носом в примеры.
...
Рейтинг: 0 / 0
26.12.2016, 20:45
    #39375611
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
...
Рейтинг: 0 / 0
26.12.2016, 20:50
    #39375615
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrue, Di_LIne

Перестаньте вести себя как два флудераста.
По сабжу - а почему не хранить отдельными
строками, обычным 1-N?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2016, 20:59
    #39375623
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Гаджимурадов РустамПо сабжу - а почему не хранить отдельными строками, обычным 1-N?

А с чего ты взял, что он это полученное собирается хранить? Он же так и не ответил на мой
вопрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2016, 21:04
    #39375628
seertrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Гаджимурадов Рустамseertrue, Di_LIne

Перестаньте вести себя как два флудераста.
По сабжу - а почему не хранить отдельными
строками, обычным 1-N?



Они и хранятся строками, в таблице.
Иногда требуется синхронизация того что в таблице, и того что на диске, в хранилище. Как соблюдение некой целостности БД.
...
Рейтинг: 0 / 0
26.12.2016, 21:17
    #39375636
seertrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Если вернуться к вопросу "зачем", то он прост как сатиновые трусы, заказчику так хочется: хранить графику отдельно от БД.
...
Рейтинг: 0 / 0
26.12.2016, 21:29
    #39375639
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrueзаказчику так хочется: хранить графику отдельно от БД.
Хочется - храни.
Нужно синхронизировать - синхронизируй демоном. Хоть по расписанию, хоть по пинку от
файловой системы. UDF/UDR-то тут при чём? Они-то точно не имеют возможности подписаться на
уведомления об изменении каталога.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2016, 22:55
    #39375680
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrue> Они и хранятся строками, в таблице.
seertrue> Иногда требуется синхронизация

И? Проблема в чем? Получить значения и
записать их строками в таблицу вы можете.
Проблема в поиске [не]соответствий двух
"списков" (наборов записей) в БД или что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.12.2016, 08:33
    #39375778
seertrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
> Нужно синхронизировать - синхронизируй демоном.

Это хорошая мысль.

> UDF/UDR-то тут при чём? Они-то точно не имеют возможности подписаться на уведомления об изменении каталога.

как минимум два приложения работают с БД, одно из них через сервис REST. Вот и хотелось бы одинаковое поведение для всех, а это демон, UDF, а лучше UDR.
...
Рейтинг: 0 / 0
27.12.2016, 09:07
    #39375783
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrueкак минимум два приложения работают с БД, одно из них через сервис REST. Вот и хотелось бы одинаковое поведение для всех, а это демон, UDF, а лучше UDR.
Служба лучше. Она отловит изменения, занесет в базу и отправит ивент слушателям.
Постоянное поддержание актуальности содержимого для всех подключенных клиентов.
...
Рейтинг: 0 / 0
27.12.2016, 10:52
    #39375867
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
wadmanСлужба лучше. Она отловит изменения, занесет в базу и отправит ивент слушателям.
Постоянное поддержание актуальности содержимого для всех подключенных клиентов.
Таки мене интересно было бы на такое взглянуть на приличных объемах картинок.
В дохрельярдах штук пикчей и йоптабайтах их объёму.
Живое реализованное есть али так, хватназии разума за 5 сек до проснуться? ;-)
...
Рейтинг: 0 / 0
27.12.2016, 10:56
    #39375871
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Di_LIneВ дохрельярдах штук пикчей и йоптабайтах их объёму.
При чем здесь объем?

Остальное есть тут: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365261(v=vs.85).aspx

Это называется "инкрементальное обновление", в любом случае лучше, чем на каждый чих перечитывать всю папку/папки. Или суть "а поболтать"?
...
Рейтинг: 0 / 0
27.12.2016, 11:56
    #39375902
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
wadmanИли суть "а поболтать"?
Завязывай давать советы не зная ни объёмов, ни хотя бы предметной области.

Прикинь, скока чертежей делается на хотя бы на одно изделие "УралВагонМаш". :-)))
Скока их модифицируется, дорабатывается, изменяется за "время жизни" изделия.
А это не самое еще производство и КБ.

Хотя понимаю, что понтов ради и набития себе цены, можно хранить все чертежи и в конторе типа... "Ритуальные услуги". :-)

Имха по первому посту - второй варьянт более реален.
...
Рейтинг: 0 / 0
27.12.2016, 12:14
    #39375912
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Di_LIneЗавязывай давать советы не зная ни объёмов, ни хотя бы предметной области.
Где-то они тут были описаны?

Чем вариант с частичным обновлением хуже полного сканирования тех-же тысяч клиентов миллионов килобайтов в файловой системе по каждому чиху (там ведь такие объемы у ТС)?
...
Рейтинг: 0 / 0
27.12.2016, 12:41
    #39375942
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
wadmanГде-то они тут были описаны?
Чем вариант с частичным обновлением хуже полного сканирования....
1. Здравая появилась мысля.
2. Тем, что ТС орет (черным по белому) в первом посте "У меня есть Решение, но не знаю как его реализовать!".
Хотя любому мало-мальски прогеру запихать TStringList на вход FB - как АлиЕкспрессе чё-нить купить. :-)
На это могу только процитировать самого же ТС-а из первого поста:
seertrueПрямо клиника какая-то!

По этому сразу видно, что или развод, или глум, что не далеко друг от друга лежит.


PS. Глыбше читай чё НЕ дописывают в постах, а не кидайся с катаной на-голо "Я вам все задачки перерешаю наф на раз-два". ;-)
...
Рейтинг: 0 / 0
27.12.2016, 13:02
    #39375974
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
seertrueПрямо клиника какая-то!
СтрингЛист из удф еще та клиника.

По уму-то всё таки блобы, либо клиенты сами регистрируют свои файлы.
Негоже субд заниматься сканированием файловой системы в любом виде.

Di_LInePS. Глыбше читай чё НЕ дописывают в постах, а не кидайся с катаной на-голо "Я вам все задачки перерешаю наф на раз-два". ;-)
Что читай, что не читай между строк.
Всегда найдутся противники.
Там м7м булькал, тут - ты.
...
Рейтинг: 0 / 0
27.12.2016, 13:16
    #39375992
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
wadmanНегоже субд заниматься сканированием файловой системы в любом виде.
По этому все гуры и промолчали.

wadmanЧто читай, что не читай между строк.
Всегда найдутся противники.
Там м7м булькал, тут - ты.
- А ни чё!
Вона, дворян розгами воспитывали, заметь - на законных основаниях, и ни кому оно не повредило в плане ума. :-)

PS:
1. За одного недобитого 3-х битых дают. ;-)
2. Всё, молчу-молчу... :-)
...
Рейтинг: 0 / 0
27.12.2016, 13:31
    #39376011
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Di_LIneТаки мене интересно было бы на такое взглянуть на приличных объемах картинок.
В дохрельярдах штук пикчей и йоптабайтах их объёму.
А у тебя есть такое под рукой?

Di_LIneЖивое реализованное есть али так, хватназии разума за 5 сек до проснуться? ;-)
Для начала допили напильничком (в плане смены каталога, за которым следить) приложенное и посмотри: свалится ли оно хоть раз с сообщением "not enough buffer".
...
Рейтинг: 0 / 0
27.12.2016, 13:39
    #39376024
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат списка из UDF
Dimitry SibiryakovА у тебя есть такое под рукой?

В объемах - таки да, но ессессено совсем с другой схемой реализации.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возврат списка из UDF / 25 сообщений из 34, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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