Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Смотря на rdb$db_key я заметил, что нет пропусков в HEX коде. Полез читать и в одной из тем DY сказал, что rdb$db_key это порядковый номер записи. Я сразу захотел этим воспользоваться и обломился на первом же запросе. Попытался сделать так: Код: sql 1. 2. получаю в первой колонке не то, что хотелось бы увидеть см. картинку. Как получить содержимое в селекте, а не на стороне клиента? Если кто знает то подскажите. Простая цель получить допустим это каждая (втора, третья и т.д. строка). Я понимаю, что можно генератор прикрутить (но при глобально применение генераторов должно быть куча это неприемлемо), но уже есть встроенное решение и им можно было бы воспользоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 12:53 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Евгений Болтик, забудь про dbkey, он не такой и не для того. Забудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 13:35 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
hvladЕвгений Болтик, забудь про dbkey, он не такой и не для того. Забудь. Это знаю. что он для другого. Просто хотел впервые воспользоваться :), хотя и не для того для чего он сделан. А в тройке случаем не появится возможность порядковый номер сформировать без всяких генераторов (командное слова или еще что)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 13:51 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Евгений БолтикА в тройке случаем не появится возможность порядковый номер сформировать без всяких генераторов (командное слова или еще что)?Читай про оконные ф-ции и про RANK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 14:05 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
hvladЕвгений БолтикА в тройке случаем не появится возможность порядковый номер сформировать без всяких генераторов (командное слова или еще что)?Читай про оконные ф-ции и про RANK я правильно понимаю Код: sql 1. PK это уникальный для вычисления значений функции, я так понимаю. это и будет номер каждой строки? или я плохо прочитал и не въехал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 14:35 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Евгений БолтикА в тройке случаем не появится возможность порядковый номер сформировать rdb$db_key - это не "порядковый номер", а физический номер записи конкретной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 14:53 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
kdvЕвгений БолтикА в тройке случаем не появится возможность порядковый номер сформировать rdb$db_key - это не "порядковый номер", а физический номер записи конкретной таблицы. Я всегда так и считал. Но сам себя ввел в заблуждение, прочитав 1592059 "DB_KEY - это номер записи, а не версии" и по своему поняв. Попробовал у меня четко без пропусков были коды, я и подумал, что Дима сказа про возвращенный номер записи. Не успел сортировку прикрутить т.к. на первых же тестах не удалось преобразовать к VARCHAR. Прикрутил сортировку и получил то, о чем знал раньше. Остался только вопрос почему нельзя DB_KEY показать как VARCHAR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 16:37 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Евгений БолтикОстался только вопрос почему нельзя DB_KEY показать как VARCHAR? Потому что он CHAR CHARACTER SET OCTETS и мой тикет об автоматическом преобразовании в HEX при касте в любую другую кодировку отвергли. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 16:46 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Евгений БолтикОстался только вопрос почему нельзя DB_KEY показать как VARCHAR? Используй нормальный "показыватель" :) Мой древний IBExpret за 2013 не хочет показывать октеты. Но я верю - в новейшем это уже асилено :) Как-то так: Код: plsql 1. <картинка> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 18:53 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийЕвгений БолтикОстался только вопрос почему нельзя DB_KEY показать как VARCHAR? Используй нормальный "показыватель" :) Мой древний IBExpret за 2013 не хочет показывать октеты. Но я верю - в новейшем это уже асилено :) Как-то так: Код: plsql 1. <картинка> Обрати внимание у меня на картинке в моем гриде rdb$db_key выводится не выводится в варианте cast. А эксперт вообще пустые поля показал, но я списал это на глюк эксперта, я им пользуюсь по случаю, а обновление качать не когда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 19:13 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЕвгений БолтикОстался только вопрос почему нельзя DB_KEY показать как VARCHAR? Потому что он CHAR CHARACTER SET OCTETS и мой тикет об автоматическом преобразовании в HEX при касте в любую другую кодировку отвергли. Может есть системная функция типа OctetsToHex? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 19:21 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Евгений БолтикОбрати внимание у меня на картинке в моем гриде rdb$db_key выводится не выводится в варианте cast. А эксперт вообще пустые поля показал, но я списал это на глюк эксперта, я им пользуюсь по случаю, а обновление качать не когда. Точно :) Ну, наверное, так и задумано. А может CAST неправильно работает. Похоже кодовая страница прикручивается. Надо покопаться. -------- Я тут отключил rtrim char-ов и задумался над увиденным: select cast(rdb$db_key as varchar(18) character set octets), rdb$db_key from RDB$FIELDS По-идее содержимое колонки DB_KEY в твоем и моем случае должно быть одинаковым. Однако почему-то оно разное :) Ставлю на баг в моей картинке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 20:11 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийНу, наверное, так и задумано. А может CAST неправильно работает. Похоже кодовая страница прикручивается. Надо покопаться. cast(rdb$db_key as varchar(18)) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Сервер прикрутил к этому CAST-у кодовую страницу базы данных по-умолчанию - win1251 (id: 52). Внезапно :) Кодовая страница подключения не указана (то есть она NONE). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 20:32 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийСервер прикрутил к этому CAST-у кодовую страницу базы данных по-умолчанию - win1251 (id: 52). Внезапно :) Кодовая страница подключения не указана (то есть она NONE). <пошаговое исследование проблемы> А если указать кодовую страницу подключения UTF8 (как вариант), то сервер назначит её этому CAST-у. По мне - в отношении октетов это ненормально :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 21:09 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Коваленко Дмитрий, мне кажется, вы с Женей забыли, что с-шные строки заканчиваются нулем. поэтому каст просто к варчару не работает, строка сразу "обрубается". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 00:10 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
kdvКоваленко Дмитрий, мне кажется, вы с Женей забыли, что с-шные строки заканчиваются нулем . поэтому каст просто к варчару не работает, строка сразу "обрубается". Не, я про это не забыл (хотя после месяца с C#, C++ и кажется марсианской письменностью). Речь про то, что CAST меняет кодовую страницу. А он (по-хорошему) не должен это делать. По крайней мере с OCTETS. Вообщем с этим вроде все ясно. Непонятно - почему у нас разный DB_KEY . Была мысль, что причина в различии FB1.5 и FB2.5. Но на полуторке у меня все так же, как и на 2.5 У меня DB_KEY первой записи - 02 00 00 00 01 00 00 00 Отладчик показывает содержимое XSQLVAR::sqldata - 02 00 00 00 01 00 00 00 А Жени - 00 00 00 20 00 00 00 10 Возникает вопрос - у кого косяк? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 08:17 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийУ меня DB_KEY первой записи - 02 00 00 00 01 00 00 00 Отладчик показывает содержимое XSQLVAR::sqldata - 02 00 00 00 01 00 00 00 А Жени - 00 00 00 20 00 00 00 10 Возникает вопрос - у кого косяк? :) На всякий случай я уже раскопал до самого нижнего уровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 08:37 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Попробовал с FB3 (несвежий) - "cast(rdb$db_key as varchar(18))" продолжает менять кодовую страницу Возник второй вопрос. К Жене. А в чем сакральный смысл этого каста? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 08:54 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийНепонятно - почему у нас разный DB_KEY . Была мысль, что причина в различии FB1.5 и FB2.5. Но на полуторке у меня все так же, как и на 2.5 У меня DB_KEY первой записи - 02 00 00 00 01 00 00 00 Отладчик показывает содержимое XSQLVAR::sqldata - 02 00 00 00 01 00 00 00 А Жени - 00 00 00 20 00 00 00 10 Возникает вопрос - у кого косяк? :)Ты показываешь строку байт, как она лежит в памяти, а IBE у Евгения интерпретирует dbkey как два 4-х байтных числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 10:13 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
hvladIBE у Евгения интерпретирует dbkey как два 4-х байтных числа.И это, кстати, неправильно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 10:13 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
hvladhvladIBE у Евгения интерпретирует dbkey как два 4-х байтных числа.И это, кстати, неправильно :) Судя по всему, у него и эти числа неправильно в HEX трансформируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 11:18 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
kdvКоваленко Дмитрий, мне кажется, вы с Женей забыли, что с-шные строки заканчиваются нулем. поэтому каст просто к варчару не работает, строка сразу "обрубается". Не мы такое забыть не можем. По большей части я этим и занимаюсь в интерпретаторе определением типов и порядка работы с данными. Поэтому табу забывать низкий уровень. ;) У нас есть поле и если оно бинарное, то и пусть мне вернется строка в шестнадцатеричном виде. Пусть это будет особенность нашего любимого сервера. А так надо еще и УДФ прикручивать. Почему для работы с бинарными типами у компиляторов и интерпретаторов функция по умолчанию есть, а в сервере нет. Раз он оперирует такими данными то и функции должны быть. Тогда не будет лишних тем и будут прямые ответы. Вон функция пользуйся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 13:22 |
|
||
|
rdb$db_key и его содержимое
|
|||
|---|---|---|---|
|
#18+
hvladhvladIBE у Евгения интерпретирует dbkey как два 4-х байтных числа.И это, кстати, неправильно :) Вчера уже срубило в 4 ночи и дальше не смог беседовать. Сегодня увидел в ФБ+ Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. зачем оно там так сделано не знаю. Бузз уже давно на письма не отвечает, что с ним кто знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 13:44 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38920301&tid=1562945]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 278ms |
| total: | 564ms |

| 0 / 0 |
