]> git.pld-linux.org Git - packages/db4.6.git/blame - patch.4.6.21.3
- do not define epoch 0
[packages/db4.6.git] / patch.4.6.21.3
CommitLineData
731bfa0a
ER
1*** sequence/sequence.c
2--- sequence/sequence.c
3***************
4*** 196,202 ****
5 if ((ret = __db_get_flags(dbp, &tflags)) != 0)
6 goto err;
7
8! if (DB_IS_READONLY(dbp)) {
9 ret = __db_rdonly(dbp->dbenv, "DB_SEQUENCE->open");
10 goto err;
11 }
12--- 196,206 ----
13 if ((ret = __db_get_flags(dbp, &tflags)) != 0)
14 goto err;
15
16! /*
17! * We can let replication clients open sequences, but must
18! * check later that they do not update them.
19! */
20! if (F_ISSET(dbp, DB_AM_RDONLY)) {
21 ret = __db_rdonly(dbp->dbenv, "DB_SEQUENCE->open");
22 goto err;
23 }
24***************
25*** 252,257 ****
26--- 256,266 ----
27 if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) ||
28 !LF_ISSET(DB_CREATE))
29 goto err;
30+ if (IS_REP_CLIENT(dbenv) &&
31+ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
32+ ret = __db_rdonly(dbenv, "DB_SEQUENCE->open");
33+ goto err;
34+ }
35 ret = 0;
36
37 rp = &seq->seq_record;
38***************
39*** 304,310 ****
40 */
41 rp = seq->seq_data.data;
42 if (rp->seq_version == DB_SEQUENCE_OLDVER) {
43! oldver: rp->seq_version = DB_SEQUENCE_VERSION;
44 if (__db_isbigendian()) {
45 if (IS_DB_AUTO_COMMIT(dbp, txn)) {
46 if ((ret =
47--- 313,324 ----
48 */
49 rp = seq->seq_data.data;
50 if (rp->seq_version == DB_SEQUENCE_OLDVER) {
51! oldver: if (IS_REP_CLIENT(dbenv) &&
52! !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
53! ret = __db_rdonly(dbenv, "DB_SEQUENCE->open");
54! goto err;
55! }
56! rp->seq_version = DB_SEQUENCE_VERSION;
57 if (__db_isbigendian()) {
58 if (IS_DB_AUTO_COMMIT(dbp, txn)) {
59 if ((ret =
60***************
61*** 713,718 ****
62--- 727,738 ----
63
64 MUTEX_LOCK(dbenv, seq->mtx_seq);
65
66+ if (handle_check && IS_REP_CLIENT(dbenv) &&
67+ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
68+ ret = __db_rdonly(dbenv, "DB_SEQUENCE->get");
69+ goto err;
70+ }
71+
72 if (rp->seq_min + delta > rp->seq_max) {
73 __db_errx(dbenv, "Sequence overflow");
74 ret = EINVAL;
This page took 0.079842 seconds and 4 git commands to generate.