summaryrefslogblamecommitdiffstats
path: root/source/l/db42/patch.4.2.52.3
blob: 9e82423c2e8f02b508179f3e2a53c69902b5e41c (plain) (tree)






















































































































































































































































                                                                                                                                                    
--- java/src/com/sleepycat/db/DbEnv.java	2003-12-03 16:26:27.000000000 -0500
+++ java/src/com/sleepycat/db/DbEnv.java	2004-03-18 15:15:42.000000000 -0500
@@ -61,7 +61,7 @@
     // Internally, the JNI layer creates a global reference to each DbEnv,
     // which can potentially be different to this.  We keep a copy here so
     // we can clean up after destructors.
-    private Object dbenv_ref;
+    private long dbenv_ref;
     private DbAppDispatch app_dispatch_handler;
     private DbEnvFeedbackHandler env_feedback_handler;
     private DbErrorHandler error_handler;
@@ -94,7 +94,7 @@
     void cleanup() {
         swigCPtr = 0;
         db_java.deleteRef0(dbenv_ref);
-        dbenv_ref = null;
+        dbenv_ref = 0L;
     }
 
 
--- java/src/com/sleepycat/db/Db.java	2003-12-03 16:26:25.000000000 -0500
+++ java/src/com/sleepycat/db/Db.java	2004-03-18 15:15:55.000000000 -0500
@@ -57,7 +57,7 @@
     // Internally, the JNI layer creates a global reference to each Db,
     // which can potentially be different to this.  We keep a copy here so
     // we can clean up after destructors.
-    private Object db_ref;
+    private long db_ref;
     private DbEnv dbenv;
     private boolean private_dbenv;
     private DbAppendRecno append_recno_handler;
@@ -84,7 +84,7 @@
     private void cleanup() {
         swigCPtr = 0;
         db_java.deleteRef0(db_ref);
-        db_ref = null;
+        db_ref = 0L;
         if (private_dbenv) {
             dbenv.cleanup();
         }
--- java/src/com/sleepycat/db/db_java.java	2003-12-03 16:10:54.000000000 -0500
+++ java/src/com/sleepycat/db/db_java.java	2004-03-18 15:17:24.000000000 -0500
@@ -14,15 +14,15 @@
     db_javaJNI.DbEnv_lock_vec(DbEnv.getCPtr(dbenv), locker, flags, list, offset, nlist);
   }
 
