Страница 1 из 1
Exists(In-Memory Database Driver)
Добавлено: 19 Январь 2023, 23:46
Игорь Столяров
Привет всем !
Детский вопрос.
Можно ли по имени "файла" узнать о осуществовании таблицы In-Memory Database Driver без открытия ?
Т.е. что-то вроде:
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 10:36
ingasoftplus
Нет.
в доке все написано (вернее нет)
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 11:06
Губин Игорь
Странный вопрос. Таблица в памяти есть всегда. Она может быть закрыта или пустой.
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 11:12
Игорь Столяров
Губин Игорь писал(а): ↑20 Январь 2023, 11:06
Таблица в памяти есть всегда.
Отлично ! Теперь появился смысл и в предыдущем ответе с картинками.
Там ведь есть зачем-то оператор CREATE ...
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 11:46
Губин Игорь
Игорь Столяров писал(а): ↑20 Январь 2023, 11:12
Там ведь есть зачем-то оператор CREATE ...
Для единообразия и создания
FileExist показывает наличие
физического файла на носителе. Для IMDD это лишено смысла. А вот остальные операторы вполне логично работают.
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 11:49
Игорь Столяров
Вот лучше бы для единообразия SV реализовала Exists() для всех драйверов БД.
В принципе - и сделать самому не сложно, но есть неприятные нюансы ...
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 11:53
Игорь Столяров
Губин Игорь писал(а): ↑20 Январь 2023, 11:46
FileExist показывает наличие физического файла на носителе
FileExist() - это язык шаблонов ...
А для Exist() описание такое: Returns TRUE if the embedded source code point is available for use
Унижать переводом - категорически отказываюсь !
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 12:06
Губин Игорь
Игорь Столяров писал(а): ↑20 Январь 2023, 11:53
FileExist() - это язык шаблонов ...
Умный, да?!
Получи (с переводом
):
EXISTS - возвращает TRUE если файл
доступен на диске.
file - выражение содержащие имя файла DOS.
Кстати, RamDisk и IMDD это РАЗНОЕ!
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 12:14
Игорь Столяров
Губин Игорь писал(а): ↑20 Январь 2023, 12:06
file - выражение содержащие имя файла DOS
Тут путаница в том, что в одной деревне всех звали одинаково ...
И File{Prop:Name} - это и имя на диске, и имя в памяти и метка файла (при отсутствии имени "файла")
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 12:29
Губин Игорь
Надо отличать то, что относится к физическим файлам, а что к БД. То, что относится к БД оставлено для IMDD для совместимости.
Мы же, по привычке и из поиска лёгких путей, мешаем всё в одной куче.
Cкажем, проверить наличие файла физической БД можно через Exits, а можно, через Open - ErrorCode.
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 12:36
Игорь Столяров
Губин Игорь писал(а): ↑20 Январь 2023, 12:29
а можно, через Open - ErrorCode
Да, это понятно ... вопрос в том, что в отличии от традиционных файлов, для IMDD есть ещё аттрибут THREADEDCONTENT.
Т.е. файл на диске - он либо есть, либо его нет. А для таблицы IMDD есть зависмость от того, где выполняется проверка.
Exists(In-Memory Database Driver)
Добавлено: 20 Январь 2023, 12:56
Губин Игорь
Игорь Столяров писал(а): ↑20 Январь 2023, 12:36
А для таблицы IMDD есть зависмость от того, где выполняется проверка.
Вот потому и надо пользоваться только
правильными средствами.
А с THREADEDCONTENT есть интересный ньюанс: у меня ощущение, что создание копии IMDD происходит в момент создания THREAD, а не при первом обращении. Т.е. опять, таки, "файл" IMDD есть всегда.