powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Sql Storage Map - доступ к индексам
21 сообщений из 21, страница 1 из 1
Sql Storage Map - доступ к индексам
    #34572416
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно ли определить собственную процедуру доступа к индексам?
И сразу второй вопрос - кто знает где лежит описание вообще работы с этими Storage? ( Using Caché Studio - Storage Definitions не предлагать)
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34573011
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвозможно ли определить собственную процедуру доступа к индексам?
Кто-нибудь понимает эту фразу? Поясните

авторИ сразу второй вопрос - кто знает где лежит описание вообще работы с этими Storage?
посмотрите глобалы odd*, например oddCOM, oddMAP
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34573040
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вариант - сделайте таблицу с индексами,
сделайте программу из одной строки
&sql(select * from table1 where prop1=value1)
и посмотрите int-код. Там вы увидите, что каше просто преобразует запрос в m-код.
Данные о том, какой m-код делать, компилятор берет кажется из oddCOM (но это не утверждаю).

Или ваш вопрос был о другом?
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34573311
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть проблемы состоит в том, что с 1937 года осталась структура хранения которую изменить невозможно, но хочется иметь объектный и SQL доступ.
и если на структуру данных можно натянуть определение класса
то индексы, здесь, хранятся в совершенно чуждой буржуазии структуре:
^Индекс("Имя_Индекса" , значение_индекса , Служебные_данные , ID)
(тогда как родной индекс хранится в формате: ^Индекс("Имя_Индекса",значение_индекса , ID) )

Хочу заставить Cache писать индекс в нужный мне глобал и в нужном формате.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34573323
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.
и посмотрите int-код. Там вы увидите, что каше просто преобразует запрос в m-код.
Данные о том, какой m-код делать, компилятор берет кажется из oddCOM (но это не утверждаю).


Можно попробовать, но это будет через зад, а хочется чистого. Свято верю в Sql Storage Map, но информация скудна.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34573582
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит не предлагать ?

Если открыть хранение не через Вид - а через брайзер свойств (Alt-2 кажись) - там хранение - там map там [...] то открывается мастер анологичный 4-шному.

Там индексные карты и определяют.... Как они заполняться будут нужно смотреть - но в крайнем случае создается три триггера где пишется своя логика ....

Пара стаааарых примеров - например в pdf-ке SqlStorage.pdf
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34574213
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
u78^Индекс("Имя_Индекса" , значение_индекса , Служебные_данные , ID)
Если то что обозначено как "значение_индекса" и "Служебные_данные" это значения атрибутов, то это составной индекс по этим полям.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34574356
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnЧто значит не предлагать ?
я имел в виду раздел справки InterSystems, там скудно.

PtnТам индексные карты и определяют.... Как они заполняться будут нужно смотреть - но в крайнем случае создается три триггера где пишется своя логика ....
записать то можно куда хочешь, а могу я сам определить процедуру поиска ID по какому то индексу?

Ptn Пара стаааарых примеров - например в pdf-ке SqlStorage.pdf
это просмотрел первым делом, но с тех пор здорово поменялся интерфейс определения этих карт, не осилил.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34575172
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>это просмотрел первым делом, но с тех пор здорово поменялся интерфейс определения этих карт, не осилил.

Разве ? (приложение)

ЗЫ: хотя откровенно говоря не пользовался
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34575692
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, главная проблема - это "Служебные_данные" в составе индекса.

Нельзя ли их сделать полем класса?
Что это за данные, можно подробнее?
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34578207
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариан, если карты натянутся на глобал данных, но не натянутся на глобал индексов - сделать отдельный класс и натянуть его на глобал индексов.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34582275
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Нельзя ли их сделать полем класса?
Так и сделал, хотя честно сказать, не нравится.
а про служебные данные вот: все индексы всех справочников хранятся в одном большом глобале:
^Глобал(Название_индекса,значение_индекса,Справочник те самые служебные данные,ID)
где:
Название_индекса - идентификатор индекса (например "ClientIndex")
значение_индекса - значение поля по которому индексируем (например id клиента - 1101)
Справочник - индексируемый справочник (например справочник дисконтных карт у которого есть поле Client) вот это и есть служебные данные
ID - id записи индексируемого справочника (то есть ID дисконтной карты, например 101)
в этом случае индекс будет выглядеть:
^Глобал("ClientIndex",1101,"DscCard",101)
В принципе структура похожа если не считать лишнего 3 пункта. Почему и хотелось бы руками определять процедуру поиска.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34582280
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnРазве ? (приложение)
тот pdf во многом оформлен "делайте вот так а потом вот так" и отклонение дизайна даже на одно-два поля меня сбило с толку, я вообще толком не понимаю что это за карты такие.
И рассказов нет нигде про эти карты ((((((
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34612369
Rus000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
давайте пример глобала и его индекса - попробую накидать sql-storage map - много с ним накувыркался но до конца так и не понял - слишком мало информации. Судя по всему намеренно ИСЦ не хочет поддерживать серъезно этот вид стораджа
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34612636
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rus000Судя по всему намеренно ИСЦ не хочет поддерживать серъезно этот вид стораджа
А оно надо?
Наверняка было сделано для поддержания перехода от своего хранения к классовому т.с. для совместимости... Но пора и честь знать! :) Сколько уже лет Кащей гуляет постране?...
Мало того. Сами разработчики так мудрили с хранением (мы тоже не исключение) что и на словах-то его трудно описать
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34615083
Rus000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имхо, если уж заявили - то будьте любезны тщатаельно задокументировать.
Опять же управление структурой хранения в скл-сторадж более прозрачно, нежели кашесторадж.

Попробуйте сделать класс со стандартным хранением с парой свойств (A,B) . Откомпилируйте. Потом удалите одно из свойств(B) и добавьте новое (С). А теперь посморите как каша собирается хранить:

$LB(a,b,c) а не $LB(a,c) хотя мы еще продукт не выпускали в продакшн. Вроде понятно почему так а неприятно. В скл-сторадже все останется так как написано.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34615676
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по-моему, очень логично.
В поле "B" уже могут лежать данные, которые ни в коем случае не должны лежать в поле "C".
Скомпилированные SQL запросы бращаются к номеру поля, а не к его имени.
"Лишнее" поле практически не увеличивает базу

Если данных там нет, программы и классы с SQL вы котовы все перекомпилить и вы понимаете принципы хранения в каше, вы ее можете поправить структуру хранения руками на свой страх и риск - cachestorage правится также, как и sqlstorage, как мне помнится.

Также по вашей логике, если удалить из класса поле "A", то должны сдвинуться все поля ;-)?
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34615975
Rus000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не обязательно, если задать структуру полей в именованных узлах например.
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34616305
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что вы имеете ввиду?
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34616388
Rus000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в приведенном мной примере смещения не будет есди задать хранение полей в виде
^GLOBAL(ID,"A")=valA
^GLOBAL(ID,"B")=valB
^GLOBAL(ID,"С")=valC

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

Все я это говорю не имея ввид что скл-сторадж лучше стандартного, просто в нем проще контроллировать структуру хранения
...
Рейтинг: 0 / 0
Sql Storage Map - доступ к индексам
    #34616583
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разговор ведь был про $LB(a,b,c)?

Контролировать структуру хранения нужно не так часто, если вы не делаете систему полностью на чистом M. Но даже в чистом M при большом количестве полей для каждого поля делать свой узел уже неудобно. Это мое мнение

К тому же хранение каждого поля в отдельном узле, занимает лишнее место в базе и тормозит систему в целом за счет большего числа ссылок, мне так показалось по крайней мере.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Sql Storage Map - доступ к индексам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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