GoboLinux Downloads Documentation Community Recipes Screenshots

GoboLinux Recipe & Package Search Tool

13 versions of DB.

ProgramAgeSizeByWWWSummary
DB 6.2.23-r1 1397  1032 Luca...
Berkeley DB Database Library
DB 6.0.20-r1 2340  1025 Hish...
Berkeley DB Database Library
DB 5.1.19-r2 1278  1025 Luca...
Berkeley DB Database Library
DB 4.8.26-r2 3798  1017 Zbig...
Berkeley DB Database Library
DB 4.7.25-r2 4105  989 Raph...
Berkeley DB Database Library
DB 4.6.21-r2 4105  2086 Giam...
Berkeley DB Database Library
DB 4.5.20-r4 3759  2136 Andr...
Berkeley DB Database Library
DB 4.4.20-r2 4105  2703 Jona...
Berkeley DB Database Library
view entry at GitHub | download recipe.bz2 file
01-recovery_trap.patch
02-DB_TXN_set_name.patch
03-cursor_lookup.patch
04-buffer_retrieval_race.patch
Recipe
Resources/BuildInformation
Resources/Dependencies
Resources/Description
Fix a bug where cursor lookups on secondary databases with off-page
duplicates could fail.

*** db/db/db_cam.c.orig	2006-01-11 03:19:21.000000000 +1100
--- db/db/db_cam.c	2006-03-01 13:59:01.000000000 +1100
***************
*** 579,589 ****
  	    flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
  		if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
  			return (ret);
! 		if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
  			return (ret);
  
! 		switch (ret =
! 		    opd->c_am_get(opd, key, data, flags, NULL)) {
  		case 0:
  			goto done;
  		case DB_NOTFOUND:
--- 579,590 ----
  	    flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
  		if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
  			return (ret);
! 		if (F_ISSET(dbc_arg, DBC_TRANSIENT))
! 			opd = cp->opd;
! 		else if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
  			return (ret);
  
! 		switch (ret = opd->c_am_get(opd, key, data, flags, NULL)) {
  		case 0:
  			goto done;
  		case DB_NOTFOUND:
***************
*** 596,607 ****
--- 597,614 ----
  				if ((ret = __db_c_close(opd)) != 0)
  					goto err;
  				opd = NULL;
+ 				if (F_ISSET(dbc_arg, DBC_TRANSIENT))
+ 					cp->opd = NULL;
  				break;
  			}
  			goto err;
  		default:
  			goto err;
  		}
+ 	} else if (cp->opd != NULL && F_ISSET(dbc_arg, DBC_TRANSIENT)) {
+ 		if ((ret = __db_c_close(cp->opd)) != 0)
+ 			goto err;
+ 		cp->opd = NULL;
  	}
  
  	/*
DB 4.3.29-r1 4105  896 Fern...
Berkeley DB Database Library
DB 4.3.28-r1 4105  859 Andr...
Berkeley DB Database Library
DB 4.3.27-r1 4105  908 roko
Berkeley DB Database Library
DB 4.3.21-r1 4105  550 Andr...
Deep Blue is a theme built around an ocean background.
DB 4.2.52-r1 4105  496
Deep Blue is a theme built around an ocean background.