Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Где бы увидеть пример класса с пользовательской стратегией хранения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2005, 14:08 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Конечно можно. Высылаю Вам ссылку на презентацию с примерами . Правда, как правило, нестандартные способы хранения используют, когда есть унаследованное приложение и нужно настроить реляционный и объектный доступ к существующим многомерным массивам (глобалам). Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2005, 13:14 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Спасибо, прочитал, но вот на практике с внедрением пока не могу врубится. Предположим есть класс «Поставки» с 4 свойствами – наименование товара, группа и подгруппа товара и количество, и есть 6 обьектов этого класса. Если сохранять «по-умолчанию», то обьекты сохраняются так: ^Naklad(1)=$lb(“Группа4”,”Подгруппа18”, “Товар5”, 30) ^Naklad(2)=$lb(“Группа2”,”Подгруппа3”, “Товар7”, 30) ^Naklad(3)=$lb(“Группа2”,”Подгруппа3”, “Товар7”, 30) ^Naklad(4)=$lb(“Группа14”,”Подгруппа2”, “Товар1”, 30) ^Naklad(5)=$lb(“Группа14”,”Подгруппа18”, “Товар33”, 30) ^Naklad(6)=$lb(“Группа14”,”Подгруппа18”, “Товар5”, 30) Хотелось бы решить такую задачу – при записи обьектов на лету вычислять и хранить еще и итоги по суммарному количеству товара по группам и подгруппам. То есть при записи 6 обьектов должна появиться какая-то такая конструкция: ^Naklad(“Группа2”)=60 ^Naklad(“Группа2”,”Подгруппа3”)=60 ^Naklad(“Группа2”,”Подгруппа3”,0)=2 - инкремент подгруппы ^Naklad(“Группа2”,”Подгруппа3”,1)=$lb(“Товар7”, 30) ^Naklad(“Группа2”,”Подгруппа3”,2)=$lb(“Товар7”, 30) ^Naklad(“Группа4”)=30 ^Naklad(“Группа4”,”Подгруппа18”)=30 ^Naklad(“Группа4”,”Подгруппа18”,0)=1 - инкремент подгруппы ^Naklad(“Группа4”,”Подгруппа18”,1)=$lb(“Товар5”, 30) ^Naklad(“Группа14”)=90 ^Naklad(“Группа14”,”Подгруппа2”)=30 ^Naklad(“Группа14”,”Подгруппа2”,0)=1 - инкремент подгруппы ^Naklad(“Группа14”,”Подгруппа2”,1)=$lb(“Товар1”, 30) ^Naklad(“Группа14”,”Подгруппа18”)=60 ^Naklad(“Группа14”,”Подгруппа18”,0)=2 - инкремент подгруппы ^Naklad(“Группа14”,”Подгруппа18”,1)=$lb(“Товар33”, 30) ^Naklad(“Группа14”,”Подгруппа18”,2)=$lb(“Товар5”, 30) Возникнет вопрос – что же будет идентификатором обьекта? И ответ бы такой: OID – это список - группа, подгруппа и инкремент подгруппы. т.е.: OID обьекта (1)=$lb(“Группа4”,”Подгруппа18”, 1) OID обьекта (2)=$lb(“Группа2”,”Подгруппа3”,1) OID обьекта (3)=$lb(“Группа2”,”Подгруппа3”,2) OID обьекта (4)=$lb(“Группа14”,”Подгруппа2”, 1) OID обьекта (5)=$lb(“Группа14”,”Подгруппа18”, 1) OID обьекта (6)=$lb(“Группа14”,”Подгруппа18”, 2) Вообще реально решить такую задачу каким-нибудь образом? Какой Cache Storage надо изучать? И вот эти методы %LoadData, %SaveData – их в Studio прямо в классе Поставки надо писать ниже свойств что-ли – дык вроде ошибки компиляции идут? Одним словом, хотелось бы включить мультидименсион. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2005, 13:25 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Для этого не стоит использовать Cache' Storage. Гораздо правильнее использовать для этой цели стандартный Storage. Чтобы получить структуру с нуля с подобной стратегией хранения можно сделать следующее: Создать класс "Товар". Поле "Группа" - ссылка на отдельный класс "Группа", Поле "Подгруппа" ссылка на отдельный класс "Подгруппа ". Создать индекс, который будет SQL Primary Key и OID по полям Группа, Подгруппа, Id. Задать правило вычисления для значения по умолчанию Id (например с помощью $Increment), чтобы не нужно было руками присваивать. Товары будут храниться в глобале, который Вы описали. Группы и Подгруппы в отдельных классах. Если есть существующие данные, то нужно использовать Cache' SQL Storage. Я точно не знаю Вашу задачу, но скорее всего можно просто сделать класс c обычным Id, ссылками на группу и подгруппу. И построить BitMap-индекс по свойствам группа и подгруппа. Количество будет вычисляться мгновенно через SQL, так как запрос будет выполняться с помощью индекса. Можно сделать с помощью встроенного SQL методы, которые будут возвращать количество товаров в каждой группе. BitMap-индексы в Cache' работают крайне эффективно и их можно применять не только в ХД, но и в OLTP-приложениях. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 01:52 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Ok! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 14:45 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
VadimF Создать индекс, который будет SQL Primary Key и OID по полям Группа, Подгруппа, Id. Задать правило вычисления для значения по умолчанию Id (например с помощью $Increment), чтобы не нужно было руками присваивать. Вадим А можно поподробнее про (например с помощью $Increment)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2007, 14:46 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Имея свое хранение данных мы как раз стремимся перейти на стандартное классовое хранение. Зачем "городить огород"? ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2007, 15:31 |
|
||
|
Где бы увидеть пример класса с пользовательской стратегией хранения?
|
|||
|---|---|---|---|
|
#18+
Меня интересует вопрос о автоматическом вычислении значения первичного ключа. Задать правило вычисления для значения по умолчанию Id (например с помощью $Increment), чтобы не нужно было руками присваивать. Я пробовал делать так: в тригере BEFORE INSERT присваивать set {ID} = {%%ID} но в этом случае получается нежелательная блокировка индекса , ее конечно можно снять, но это некрасиво. Вот и решил поинтересоватся, может кто знает решение поэлегантнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2007, 15:59 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=33205539&tid=1559379]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 384ms |

| 0 / 0 |
