|
|
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Господа, у меня образовалось немного времени и со страшной силой потянуло на философию :) И размышляю я на тему "а какого лешегшо мне не хватает в СУБД Oracle"? Кто не против отвлеченной философии - присоединяйтесь :) Итак, для затравки - мне не хватает: 1) конструкции вроде Код: plaintext 1. 2. 3. т.е. получать курсор из операции delete. Это позволило бы существенно упростить логику трансформации предварительных данных. 2) сегмента с организацией queue. В AQ oracle выкручивается на обычных индексированных таблицах, но накладные расходы этой эмуляции довольно значительны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 15:49 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousГоспода, у меня образовалось немного времени и со страшной силой потянуло на философию :) Иди рождение сына обмывай и жену поздравляй! На философию его потянуло.... ТЫ обязан уже мертвецки пьяным быть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 15:55 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous т.е. получать курсор из операции delete. Это позволило бы существенно упростить логику трансформации предварительных данных. Вчера был на семинаре по DB2, жутко позавидовал присутствию данной возможности в IBM'овской СУБД. Лично мне еще не хватает возможности создания бОльшего числа buffer pool'ов, подсмотрено опять же у DB2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 16:10 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
авторГоспода, у меня образовалось немного времени По ходу оно у тебя никогда и не прекращалось...:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 16:17 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous Господа, у меня образовалось немного времени и со страшной силой потянуло на философию :) Видать отпуск по уходу взял на 3 года ))) по (1) можно скриптом на pl/sql вполне обойтись, хотя возможность не помешала бы. Мне лично не хватает "временн'ых" данных, видимо это должен быть особый тип таблицы (текущих возможностей ретроспективных запросив явно недостаточно). Пример, есть табличка с подразделениями организации (ID подразделения, NAME) и дочерняя таблица со штатом (ID подразделения, ID человека, Разряд, Дата приёма и т.д.) Хотелось бы на каждую дату приёма вытащить наименование подразделения, каким оно было в тот момент. Синтаксис мог бы быть таким: Код: plaintext 1. 2. Но для этого должна быть возможность для каждой таблицы индивидуально устанавливать время хранения "прошлого" и опцию - хранить ли прошлый вариант записи в родительской таблице, если нет дочерних записей. Ну и соответственно такая пространственная таблица должна поддерживать два вида запросов: запрос к текущему состоянию: Код: plaintext и запрос ко всем прецедентам состояний: Код: plaintext В последнем случае должен добавлятся ещё псевдостолбец момента возникновенимя состояния (хотя можно выводить его и в первом случае). Вообще же мне интересным представляется открытый проект создания СУБД, причём не обязательно сразу на уровне реализации , а последовательно, начиная с требований к инфраструктуре организации такой работы и переходя к требованиям к самой системе (архитектуре и элементам) и затем к их реализации. Предвижу сразу массу возражений связанных с тем, что подобные проекты уже существуют , но здесь могу сказать сразу, что в России мне такие не известны. К томуже не забывайте, что мы просто философствуем (я лично с холодным Zipferom) :) Если проект будет успешным даже на уровне спецификации, то он вполне может развиваться в рамках какого либо вуза (есть же пример FreeBSD). Ещё один довод - слышал в новостях что правительство обеспокоено засильем вражеского ПО в стратегически важных отраслях народного хозяйства, так что потребность есть - нет предложения (на лицо револющионная ситуация). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 20:50 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Чтобы можно было сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. В MS SQL так можно. Со всеми вытекающими. Вначале кривился, а потом понравилось. А ещё чтобы в Оракл встроили Си, как Джаву встроили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 20:58 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
я давно говорю, что мне в оракле не хватает большой кнопки: "решить проблему". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 21:19 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Мне хотелось бы иметь элегантный способ для Insert (Update) одной записи в БД через механизм вызова PL/SQL подпрограмм. Я бы добавил в OCI новую структуру (Handle) OCI_UpdateRawDescriptor (список колонок (измененных или фиксированный список, как хотите)), в которую на клиенте можно занести BIND-переменные. На стороне сервера в прикладном пакете mytable_pck будет что-то вида: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Машина PL/SQL должна иметь описание типа SYSUpdateRaw, операторов RAW UPDATE, RAW INSERT и уметь переделывать приведенный выше RAW UPDATE в стандартный оператор UPDATE с Bind-переменными. Желательно, чтобы при этом не использовался DBMS_SQL, то есть реализовать сей механизм в ядре напрямую, а не через кучу интерпретируемого кода. Это позволило бы значительно упростить написание связок клиентский код - PL/SQL код, уменьшить размер обоих, унифицировать прикладной код. Актуально для задач, связанных с работой пользователя по добавлению/обновлению одиночных записей в БД (бухгалтерия, склад, операционный день и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 01:15 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
мне бы многово бы хотелось (несмотря на все достоинства оракл громозкий) но что в первую очередь это простую конструкцию вида m1:=select ... from (table,wiev,(select),m2); где (m* коллекция тире курсор) было бы просто (и если бы оракл постарался и эфективно 1 типа запись выще не требует немедленого выполнения это обьявление 2 если я потом в программе делаю m3:=select * from m2 where .... это обьевление вида (select * from (select ...)) 3 вот когда я в програме делаю типа x:=m3[1].name; разбор курсора , open его, fetch , присвоение переменой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 11:03 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Мне бы лично хотелось иметь встроенную конструкцию наподобие LIMIT в MySql. Знаю что без этого обойтись можно но тем не менее было бы приятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 11:54 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
А мне бы хотелось, чтобы при работе с будущим релизом Oracle у меня уже была возможность вызвать секретаршу, попросить сделать мне кофе или чего-нибудь еще... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 11:54 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Sergey MМне бы лично хотелось иметь встроенную конструкцию наподобие LIMIT в MySql. Знаю что без этого обойтись можно но тем не менее было бы приятно. типа лимит они попытались что-то сделать см SAMPLE чего бы хотелось 1) аналит ф-ции a) аналог having b) вложенные аналит ф-ции 2) еще один тип ТМП таблиц без генерации логов (пусть и без роллбека) 3) ордер бу в UPDATE (уже почти есть) и чтоб MERGE на инсерт "правильно" работал 4) стандартные "табле" типы для базовых полей (аналог sys_refcursor) 5) стандартная групповая функия "колонку в строку" 6) кляуза вибрать записи с n по м (не через подзапросы) 7) добавить блокировку по чтению 8) включать/выключать обработку хинтов на уровне сессии (оператора) 9) убрать ограничение на ссылку на поля в "коррелированном" подзапросе 10) добавать констраит "непересекающейся диапазон" а чуть не забыл, убрать это переключение контекста с sql и pl/sql PS ну и с этими "рестартами" что-то надо делать ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 12:36 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Чтобы можно было написать Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 14:29 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Мне лично весьма не хватает 1. Партиционированных таблиц в индексном кластере (хочеца в кластере хранить Большие таблицы) 2. Возможности создать IOT таблицу при composite партиционировании :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 15:44 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
minerМне лично не хватает "временн'ых" данных, видимо это должен быть особый тип таблицы А Workspace Management это случаем не то что вам надо? Yuri Kazakoff То бишь Recycle Bin уже не модно :-) Присоединяюсь к Takurava или хотя бы Код: plaintext 1. 2. 3. Хотя если честно фич хватает, хочется чтобы имеющиеся фичи работали. А то июнь заканчивается а патча на последнюю большую дырку все нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 19:57 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
как я мог забыть (позор на мою голову) 0.0 порядок срабатывания триггеров ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 20:52 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Хотелось бы уметь апдейтить вcю строку, не перечисляя столбцов update ТАБЛ x set VALUE(x) = l_row(i) where ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 21:17 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
афторХотелось бы уметь апдейтить вcю строку, не перечисляя столбцов set VALUE(x) = l_row(i)RTFM Updating the Database with PL/SQL Record Values (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 21:23 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
Elic афторХотелось бы уметь апдейтить вcю строку, не перечисляя столбцов set VALUE(x) = l_row(i)RTFM Updating the Database with PL/SQL Record Values (FAQ) Премного благобдарю! Только почему в Оракловой документации я этого найти не могу:( Смотрел как здесь Oracle® Database SQL Reference 10g Release 2 (10.2) Так и здесь Oracle® Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 21:39 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
афторТак и здесь Oracle® Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) Так и здесь SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 21:46 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
2andrey_anonymous: Отличная тема. Я реальный человек и не хватает мне вещей, которые , мне кажется скоро появятся. Многого не прошу :-) 1. Наведение порядка в ANSI- синтакисе джойнов. 2. INSERT - SELECT - RETURNING. Не понятно, почему не доделают. 3. Расширение скалярных подзапросов до нескольких колонок. 4. Дальнейшее совершенствование CASE - структур. 5. Дальнейшее совершенствование регулярных выражений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2006, 21:49 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
SERG1257 А Workspace Management это случаем не то что вам надо? Нет, не идёт ни в какое сравнение с тем, что там нафантазировал (слишком много ограничений). Но движение в верном направлении есть, ещё через пару версий может и выйдет толк. Да, забыл, неплохо бы смотрелись переменные связывания - массивы для использования с in. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2006, 01:37 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
а ещё бесит, что rman вываливает стотысячмиллионовмиллиардовсекстильонов сообщений: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. И предыдущие команды по полчаса ищешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2006, 09:59 |
|
||
|
На философию потянуло...
|
|||
|---|---|---|---|
|
#18+
minerДа, забыл, неплохо бы смотрелись переменные связывания - массивы для использования с in. Присоединяюсь + отмена ограничения на 1000 элементов в in (...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2006, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=33822879&tid=1886424]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 426ms |

| 0 / 0 |
