Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
Господа, есть ли в Информиксе дата и время модификации записи ? Уверен, что есть. Как мне его получить? Все поиски тщетны. ROWID нашёл, а с timestamp-ом беда! Только на вас осталась надежда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:21 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
Из неопубликованного FAQ :) Код: plaintext 1. 2. 3. Для получения такой информации можно использовать информацию из аудита, или анализируя записи из логического журнала или добавляя соответствующие поля в пользовательские таблицы и заполняя их триггерами во время обращений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:37 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
vasilis... Нет. В системных таблицах такое время не хранится... vasilis , вы убиваете мою последнюю надежду :(:(:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:43 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
vasilisНет. В системных таблицах такое время не хранится. Вот уж где стал бы искать в ПОСЛЕДНЮЮ очередь :) Это информацию стоило бы искать в структуре хранения tablespace (а точнее, собственно строки)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:54 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
АнатоЛой vasilisНет. В системных таблицах такое время не хранится. Вот уж где стал бы искать в ПОСЛЕДНЮЮ очередь :) Это информацию стоило бы искать в структуре хранения tablespace (а точнее, собственно строки)... И где же там искать, если эта структура известна и таких данных там никогда не было ? А главное, зачем эта информация нужна ? Просто представить, сколько дурной работы надо будет делать серверу, чтобы _по каждой записи_ изменять timestamp... Они даже на странице общий timestamp для проверки целостности и то сделали обычным инкрементируемым int-ом, а не настоящей временной отметкой. А если вдруг, кому то надо для прикладных целей сохранять такую информацию, то в этом ему прекрасно помогут триггеры, заодно можно будет увидеть и затраты на эту работу при массовых инсертах-апдейтах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:42 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
Спасибо за информацию, господа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 18:27 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
vasilis АнатоЛой[quot vasilis]Нет. В системных таблицах такое время не хранится. Вот уж где стал бы искать в ПОСЛЕДНЮЮ очередь :) Эту информацию стоило бы искать в структуре хранения tablespace (а точнее, собственно строки)... Может я не так выразился... Я хотел сказать, что если такая информация в IDS и есть - то IMHO логичнее было бы подтверждение этому искать не в системных таблицах, а в структуре записи таблицы... И если её там нет - таки вроде остаётся только три вышеупомянутых варианта: - логи - аудит - прикладное решение. Хотя, если бы время модификация и было в структуре записи, как его оттуда выцарапать - это ещё одна проблема... :) vasilis И где же там искать, если эта структура известна и таких данных там никогда не было ? Кому структура известна - у тех вопросов нет. А кто-то может не догадываться, что такая информация (о структуре) в принципе доступна. Я, например, не на 100% был уверен, что её там точно нет... vasilis А главное, зачем эта информация нужна ? Ну вот бывает полезна в прикладных приложениях :)) Что, никогда не попадали в такую ситуацию?! Не верю... :) vasilis Просто представить, сколько дурной работы надо будет делать серверу, чтобы _по каждой записи_ изменять timestamp... Ну не надо по каждой... Вот rowid не для каждой же таблице можно получить - и ничего, не умерли :) Была бы опция такая для таблицы "Хранить для данной таблицы дату/время последней модификации каждой записи" - думаю, использовали бы... vasilis Они даже на странице общий timestamp для проверки целостности и то сделали обычным инкрементируемым int-ом, а не настоящей временной отметкой. Хм... Тема топика, конечно, была про TimeStamp, но непосредственно в сообщении автор спрашивал про "дату и время" (хоть и расплывчато :). Неужели время с точностью до СЕКУНД так накладно 1) в ядре получить и 2) в заголовке строки сохранить? Для гуру вопрос может показаться риторическим, типа "Конечно, накладно", но у меня таких знаний пока нет... vasilis А если вдруг, кому то надо для прикладных целей сохранять такую информацию, то в этом ему прекрасно помогут триггеры, заодно можно будет увидеть и затраты на эту работу при массовых инсертах-апдейтах. Не уверен что настолько сравнимы по затратам ресурсов две такие реализации: 1) на триггерах и 2) в ядре СУБД... А особенно памятуя про особенности извлечения текущего времени в SPL IDS... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 19:08 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
Пардон за неправильное первое цитирование в предыдущем посте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 19:09 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
В 11 версии будет для каждой строки поддерживаться такой timestamp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 19:23 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
nkulikovВ 11 версии будет для каждой строки поддерживаться такой timestamp Нормально. А чем (или как) эту информацию можно будет получить? И где эта информация будет храниться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 20:17 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
АнатоЛой vasilisА главное, зачем эта информация нужна ? Ну вот бывает полезна в прикладных приложениях :)) Что, никогда не попадали в такую ситуацию?! Не верю... :) Бывает полезно. Но это же не значит, что внутри сервера должно быть все, что может быть полезно (а может и не быть полезно или востребованно). Есть известный афоризм - "Идеально - это не тогда, когда уже нечего добавить, а когда уже нечего отнять". Мне этот афоризм импонирует, а вот разработчикам О. - наверное, нет :)) АнатоЛой vasilis Просто представить, сколько дурной работы надо будет делать серверу, чтобы _по каждой записи_ изменять timestamp... Ну не надо по каждой... Вот rowid не для каждой же таблице можно получить - и ничего, не умерли :) Была бы опция такая для таблицы "Хранить для данной таблицы дату/время последней модификации каждой записи" - думаю, использовали бы... Согласен, как опция, возможно и была бы неплохой - добавлялся бы скрытый или видимый столбец, в котором стандартным SQL можно было бы читать данные. Только что мешает добавить самому такой столбец и поставить default = current для инсертов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 20:59 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
Для нового уровня изволяции LAST COMMITED DB2/Informix будут поддерживать такой столбец сами автоматически. Более подробно я еще не разбирался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2007, 06:57 |
|
||
|
Как получить Timestamp?
|
|||
|---|---|---|---|
|
#18+
nkulikovДля нового уровня изволяции LAST COMMITED DB2/Informix будут поддерживать такой столбец сами автоматически. Более подробно я еще не разбирался.Тогда это не будет реальными датой/временем. Предположим время хранится с точностью до минуты. Наша транзакция началась в 16:53, мы приходим за строкой в таблицу и видим время обновления 16:53 (на самом деле тут надо хранить не время обновления, но время начала обновившей ее транзакции (или запроса), но речь не об этом), и что делать? Брать эту строку или идти за ее предыдущим состоянием куда-то в сегменты отката? Никакой точности никакого времени недостаточно для соблюдения ACID, необходим инкрементальный счетчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2007, 08:43 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=34490889&tid=1608399]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 383ms |

| 0 / 0 |
