DFD, CacheTPSABC - не понял
Добавлено: 23 Май 2019, 19:01
CSTRING оно и есть
Место общения программистов, форум разработчиков БД на Clarion
https://www.forum.clarionlife.net/
CSTRING оно и есть
Нет уверенности, что хранится будет строка переменной длины. Во-вторых, кто-нибудь пользует этот тип в tps? То, что при импорте скульных таблиц в словарь Кларион даёт строкам тип CSTRING, ничего не значит. И SV рекомендует использовать этот тип для совместимости с внешними файлами и процедурами:CSTRING declares a character string terminated by a null character (ASCII zero). The memory assigned to the CSTRING is initialized to a zero length string unless the AUTO attribute is present.
CSTRING matches the string data type used in the "C" language and the "ZSTRING" data type of the Btrieve Record Manager. Storage and memory requirements are fixed-length, however the terminating null character is placed at the end of the data entered. CSTRING should be used to achieve compatibility with outside files or procedures.
И, в-третьих, не слишком удобный тип для работы. Есть отличия от обычного String, например, slicing-операции.CSTRING should be used to achieve compatibility with outside files or procedures.
Согласен, строки обрезаются. Похоже хранится так - обрезанная строка + количество пробелов до конца. Упаковки в общем случае нет. Это STRING. А вот CSTRING не режется, хранятся полностью.finsoftrz писал(а): 23 Май 2019, 17:52 Я думал, что кларионисты это все знают... В tps всегда записи переменной длины. Информация автоматически упаковывается.
Ну мы используем, у нас же одинаковая база для tps и для MS SQL, поэтому в SQL все в varchar а в tps все в cstring, причем переменные строковые внутри программы в основном тоже в cstring, чтоб клиповать поменьше. fixed-length это не хранение всей строки, это означает, что строка должна иметь заданный (максимальный) размер, а не быть переменной длины "сколько-то там до null"
Откуда взяли то? STRING в tps упаковываются, а не просто обрезаются. Точно алгоритм не скажу, не интересовался. Типа кодирования и замены повторяющихся символов. Если действительно нужно, поищите в архивах переписки, обсуждалось когда-то.kreator писал(а): 24 Май 2019, 10:56Согласен, строки обрезаются. Похоже хранится так - обрезанная строка + количество пробелов до конца. Упаковки в общем случае нет. Это STRING. А вот CSTRING не режется, хранятся полностью.finsoftrz писал(а): 23 Май 2019, 17:52 Я думал, что кларионисты это все знают... В tps всегда записи переменной длины. Информация автоматически упаковывается.
Просто взял и посмотрел. Для сведения - CSTRING:finsoftrz писал(а): 24 Май 2019, 11:33 Откуда взяли то? STRING в tps упаковываются, а не просто обрезаются.