Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как посмотреть журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
Проблема собственно изначально такая. Нужно обеспечить чтобы если у клиента пропала связь с сервером, он все равно мог работать локально (хотя бы на добавление), некоторого рода буферизация получается. Но тут встает другой вопрос, для этого должны быть локально доступны справочники. Чтобы их каждый раз целиком не грузить, а только обновления собственно и сабж. Если у кого-то есть другие мысли по этому поводу, с радостью рассмотрю все предложения. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 11:27 |
|
||
|
Как посмотреть журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
Это не проблема сервера PostgreSQL. Это проблема клиентского приложения, которое должно все коллизии коннектов отслеживать и справочники буферизовать. Я клиента пишу на Visual Foxpro, и любой запрос к серверу попадает в локальный курсор на клиенте. При сохранениях (insert, update) я смотрю на ошибку. Если это пропал коннект - делаю его еще раз и повторяю операцию (1 раз). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 12:35 |
|
||
|
Как посмотреть журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
2 srtizh: Это то как раз понятно. Но если один из справочников достаточно большой и достаточно часто обновляется гонять его по сети при каждом обновлении смысл не очень большой. Поэтому я и хочу просмотреть журнал транзакций и при изменении этого справочника на сервере изменять данные в буферизированном справочнике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 07:09 |
|
||
|
Как посмотреть журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
Mariuz2 srtizh: Это то как раз понятно. Но если один из справочников достаточно большой и достаточно часто обновляется гонять его по сети при каждом обновлении смысл не очень большой. Поэтому я и хочу просмотреть журнал транзакций и при изменении этого справочника на сервере изменять данные в буферизированном справочнике. а не проще добавить поле со штампом обновления (timestamp) и пополнять справочник по результатам простого запроса (тако же и с удаленными - кидать в табличку - буфер удаленных со штампом времени удаления, по мере отваливания клиентов ее чистить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 11:08 |
|
||
|
Как посмотреть журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
2 4321: Спасибо за мысль! Я тоже уже об этом подумал но подумал в поле указывать время последнего обновления. А клиент периодически проверял бы какие обновления после последнего скачивания справочника обновились. Но тогда встает другой вопрос как клиенту получить время с сервера и как заполнять это поле? И все же через журнал транзакций думаю было бы правильнее. Но если никто не подскажет других вариантов, придеться делать так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 12:00 |
|
||
|
Как посмотреть журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
Mariuz2 4321: Спасибо за мысль! Я тоже уже об этом подумал но подумал в поле указывать время последнего обновления. А клиент периодически проверял бы какие обновления после последнего скачивания справочника обновились. Но тогда встает другой вопрос как клиенту получить время с сервера и как заполнять это поле? И все же через журнал транзакций думаю было бы правильнее. Но если никто не подскажет других вариантов, придеться делать так. 1. клиент не должен заполнять поле метки времени. Поле заполняет сервер (триггером на апдейт). Клиент даже может не просить это поле в перечне полей выборки (экономия трафика). Кстати сказать и метка может быть не временем (перевели часы назад???), а попросту свободным счетчиком изрядного размера (int8). __ ЗЗЫ : Вариант отработки (триггер не описываем): клиент получает данные: 0. (опционально - от порядка) сдвигает полученное ранее время предыдущей выборки справочника stime0 := stime (если получение времени и данных не оформлять в транзакцию +_ несколько записей в выборке погоды не сделает). 1. клиент получает новую метку времени сервера (в клиентскую переменную) stime (если время получения данных сдвинуть до времени получения метки времени (пункт 2.) - пункт 0 можно опустить) 2. клиент получает новые данные SELECT x,xx,xxx from sprxxx WHERE time > stime0; и удаленные за это время SELECT x,xx,xxx from sprxxx_del WHERE time > stime0; ворос только в том, в какую структуру на клиенте дописывать/удалять вновь полученные данные справочников. в любом случае, если после получения данных о справочнике другой сеанс удалит строку в справочнике, идентификатор которой вы захотели вставить в редактируемую запись - вы получите отлуп (если целостность проверяется) в момент попытки сохранения записи. А блокировать таблицу справочников с момента обновления данных о справочнике на клиенте до момента обновления данных на сервере клиентом - кажется диким излишеством. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33132475&tid=2007162]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 446ms |

| 0 / 0 |
