Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Продолжаем разговор про ИТЗ (число прочтений - 6812 )
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Продолжаем разговор про ИТЗ
Ответ #15 - 06. Марта 2008 :: 10:40
Печать  
Nick писал(а) 06. Марта 2008 :: 10:30:
Цитата:
Т.е. ты делаешь что-то типа "ЗаполнитьКолонку("Ид2", "Ид2", 100);" что ли?
Т.е. заполняешь колонку, по которой у тебя идет выборка?


Да, я конечно подозреваю что это несколько не правильно, но что мишает сначала заполнить по старому индексу, а потом его перестороить?

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

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Продолжаем разговор про ИТЗ
Ответ #16 - 06. Марта 2008 :: 10:46
Печать  
ADirks, Nick

Теоретически, можно обработать этот особый случай (модификация колонки активного индекса).
Для этого можно сначала запомнить выборку, после этого пройти по ней с заменой значений и далее - полностью реиндексировать дерево.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Продолжаем разговор про ИТЗ
Ответ #17 - 06. Марта 2008 :: 10:52
Печать  
kms писал(а) 06. Марта 2008 :: 10:46:
ADirks, Nick

Теоретически, можно обработать этот особый случай (модификация колонки активного индекса).
Для этого можно сначала запомнить выборку, после этого пройти по ней с заменой значений и далее - полностью реиндексировать дерево.


Зачем полностью?

Смысл такого заполнения в том что бывают задачи когда поменять нужно несколько значений из тысяч
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Продолжаем разговор про ИТЗ
Ответ #18 - 06. Марта 2008 :: 10:57
Печать  
Да, пожалуй.
Надо запомнить выборку и в цикле установить значения с непосредственным отражением в индексе.
Наверно, это лучший вариант.

ADirks
Леша, а итераторы правда инвалидируются при модификации зависимой колонки?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Продолжаем разговор про ИТЗ
Ответ #19 - 10. Марта 2008 :: 13:32
Печать  
kms писал(а) 06. Марта 2008 :: 10:57:
Да, пожалуй.
1) Надо запомнить выборку и в цикле установить значения с непосредственным отражением в индексе.
Наверно, это лучший вариант.

2) ADirks
Леша, а итераторы правда инвалидируются при модификации зависимой колонки?

1) да, это наверное единственный разумный вариант
2) ага, инвалидируются.  Попробуй ка его не инвалидировать...  Обсуждали уже, так методы и не придумали. Собственно, поэтому и 1)

Залил в репозитарий затычку, которая устраняет ошибку. Но при этом будут потери в скорости.  По человечески разобраться что там и как пока не удаётся...
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Продолжаем разговор про ИТЗ
Ответ #20 - 11. Марта 2008 :: 12:53
Печать  
Ну вроде всё, исправил правильно  Улыбка
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Продолжаем разговор про ИТЗ
Ответ #21 - 11. Марта 2008 :: 14:12
Печать  
ADirks писал(а) 11. Марта 2008 :: 12:53:
Ну вроде всё, исправил правильно  Улыбка

Ага, похоже всё ок. Спасибо! Завтра полутуше протестирую
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Продолжаем разговор про ИТЗ
Ответ #22 - 14. Марта 2008 :: 14:54
Печать  
Никаких проблем не выявлено. Ошибку можно закрывать
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать