powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вывод UUID
14 сообщений из 39, страница 2 из 2
Вывод UUID
    #40031786
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНо менять сейчас эту перетасовку для пущей дружелюбности к индексам, наверное, уже поздно...

это ещё почему? Вроде как сама генерация ничего обратно совместимого не сломает
...
Рейтинг: 0 / 0
Вывод UUID
    #40031787
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Допускаются оба, хотя в примерах внутри используется только нижний. Но там примеры
кода мутные, они противоречат остальному тексту. Текст гласит
The fields are encoded as 16 octets, with the sizes and order of the
fields defined above, and with each field encoded with the Most
Significant Byte first
(known as network byte order). Note that the
field names, particularly for multiplexed fields, follow historical
practice.

В коде написано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
uuid_t NameSpace_DNS = { /* 6ba7b810-9dad-11d1-80b4-00c04fd430c8 */
     0x6ba7b810,
     0x9dad,
     0x11d1,
     0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8
};

/* puid -- print a UUID */
void puid(uuid_t u)
{
     int i;

     printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,
     u.time_hi_and_version, u.clock_seq_hi_and_reserved,
     u.clock_seq_low);
     for (i = 0; i < 6; i++)
         printf("%2.2x", u.node[i]);
     printf("\n");
}


то есть код плюёт на MSB раскладку и использует платформенную.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40031794
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисэто ещё почему? Вроде как сама генерация ничего обратно совместимого не сломает

У всех баз, которые хранили UUID в двоичном виде, съедет его текстовое представление.
Учитывая, что сейчас раскладка хотя бы соответствует тексту RFC - лучше не трогать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40032085
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrна замену GUID_LEGACY_FORMAT на GUID_NEW_FORMAT внутри Guid* функций (и выкидывание
GUID_LEGACY_FORMAT к чертовой бабушке). Или я слишком категоричен?

Да нет, в самый раз. Так ты даёшь добро на изменение ODS на RC стадии?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40032126
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Так ты даёшь добро на изменение ODS на RC стадии?

я не вижу там изменения ОДС
...
Рейтинг: 0 / 0
Вывод UUID
    #40032220
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrя не вижу там изменения ОДС

А изменение формата UID в заголовке базы с платформенного на независимый?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40032268
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
А изменение формата UID в заголовке базы с платформенного на независимый?

формально ты прав. Но учитывая, что базы у нас все равно между LE/BE непереносимы и что получить бинарный GUID снаружи нельзя, то можно хранить и в нативном формате, а байты тасовать непосредственно перед конвертацией в строку. Или я чего-то упускаю?
...
Рейтинг: 0 / 0
Вывод UUID
    #40032279
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть смысл этого патча будет исключительно исправить вывод GuidToString?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40032285
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

То есть смысл этого патча будет исключительно исправить вывод GuidToString?


ну ты же сам показал выше, что сломано только это?

Dimitry Sibiryakov

MS = {5b2c1ba0-48fc-11eb-8287-2c44fdb89adb}
ODBC = {5B2C1BA0-48FC-11EB-8287-2C44FDB89ADB}
gstat = {1BA05B2C-48FC-11EB-8782-442CB8FDDB9A}
UUID_TO_CHAR = {5B2C1BA0-48FC-11EB-8287-2C44FDB89ADB}


Ну и StringToGuid есс-но тоже придется подправить, а то у нас бинарное сравнение сломается.
...
Рейтинг: 0 / 0
Вывод UUID
    #40032295
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrну ты же сам показал выше, что сломано только это?

Ну, в принципе, да. Просто я считал, что у нас база LE/BE независимая. Во всяком случае 15
лет назад Аннушка что-то такое рассказывала на конференции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40032307
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это она так мечтала вслух :-) Они сделали под одного клиента динамическую перекодировку endianness на основе единой (LE, насколько я помню) ОДС и она предлагала это засунуть в ФБ. Дело ничем так и не кончилось.
...
Рейтинг: 0 / 0
Вывод UUID
    #40032843
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, запуллил я реквест https://github.com/FirebirdSQL/firebird/pull/305
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод UUID
    #40032846
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тебе там уже понаписал всего :)
...
Рейтинг: 0 / 0
Вывод UUID
    #40032897
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так я этот снял, другой запулил. И, кстати, запрещение каскадной репликации
переориентировал на твой бранч.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вывод UUID
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]