|
blob-ный вопрос
|
|||
---|---|---|---|
#18+
Коллеги, добрый день. Если не сложно. помогите разобраться с блобом: Есть новая системная таблица с blob полем, которое заполняется в процессе INSERT. Значение, которое нужно вставить в это поле появляется перед самым VIO_store, поэтому взять и сделать еще один AssignmentNode не получается, и нужна специальная функция. Вот как я понял что нужно поменять: Для начала, еще на уровне parse нужно положить в csb->dependencies два объекта Dependency: CompilerScratch::Dependency dependency(obj_collation); dependency.number = ttype_binary; И, то что должно быть непосредственно в функции крупными мазками: 1. Делаем новый blob (blb::create2) 2. Кладем туда строку (BLB_put_segment) 3. Закрываем blob (BLB_close) 4. Сохраняем blob в памяти (DPM_store_blob) 5. Делаем постоянный blob id (set_permanent) 6. Удаляем blob из транзакции (destroy) 7. Постоянный blob id кладем в парам блок или в рекорд на правильное место 8. Делаем соответствующие изменения (ClearNull) в битовом поле Вроде бы все. Но поскольку INSERT отрабатывает а SELECT потом нет, видимо где-то ошибка. SELECT замирает в blb::move в попытке достать bid из дескриптора поля, то есть видимо его там нет. Буду благодарен, если подскажете где искать ошибку. Сильно ногами не бейте, потому как С++, yacc и sql начал осваивать в прошлом сентябре, и поэтому могу спросить ерунду. Ну можете в таком случае не отвечать, буду сам разбираться. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 12:38 |
|
blob-ный вопрос
|
|||
---|---|---|---|
#18+
Мурыч, я почти ничего не понял, поток сознания какой-то. Зачем рассказывать решение неизвестно для чего ? Где описание задачи ? С такими вопросами нужно обращаться в fb-devel, но для начала стоит чуть лучше разобраться в самом движке. И для этого тоже лучше обращаться в fb-devel. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 13:22 |
|
|
start [/forum/topic.php?fid=40&msg=39387871&tid=1561755]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 291ms |
0 / 0 |