From: Roman R. <rro...@us...> - 2005-05-22 16:33:58
|
Update of /cvsroot/firebird/client-java/src/native/jaygds/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15253/src/native/jaygds/source Modified Files: entrypoints_generated.h entrypoints.cpp fb_binding.cpp fb_binding.h Log Message: added support for isc_reconnect_transaction and isc_transaction_info Index: entrypoints_generated.h =================================================================== RCS file: /cvsroot/firebird/client-java/src/native/jaygds/source/entrypoints_generated.h,v retrieving revision 1.7 retrieving revision 1.8 diff -b -U3 -r1.7 -r1.8 --- entrypoints_generated.h 10 May 2005 06:40:14 -0000 1.7 +++ entrypoints_generated.h 22 May 2005 16:33:47 -0000 1.8 @@ -48,7 +48,7 @@ (JNIEnv *, jobject, jobject, jint, jbyteArray, jint, jbyteArray); /* - * Class: org_firebirdsql_gds_impl_jni_GDS_0005fImpl + * Class: org_ firebirdsql_gds_impl_jni_GDS_0005fImpl * Method: native_isc_detach_database * Signature: (Lorg/firebirdsql/gds/IscDbHandle;)V */ @@ -88,6 +88,14 @@ (JNIEnv *, jobject, jobject); /* + * Class: org_firebirdsql_gds_impl_jni_JniGDSImpl + * Method: native_isc_reconnect_transaction + * Signature: (Lorg/firebirdsql/gds/IscDbHandle;Lorg/firebirdsql/gds/IscTrHandle;[B)V + */ +JNIEXPORT void JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1reconnect_1transaction + (JNIEnv *, jobject, jobject, jobject, jbyteArray); + +/* * Class: org_firebirdsql_gds_impl_jni_GDS_0005fImpl * Method: native_isc_commit_retaining * Signature: (Lorg/firebirdsql/gds/IscTrHandle;)V @@ -295,6 +303,14 @@ JNIEXPORT void JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1service_1query (JNIEnv *, jobject, jobject, jbyteArray, jbyteArray, jbyteArray); +/* + * Class: org_firebirdsql_gds_impl_jni_JniGDSImpl + * Method: native_isc_transaction_info + * Signature: (Lorg/firebirdsql/gds/IscTrHandle;[BI)V + */ +JNIEXPORT jbyteArray JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1transaction_1info + (JNIEnv *, jobject, jobject, jbyteArray, jint); + #ifdef __cplusplus } #endif Index: entrypoints.cpp =================================================================== RCS file: /cvsroot/firebird/client-java/src/native/jaygds/source/entrypoints.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -b -U3 -r1.15 -r1.16 --- entrypoints.cpp 10 May 2005 06:40:14 -0000 1.15 +++ entrypoints.cpp 22 May 2005 16:33:47 -0000 1.16 @@ -250,6 +250,27 @@ } +JNIEXPORT void JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1reconnect_1transaction + (JNIEnv * javaEnvironment, jobject jThis, jobject jDatabaseHandle, jobject jTransactionHandle, jbyteArray jTransactionId) +{ + ENTER_PROTECTED_BLOCK + JIscTransactionHandle transactionHandle(javaEnvironment, jTransactionHandle); + JIscDatabaseHandle databaseHandle(javaEnvironment, jDatabaseHandle); + JByteArray transactionId(javaEnvironment, jTransactionId); + + FirebirdStatusVector status; + isc_db_handle rawDatabaseHandle = databaseHandle.GetHandleValue(); + isc_tr_handle rawTransactionHandle = transactionHandle.GetHandleValue(); + + FirebirdApiBinding::isc_reconnect_transaction( status.RawAccess(), &rawDatabaseHandle, &rawTransactionHandle, transactionId.Size(), transactionId.Read() ); + + transactionHandle.SetHandleValue(rawTransactionHandle); + databaseHandle.SetHandleValue( rawDatabaseHandle ); + + status.IssueExceptionsAndOrAddWarnings(javaEnvironment, databaseHandle); + LEAVE_PROTECTED_BLOCK +} + JNIEXPORT void JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1commit_1transaction (JNIEnv * javaEnvironment, jobject jThis, jobject jTransactionHandle) { @@ -588,6 +609,34 @@ } +JNIEXPORT jbyteArray JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1transaction_1info + (JNIEnv * javaEnvironment, jobject jThis, jobject jTransactionHandle, jbyteArray jItemsArray, jint jBufferLength) +{ + +ENTER_PROTECTED_BLOCK + JIscTransactionHandle transactionHandle(javaEnvironment, jTransactionHandle); + + JByteArray itemsArray( javaEnvironment, jItemsArray ); + JByteArray buffer( javaEnvironment, jBufferLength ); + + FirebirdStatusVector status; + isc_tr_handle rawTransactionHandle = transactionHandle.GetHandleValue(); + + FirebirdApiBinding::isc_transaction_info( status.RawAccess(), &rawTransactionHandle, itemsArray.Size(), itemsArray.Read(), buffer.Size(), buffer.Read() ); + + transactionHandle.SetHandleValue(rawTransactionHandle); + + jbyteArray returnValue = buffer.GetHandle(); + + status.IssueExceptionsAndOrAddWarnings(javaEnvironment, transactionHandle); + + return returnValue; + LEAVE_PROTECTED_BLOCK + + return NULL; + } + + JNIEXPORT void JNICALL Java_org_firebirdsql_gds_impl_jni_JniGDSImpl_native_1isc_1dsql_1exec_1immed2 (JNIEnv *javaEnvironment, jobject jThis, jobject jDatabaseHandle, jobject jTransactionHandle, jbyteArray jStatement, jint jDialect, jobject jInXsqlda, jobject jOutXsqlda) { Index: fb_binding.cpp =================================================================== RCS file: /cvsroot/firebird/client-java/src/native/jaygds/source/fb_binding.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -b -U3 -r1.8 -r1.9 --- fb_binding.cpp 19 Apr 2005 15:13:38 -0000 1.8 +++ fb_binding.cpp 22 May 2005 16:33:47 -0000 1.9 @@ -86,6 +86,7 @@ prototype_isc_service_detach* FirebirdApiBinding::isc_service_detach = NULL; prototype_isc_service_query* FirebirdApiBinding::isc_service_query = NULL; prototype_isc_service_start* FirebirdApiBinding::isc_service_start = NULL; +prototype_isc_transaction_info* FirebirdApiBinding::isc_transaction_info = NULL; @@ -156,6 +157,7 @@ FB_ENTRYPOINT(isc_service_detach); FB_ENTRYPOINT(isc_service_query); FB_ENTRYPOINT(isc_service_start); + FB_ENTRYPOINT(isc_transaction_info); sIsLoaded = true; } Index: fb_binding.h =================================================================== RCS file: /cvsroot/firebird/client-java/src/native/jaygds/source/fb_binding.h,v retrieving revision 1.7 retrieving revision 1.8 diff -b -U3 -r1.7 -r1.8 --- fb_binding.h 19 Apr 2005 15:13:38 -0000 1.7 +++ fb_binding.h 22 May 2005 16:33:47 -0000 1.8 @@ -317,6 +317,12 @@ unsigned short, char *); +typedef ISC_STATUS ISC_EXPORT prototype_isc_transaction_info(ISC_STATUS *, + isc_tr_handle *, + short, + char *, + short, + char *); @@ -388,6 +394,7 @@ static prototype_isc_service_detach* isc_service_detach; static prototype_isc_service_query* isc_service_query; static prototype_isc_service_start* isc_service_start; + static prototype_isc_transaction_info* isc_transaction_info; |