- from upstream
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 2 Sep 2008 13:55:48 +0000 (13:55 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    patch.4.7.25.1 -> 1.1

patch.4.7.25.1 [new file with mode: 0644]

diff --git a/patch.4.7.25.1 b/patch.4.7.25.1
new file mode 100644 (file)
index 0000000..0d258ed
--- /dev/null
@@ -0,0 +1,75 @@
+*** sequence/sequence.c.orig   2008-05-05 13:25:09.000000000 -0700
+--- sequence/sequence.c        2008-08-15 09:58:46.000000000 -0700
+***************
+*** 187,193 ****
+       if ((ret = __db_get_flags(dbp, &tflags)) != 0)
+               goto err;
+  
+!      if (DB_IS_READONLY(dbp)) {
+               ret = __db_rdonly(dbp->env, "DB_SEQUENCE->open");
+               goto err;
+       }
+--- 187,197 ----
+       if ((ret = __db_get_flags(dbp, &tflags)) != 0)
+               goto err;
+  
+!      /*
+!       * We can let replication clients open sequences, but must
+!       * check later that they do not update them.
+!       */
+!      if (F_ISSET(dbp, DB_AM_RDONLY)) {
+               ret = __db_rdonly(dbp->env, "DB_SEQUENCE->open");
+               goto err;
+       }
+***************
+*** 244,249 ****
+--- 248,258 ----
+               if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) ||
+                   !LF_ISSET(DB_CREATE))
+                       goto err;
++              if (IS_REP_CLIENT(env) &&
++                  !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++                      ret = __db_rdonly(env, "DB_SEQUENCE->open");
++                      goto err;
++              }
+               ret = 0;
+  
+               rp = &seq->seq_record;
+***************
+*** 296,302 ****
+        */
+       rp = seq->seq_data.data;
+       if (rp->seq_version == DB_SEQUENCE_OLDVER) {
+! oldver:              rp->seq_version = DB_SEQUENCE_VERSION;
+               if (!F_ISSET(env, ENV_LITTLEENDIAN)) {
+                       if (IS_DB_AUTO_COMMIT(dbp, txn)) {
+                               if ((ret =
+--- 305,316 ----
+        */
+       rp = seq->seq_data.data;
+       if (rp->seq_version == DB_SEQUENCE_OLDVER) {
+! oldver:              if (IS_REP_CLIENT(env) &&
+!                  !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
+!                      ret = __db_rdonly(env, "DB_SEQUENCE->open");
+!                      goto err;
+!              }
+!              rp->seq_version = DB_SEQUENCE_VERSION;
+               if (!F_ISSET(env, ENV_LITTLEENDIAN)) {
+                       if (IS_DB_AUTO_COMMIT(dbp, txn)) {
+                               if ((ret =
+***************
+*** 707,712 ****
+--- 721,733 ----
+  
+       MUTEX_LOCK(env, seq->mtx_seq);
+  
++      if (handle_check && IS_REP_CLIENT(env) &&
++          !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++              ret = __db_rdonly(env, "DB_SEQUENCE->get");
++              goto err;
++      }
++ 
++ 
+       if (rp->seq_min + delta > rp->seq_max) {
+               __db_errx(env, "Sequence overflow");
+               ret = EINVAL;
This page took 0.124643 seconds and 4 git commands to generate.