|
|
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
hi all. Возможно ли вместо вот этого: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. - сделать вот такой сахар: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ЗЫ. И еще вопрос, давно мечтал спросить, да всё как-то стеснялся. Возможно ли создание пространства имён, общего для всех коннектов ? То есть, пишем/читаем туда ВСЕ ВМЕСТЕ, кто первый записал - того и тапки. ЗЗЫ. Сильно не бить! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 15:32:55 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, я не очень понял, чем отличается $ от $$. переменная сессии - $, переменная транзакции - $$ ? И, насчет $ctx001 = cast(rand()*1000 as int); то есть, как упоминание переменной, сильно сомневаюсь, особенно потому, что время жизни этих переменных не больше времени жизни коннекта. Были бы они персистентными - тогда еще туда сюда (по аналогии со столбцами таблиц). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 15:46:10 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
kdvя не очень понял, чем отличается $ от $$. переменная сессии - $, переменная транзакции - $$ ? Да, именно так. kdvИ, насчет $ctx001 = cast(rand()*1000 as int); то есть, как упоминание переменной, сильно сомневаюсь , особенно потому, что время жизни этих переменных не больше времени жизни коннекта. Были бы они персистентными - тогда еще туда сюда (по аналогии со столбцами таблиц).сомнение - в чём ? время жизни переменных и упрощение синтаксиса - вроде бы не пересекающиеся понятия ?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 15:50:39 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, ты динамику (выражение) заменяешь статикой (идентификатором). А статика у нас проверяется на момент компиляции процедуры, когда нет никаких контекстных переменных. кроме того, имена переменных - всегда контекстно-зависимы, а имена идентификаторов - только в 3-м диалекте и только с кавычками. Что должно получиться в 1-м диалекте при $myvar = rdb$set_context('USER_SESSION', 'MyVar') и как такой геморрой отлавливать? как по мне - данунах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 15:57:13 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
dimitrконтекстно-зависимы регистро-зависимы, пардон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 15:57:50 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
dimitrкак по мне - данунах.ну, значит и Кальтенбруннеру будет тоже самое, если не сильнее. Амэн. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:05:52 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, здесь было куда лучшее предложение сделать публичные переменные в пакетах. Правда уровня транзакции наверное вряд ли получится. А вот уровня соединения вполне. в принципе с пакетами можно сделать что-то типа Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:11:01 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Симонов Денисв принципе с пакетами можно сделать что-то типаНе вижу в этом коде "революционной новизны", позволяющей всем коннектам видеть/менять одну и ту же контекстную переменную. Это же просто две функции-обёртки, позволяющие каждому коннекту манипулировать СВОИМ СОБСТВЕННЫМ "инстансом" этой самой MyVar, нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:16:25 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, я про новизну ничего не говорил. Я говорил про упрощение синтаксиса + как бонус контроль типов. Таблоидпозволяющей всем коннектам видеть/менять одну и ту же контекстную переменную нафига это надо? В прицепе можно вывернуться и сохранять и считывать значения из постоянной таблицы, естественно поимев ряд недостатков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:21:31 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, По идее, чтобы все коннекты "видели" переменные друг друга - им нужна общая таблица. In-memory для классика не прокатит, разве что memory mapped file (для Windows, для *nix - хз). Ну а MMF по сути недалеко ушло от отдельной таблицы. Примерно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:22:55 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
В отрыве от контекстных переменных (мечтательно). Эх, вот был-бы какой-нить отдельный процесс, на который можно было бы таймер/шедулер повесить.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:25:46 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисТаблоидпозволяющей всем коннектам видеть/менять одну и ту же контекстную переменнуюнафига это надо? В прицепе можно вывернуться и сохранять и считывать значения из постоянной таблицы, естественно поимев ряд недостатков.Держать в одном shared-списке инфу, существование которой без подключений к базе невозможно. Как пример - вопрос вида "кто сейчас подключен к базе и чё они там делают ?", задаваемый НЕ админом, а каким-нибудь там руководителем, кадровиком, СБшником и проч. Юзать mon$attachments годится только для случая, когда юзера различимы на уровне базы. Для случая, когда они прописаны в какой-нить справочной таблице и все лезут под одним именем - не катит. К тому же, все коннекты видны только sysdba или владельцу. Юзать mon$statements - лишняя нагрузка на ФБ. Содержимое mon$sql_text всё равно никто из юзеров не поймёт. Видимость чужих активностей - также как для mon$att. Толкать сведения по юзерам и их деятельности в приложении в fixed-таблицу - не айс. Лишние телодвижения ФБ при обращении даже к rdb$database широко известны в узких кругах. Да и мусор там будет копиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:47:50 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
DarkMasterIn-memory для классика не прокатитCS, тем не менее, использует shared-область памяти для разруливания блокировок. Значит, когда надо - прокатывает... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:51:44 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, пиши свой препроцессор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:53:03 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
kdvпиши свой препроцессор.Чё ?! Хорош издевацца-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:56:14 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
По сабжу: Синтаксический сахар в сад, конечно, не только потому что регистронезависимость, но и потому что невкусный. А вот глобальный неймспейс мог бы быть удобен - щас вариантов только два обычные таблицы и ET, первые транзакционно-зависимы, вторые - нет, но у них есть другие "недостатки и ограничения". И если неймспейс GLOBAL был бы ещё и с хорошейпроизводительностью - было бы отлично, ИМХО. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:57:22 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, ТаблоидК тому же, все коннекты видны только sysdba или владельцу. В 3.0 вроде как обещали спец роль RDB$MONITOR ТаблоидЮзать mon$statements - лишняя нагрузка на ФБ. Содержимое mon$sql_text всё равно никто из юзеров не поймёт. Видимость чужих активностей - также как для mon$att. Кроме админа никому не нужно. Да и тому редко требуется. ТаблоидЛишние телодвижения ФБ при обращении даже к rdb$database широко известны в узких кругах. Мною был предложен вариант из стандарта и dimitr с ним согласился. Но в тройке сделать он не обещал. P.S. Про in-memory таблицу хотелка хорошая, но сомневаюсь что будет реализовано в рамках 3.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 16:59:59 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> Мною был предложен вариант из стандарта и dimitr с ним согласился. О чём речь? Если можно, ссылкой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:03:27 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:11:57 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
А, оффтопом на оффтоп, как обычно. То обсуждение я помню. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:15:53 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисТаблоидЮзать mon$statements - лишняя нагрузка на ФБ. Содержимое mon$sql_text всё равно никто из юзеров не поймёт. Видимость чужих активностей - также как для mon$att.Кроме админа никому не нужно. Да и тому редко требуется.Нужен не сам sql-текст деяний, а "кто в какой режим приложения вошёл". Этим интересуются, когда хотят кого-то отследить, что-то предотвратить, короче - когда начинаются всякие шпионские игры. Ясен пень, что mon$-таблицы тут вообще рядом не лежат. Никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:17:52 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, ну в общем-то как я понял у Таблоида к rdb$database именно эта претензия. Или я не въехал в суть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:18:32 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, все возможные запросы не отследишь. Один фиг можно чего нибудь гадкого наваять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:19:51 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Симонов Денисну в общем-то как я понял у Таблоида к rdb$database именно эта претензия. Или я не въехал в суть?Хотелось бы иметь таблицу: 1) хранимую всегда только в памяти сервера; 2) организованную как Map (точнее: TreeMap, чтобы можно было обходить её в порядке возрастания ключей); 3) внетранзакционную (иначе опять версии, мусор и проч); 4) содержимое которой было бы видно всем коннектам и могло бы ими меняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:39:09 |
|
||
|
Хотелка к 3.х: вопрос(ы) по контекстным переменным
|
|||
|---|---|---|---|
|
#18+
Таблоид, погоди. Иметь таблицу в памяти с кучей записей это одно. Совсем другое иметь возможность получения констант без обращения к таблицам. In-memory таблица вещь хорошая, но в тройке и так дофига чего ещё делать. Может в каком нибудь 3.1 и будет. Оформи хотелку в трекер. Кстати тут тоже кроется недостаток. Как за памятью такой таблицы следить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 17:45:36 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=109&tid=1564146]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 381ms |

| 0 / 0 |