-   static Object initDbEnvRef0(DbEnv self, Object handle) {
+   static long initDbEnvRef0(DbEnv self, Object handle) {
     return db_javaJNI.initDbEnvRef0(DbEnv.getCPtr(self), handle);
   }
 
-   static Object initDbRef0(Db self, Object handle) {
+   static long initDbRef0(Db self, Object handle) {
     return db_javaJNI.initDbRef0(Db.getCPtr(self), handle);
   }
 
-   static void deleteRef0(Object ref) {
+   static void deleteRef0(long ref) {
     db_javaJNI.deleteRef0(ref);
   }
 
--- java/src/com/sleepycat/db/db_javaJNI.java	2003-12-03 16:10:55.000000000 -0500
+++ java/src/com/sleepycat/db/db_javaJNI.java	2004-03-18 15:16:18.000000000 -0500
@@ -45,9 +45,9 @@
 	static native final void initialize();
 
   public final static native void DbEnv_lock_vec(long jarg1, int jarg2, int jarg3, DbLockRequest[] jarg4, int jarg5, int jarg6) throws DbException;
-   final static native Object initDbEnvRef0(long jarg1, Object jarg2);
-   final static native Object initDbRef0(long jarg1, Object jarg2);
-   final static native void deleteRef0(Object jarg1);
+   final static native long initDbEnvRef0(long jarg1, Object jarg2);
+   final static native long initDbRef0(long jarg1, Object jarg2);
+   final static native void deleteRef0(long jarg1);
    final static native long getDbEnv0(long jarg1);
   public final static native long new_Db(long jarg1, int jarg2) throws DbException;
   public final static native void Db_associate(long jarg1, long jarg2, long jarg3, DbSecondaryKeyCreate jarg4, int jarg5) throws DbException;
--- libdb_java/db_java.i	2003-11-17 15:00:52.000000000 -0500
+++ libdb_java/db_java.i	2004-03-18 09:21:14.000000000 -0500
@@ -53,7 +53,7 @@
 	// Internally, the JNI layer creates a global reference to each DbEnv,
 	// which can potentially be different to this.  We keep a copy here so
 	// we can clean up after destructors.
-	private Object dbenv_ref;
+	private long dbenv_ref;
 	private DbAppDispatch app_dispatch_handler;
 	private DbEnvFeedbackHandler env_feedback_handler;
 	private DbErrorHandler error_handler;
@@ -76,7 +76,7 @@
 	void cleanup() {
 		swigCPtr = 0;
 		db_java.deleteRef0(dbenv_ref);
-		dbenv_ref = null;
+		dbenv_ref = 0L;
 	}
 
 	public synchronized void close(int flags) throws DbException {
@@ -220,7 +220,7 @@
 	// Internally, the JNI layer creates a global reference to each Db,
 	// which can potentially be different to this.  We keep a copy here so
 	// we can clean up after destructors.
-	private Object db_ref;
+	private long db_ref;
 	private DbEnv dbenv;
 	private boolean private_dbenv;
 	private DbAppendRecno append_recno_handler;
@@ -245,7 +245,7 @@
 	private void cleanup() {
 		swigCPtr = 0;
 		db_java.deleteRef0(db_ref);
-		db_ref = null;
+		db_ref = 0L;
 		if (private_dbenv)
 			dbenv.cleanup();
 		dbenv = null;
@@ -503,46 +503,42 @@
 	}
 %}
 
-%native(initDbEnvRef0) jobject initDbEnvRef0(DB_ENV *self, void *handle);
-%native(initDbRef0) jobject initDbRef0(DB *self, void *handle);
-%native(deleteRef0) void deleteRef0(jobject ref);
+%native(initDbEnvRef0) jlong initDbEnvRef0(DB_ENV *self, void *handle);
+%native(initDbRef0) jlong initDbRef0(DB *self, void *handle);
+%native(deleteRef0) void deleteRef0(jlong ref);
 %native(getDbEnv0) DB_ENV *getDbEnv0(DB *self);
 
 %{
-JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbEnvRef0(
+JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbEnvRef0(
     JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
 	DB_ENV *self = *(DB_ENV **)&jarg1;
+	jlong ret;
 	COMPQUIET(jcls, NULL);
 
 	DB_ENV_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
 	self->set_errpfx(self, (const char*)self);
-	return (jobject)DB_ENV_INTERNAL(self);
+	*(jobject *)&ret = (jobject)DB_ENV_INTERNAL(self);
+	return (ret);
 }
 
-JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbRef0(
+JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbRef0(
     JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
 	DB *self = *(DB **)&jarg1;
+	jlong ret;
 	COMPQUIET(jcls, NULL);
 
 	DB_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
-	return (jobject)DB_INTERNAL(self);
+	*(jobject *)&ret = (jobject)DB_INTERNAL(self);
+	return (ret);
 }
 
 JNIEXPORT void JNICALL Java_com_sleepycat_db_db_1javaJNI_deleteRef0(
-    JNIEnv *jenv, jclass jcls, jobject jref) {
-	COMPQUIET(jcls, NULL);
-
-	if (jref != NULL)
-		(*jenv)->DeleteGlobalRef(jenv, jref);
-}
-
-JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbRef0(
     JNIEnv *jenv, jclass jcls, jlong jarg1) {
-	DB *self = *(DB **)&jarg1;
+	jobject jref = *(jobject *)&jarg1;
 	COMPQUIET(jcls, NULL);
-	COMPQUIET(jenv, NULL);
 
-	return (jobject)DB_INTERNAL(self);
+	if (jref != 0L)
+		(*jenv)->DeleteGlobalRef(jenv, jref);
 }
 
 JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbEnv0(
@@ -554,7 +550,7 @@
 	COMPQUIET(jcls, NULL);
 
 	*(DB_ENV **)&env_cptr = self->dbenv;
-	return env_cptr;
+	return (env_cptr);
 }
 
 JNIEXPORT jboolean JNICALL
--- libdb_java/db_java_wrap.c	2003-12-03 16:10:36.000000000 -0500
+++ libdb_java/db_java_wrap.c	2004-03-18 12:18:58.000000000 -0500
@@ -1192,40 +1192,36 @@
 }
 
 
-JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbEnvRef0(
+JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbEnvRef0(
     JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
 	DB_ENV *self = *(DB_ENV **)&jarg1;
+	jlong ret;
 	COMPQUIET(jcls, NULL);
 
 	DB_ENV_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
 	self->set_errpfx(self, (const char*)self);
-	return (jobject)DB_ENV_INTERNAL(self);
+	*(jobject *)&ret = (jobject)DB_ENV_INTERNAL(self);
+	return (ret);
 }
 
-JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbRef0(
+JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbRef0(
     JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
 	DB *self = *(DB **)&jarg1;
+	jlong ret;
 	COMPQUIET(jcls, NULL);
 
 	DB_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
-	return (jobject)DB_INTERNAL(self);
+	*(jobject *)&ret = (jobject)DB_INTERNAL(self);
+	return (ret);
 }
 
 JNIEXPORT void JNICALL Java_com_sleepycat_db_db_1javaJNI_deleteRef0(
-    JNIEnv *jenv, jclass jcls, jobject jref) {
-	COMPQUIET(jcls, NULL);
-
-	if (jref != NULL)
-		(*jenv)->DeleteGlobalRef(jenv, jref);
-}
-
-JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbRef0(
     JNIEnv *jenv, jclass jcls, jlong jarg1) {
-	DB *self = *(DB **)&jarg1;
+	jobject jref = *(jobject *)&jarg1;
 	COMPQUIET(jcls, NULL);
-	COMPQUIET(jenv, NULL);
 
-	return (jobject)DB_INTERNAL(self);
+	if (jref != 0L)
+		(*jenv)->DeleteGlobalRef(jenv, jref);
 }
 
 JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbEnv0(
@@ -1237,7 +1233,7 @@
 	COMPQUIET(jcls, NULL);
 
 	*(DB_ENV **)&env_cptr = self->dbenv;
-	return env_cptr;
+	return (env_cptr);
 }
 
 JNIEXPORT jboolean JNICALL