|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
Нужно - создавать индекс с помощью DDL Пока я использую поля определенные в данном класса (как в примерах) - все ОК. Отлично, работает. Но как только мне нужно создать индекс с участием поля определенного в базовом класса: Код: sql 1.
Получаю послание идти лесом:автор[SQLCODE: <-31>:<Поле не (найдено/уникально) в таблице (-ах) >] [Location: <ServerLoop>] [%msg: <Attempt to CREATE INDEX 'MyIndex ' with field 'superClassField' failed. No such field found in table MyTable.>] SQL(0):CREATE INDEX MyIndex ON TABLE MyTable (superClassField) Error: [SQLCODE: <-31>:<Поле не (найдено/уникально) в таблице (-ах) >] [Location: <ServerLoop>] [%msg: <Attempt to CREATE INDEX 'MyIndex' with field 'superClassField' failed. No such field found in table MyTable.>] Кто знает как заставить это работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2013, 09:51 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
sigmov , ты бы привел тестовый пример тех классов... И программку бы написал где все это проявляется... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2013, 10:01 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
sigmovНо как только мне нужно создать индекс с участием поля определенного в базовом классаНе пробовали этот индекс создать в самом базовом классе? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2013, 11:39 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
krvsa sigmov , ты бы привел тестовый пример тех классов...И желательно в рамках конструкции CREATE TABLE , так как я не уверен в поддержке в ней наследования. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2013, 11:52 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
krvsasigmov, ты бы привел тестовый пример тех классов... И программку бы написал где все это проявляется...Ок. Классы: Код: ruby 1. 2. 3. 4. 5. 6. 7. 8.
Работает: Код: sql 1.
Не работает: Код: sql 1.
Выдает ошибку[SQLCODE: <-31>:<Поле не (найдено/уникально) в таблице (-ах) >] [Location: <ServerLoop>] [%msg: <Attempt to CREATE INDEX 'superFieldIdx' with field 'SUPERFIELD' failed. No such field found in table TEST.MYCLASS.>] SQL(0):CREATE INDEX superFieldIdx ON TABLE Test.MyClass(superField) Error: [SQLCODE: <-31>:<Поле не (найдено/уникально) в таблице (-ах) >] [Location: <ServerLoop>] [%msg: <Attempt to CREATE INDEX 'superFieldIdx' with field 'SUPERFIELD' failed. No such field found in table TEST.MYCLASS.>]servitНе пробовали этот индекс создать в самом базовом классе?Не получится - базовый класс не хранимый ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 03:39 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
sigmov , я создал такие классы Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
И программку Код: vbnet 1. 2. 3.
Все отработало как нужно. Т.ч. все остальное в особенностях твоих классов... Код: vbnet 1.
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 09:58 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
sigmov , стал смотреть докуметацию на предмет обнаружения DdlAllowed ... В аглицком я не силен... Т.ч. только яндекс-перевод автор описание В случае стойкого классе показывает, является ли DDL заявления могут быть использованы для изменения или удаления определение класса. Обычно вы не хотите, чтобы пользователи SQL, чтобы иметь возможность изменить классов с использованием DDL заявления. Этот флаг позволяет управлять такое поведение. Когда этот флаг отсутствует, SQL DDL заявления (например, DROP TABLE, ALTER TABLE, DROP INDEX и т.д.) не может быть выполнена на «представления таблицы SQL класса. Если вы создаете класс, выполнив DDL Создать таблицу о, ключевое слово DdlAllowed первоначально будет установлен на верно для этого класса. Предполагаю, что твои проблемы именно из-за этого... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 10:03 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
Замодифицировал программку... Выяснил, что DdlAllowed нужна для Ddl команд, без нее они вообще не выполняются... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: vbnet 1. 2. 3. 4.
-31 это авторField not (found/unique) in table(s) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 10:23 |
|
DDL: CREATE INDEX по полю SUPER-класса
|
|||
---|---|---|---|
#18+
sigmov ,
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 11:04 |
|
|
start [/forum/topic.php?fid=39&fpage=23&tid=1556999]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 385ms |
0 / 0 |