// Copyright (c) 2001 David Muse // See the file COPYING for more information. #ifdef __CYGWIN__ #include #endif #include #include #include #ifdef __cplusplus extern "C" { #endif char *curGetStringUTFChars(JNIEnv *env, jstring string, jboolean *modifier) { if (string) { return (char *)env->GetStringUTFChars(string,modifier); } return (char *)NULL; } void curReleaseStringUTFChars(JNIEnv *env, jstring string, char *chararray) { if (string && chararray) { env->ReleaseStringUTFChars(string,chararray); } } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: alloc * Signature: (LSQLRConnection;)V */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_alloc (JNIEnv *env, jobject self, jlong con) { sqlrcursor *cur=new sqlrcursor((sqlrconnection *)con); cur->copyReferences(); return (jlong)cur; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: delete * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_delete (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); delete cur; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: setResultSetBufferSize * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_setResultSetBufferSize (JNIEnv *env, jobject self, jlong rows) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->setResultSetBufferSize((uint64_t)rows); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getResultSetBufferSize * Signature: ()J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getResultSetBufferSize (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->getResultSetBufferSize(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: dontGetColumnInfo * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_dontGetColumnInfo (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->dontGetColumnInfo(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnInfo * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnInfo (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->getColumnInfo(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: mixedCaseColumnNames * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_mixedCaseColumnNames (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->mixedCaseColumnNames(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: upperCaseColumnNames * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_upperCaseColumnNames (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->upperCaseColumnNames(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: lowerCaseColumnNames * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_lowerCaseColumnNames (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->lowerCaseColumnNames(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: cacheToFile * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_cacheToFile (JNIEnv *env, jobject self, jstring filename) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *filenamestring=curGetStringUTFChars(env,filename,0); cur->cacheToFile(filenamestring); curReleaseStringUTFChars(env,filename,filenamestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: setCacheTtl * Signature: (I)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_setCacheTtl (JNIEnv *env, jobject self, jint ttl) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->setCacheTtl((uint32_t)ttl); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getCacheFileName * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getCacheFileName (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return env->NewStringUTF(cur->getCacheFileName()); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: cacheOff * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_cacheOff (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->cacheOff(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: sendQuery * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_sendQuery__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring query) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *querystring=curGetStringUTFChars(env,query,0); jboolean retval= (cur->sendQuery(querystring))?JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,query,querystring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: sendQuery * Signature: (Ljava/lang/String;I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_sendQuery__Ljava_lang_String_2I (JNIEnv *env, jobject self, jstring query, jint length) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *querystring=curGetStringUTFChars(env,query,0); jboolean retval= (cur->sendQuery(querystring,(uint32_t)length))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,query,querystring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: sendFileQuery * Signature: (Ljava/lang/String;Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_sendFileQuery (JNIEnv *env, jobject self, jstring path, jstring filename) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *pathstring=curGetStringUTFChars(env,path,0); char *filenamestring=curGetStringUTFChars(env,filename,0); jboolean retval= (cur->sendFileQuery(pathstring,filenamestring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,path,pathstring); curReleaseStringUTFChars(env,filename,filenamestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: prepareQuery * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_prepareQuery__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring query) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *querystring=curGetStringUTFChars(env,query,0); cur->prepareQuery(querystring); curReleaseStringUTFChars(env,query,querystring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: prepareQuery * Signature: (Ljava/lang/String;I)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_prepareQuery__Ljava_lang_String_2I (JNIEnv *env, jobject self, jstring query, jint length) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *querystring=curGetStringUTFChars(env,query,0); cur->prepareQuery(querystring,(uint32_t)length); curReleaseStringUTFChars(env,query,querystring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: prepareFileQuery * Signature: (Ljava/lang/String;Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_prepareFileQuery (JNIEnv *env, jobject self, jstring path, jstring filename) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *pathstring=curGetStringUTFChars(env,path,0); char *filenamestring=curGetStringUTFChars(env,filename,0); jboolean retval= (cur->prepareFileQuery(pathstring,filenamestring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,path,pathstring); curReleaseStringUTFChars(env,filename,filenamestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: clearBinds * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_clearBinds (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->clearBinds(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: substitution * Signature: (Ljava/lang/String;Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_substitution__Ljava_lang_String_2Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring variable, jstring value) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); char *valuestring=curGetStringUTFChars(env,value,0); cur->substitution(variablestring,valuestring); curReleaseStringUTFChars(env,variable,variablestring); curReleaseStringUTFChars(env,value,valuestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: substitution * Signature: (Ljava/lang/String;J)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_substitution__Ljava_lang_String_2J (JNIEnv *env, jobject self, jstring variable, jlong value) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->substitution(variablestring,(int64_t)value); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: substitution * Signature: (Ljava/lang/String;DII)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_substitution__Ljava_lang_String_2DII (JNIEnv *env, jobject self, jstring variable, jdouble value, jint precision, jint scale) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->substitution(variablestring,(double)value, (uint32_t)precision, (uint32_t)scale); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: countBindVariables * Signature: ()S */ JNIEXPORT jshort JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_countBindVariables (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jshort)cur->countBindVariables(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBind * Signature: (Ljava/lang/String;Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBind__Ljava_lang_String_2Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring variable, jstring value) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); char *valuestring=curGetStringUTFChars(env,value,0); cur->inputBind(variablestring,valuestring); curReleaseStringUTFChars(env,variable,variablestring); curReleaseStringUTFChars(env,value,valuestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBind * Signature: (Ljava/lang/String;J)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBind__Ljava_lang_String_2J (JNIEnv *env, jobject self, jstring variable, jlong value) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->inputBind(variablestring,(int64_t)value); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBind * Signature: (Ljava/lang/String;DII)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBind__Ljava_lang_String_2DII (JNIEnv *env, jobject self, jstring variable, jdouble value, jint precision, jint scale) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->inputBind(variablestring,(double)value, (uint32_t)precision, (uint32_t)scale); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBindBlob * Signature: (Ljava/lang/String;[BJ)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBindBlob (JNIEnv *env, jobject self, jstring variable, jbyteArray value, jlong size) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); if (size) { jbyte *valuebytes=new jbyte[size]; env->GetByteArrayRegion(value,0,size,valuebytes); cur->inputBindBlob(variablestring,(char *)valuebytes, (uint32_t)size); delete[] valuebytes; } else { cur->inputBindBlob(variablestring,NULL,0); } curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBindClob * Signature: (Ljava/lang/String;Ljava/lang/String;J)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBindClob (JNIEnv *env, jobject self, jstring variable, jstring value, jlong size) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); char *valuestring=curGetStringUTFChars(env,value,0); cur->inputBindClob(variablestring,valuestring,(uint32_t)size); curReleaseStringUTFChars(env,variable,variablestring); curReleaseStringUTFChars(env,value,valuestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: defineOutputBindString * Signature: (Ljava/lang/String;I)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_defineOutputBindString (JNIEnv *env, jobject self, jstring variable, jint bufferlength) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->defineOutputBindString(variablestring,(uint32_t)bufferlength); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: defineOutputBindInteger * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_defineOutputBindInteger (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->defineOutputBindInteger(variablestring); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: defineOutputBindDouble * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_defineOutputBindDouble (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->defineOutputBindDouble(variablestring); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: defineOutputBindBlob * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_defineOutputBindBlob (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->defineOutputBindBlob(variablestring); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: defineOutputBindClob * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_defineOutputBindClob (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->defineOutputBindClob(variablestring); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: defineOutputBindCursor * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_defineOutputBindCursor (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); cur->defineOutputBindCursor(variablestring); curReleaseStringUTFChars(env,variable,variablestring); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: substitutions * Signature: ([Ljava/lang/String;[Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_substitutions___3Ljava_lang_String_2_3Ljava_lang_String_2 (JNIEnv *env, jobject self, jobjectArray variables, jobjectArray values) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); jsize variableslen=env->GetArrayLength(variables); for (int i=0; iGetObjectArrayElement(variables,i); jstring value= (jstring)env->GetObjectArrayElement(values,i); char *variablestring=curGetStringUTFChars(env,variable,0); char *valuestring=curGetStringUTFChars(env,value,0); cur->substitution(variablestring,valuestring); curReleaseStringUTFChars(env,variable,variablestring); curReleaseStringUTFChars(env,value,valuestring); } } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: substitutions * Signature: ([Ljava/lang/String;[J)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_substitutions___3Ljava_lang_String_2_3J (JNIEnv *env, jobject self, jobjectArray variables, jlongArray values) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); jsize variableslen=env->GetArrayLength(variables); jlong *valuesarray=env->GetLongArrayElements(values,0); for (int i=0; iGetObjectArrayElement(variables,i); char *variablestring= curGetStringUTFChars(env,variable,0); cur->substitution(variablestring,valuesarray[i]); curReleaseStringUTFChars(env,variable,variablestring); } env->ReleaseLongArrayElements(values,valuesarray,0); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: substitutions * Signature: ([Ljava/lang/String;[D[I[I)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_substitutions___3Ljava_lang_String_2_3D_3I_3I (JNIEnv *env, jobject self, jobjectArray variables, jdoubleArray values, jintArray precisions, jintArray scales) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); jsize variableslen=env->GetArrayLength(variables); jdouble *valuesarray=env->GetDoubleArrayElements(values,0); jint *precisionsarray=env->GetIntArrayElements(precisions,0); jint *scalesarray=env->GetIntArrayElements(scales,0); for (int i=0; iGetObjectArrayElement(variables,i); char *variablestring= curGetStringUTFChars(env,variable,0); cur->substitution(variablestring,valuesarray[i], (uint32_t)precisionsarray[i], (uint32_t)scalesarray[i]); curReleaseStringUTFChars(env,variable,variablestring); } env->ReleaseDoubleArrayElements(values,valuesarray,0); env->ReleaseIntArrayElements(precisions,precisionsarray,0); env->ReleaseIntArrayElements(scales,scalesarray,0); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBinds * Signature: ([Ljava/lang/String;[Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBinds___3Ljava_lang_String_2_3Ljava_lang_String_2 (JNIEnv *env, jobject self, jobjectArray variables, jobjectArray values) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); jsize variableslen=env->GetArrayLength(variables); for (int i=0; iGetObjectArrayElement(variables,i); jstring value= (jstring)env->GetObjectArrayElement(values,i); char *variablestring= curGetStringUTFChars(env,variable,0); char *valuestring= curGetStringUTFChars(env,value,0); cur->inputBind(variablestring,valuestring); curReleaseStringUTFChars(env,variable,variablestring); curReleaseStringUTFChars(env,value,valuestring); } } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBinds * Signature: ([Ljava/lang/String;[J)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBinds___3Ljava_lang_String_2_3J (JNIEnv *env, jobject self, jobjectArray variables, jlongArray values) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); jsize variableslen=env->GetArrayLength(variables); jlong *valuesarray=env->GetLongArrayElements(values,0); for (int i=0; iGetObjectArrayElement(variables,i); char *variablestring= curGetStringUTFChars(env,variable,0); cur->inputBind(variablestring,(int64_t)valuesarray[i]); curReleaseStringUTFChars(env,variable,variablestring); } env->ReleaseLongArrayElements(values,valuesarray,0); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: inputBinds * Signature: ([Ljava/lang/String;[D[I[I)V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_inputBinds___3Ljava_lang_String_2_3D_3I_3I (JNIEnv *env, jobject self, jobjectArray variables, jdoubleArray values, jintArray precisions, jintArray scales) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); jsize variableslen=env->GetArrayLength(variables); jdouble *valuesarray=env->GetDoubleArrayElements(values,0); jint *precisionsarray=env->GetIntArrayElements(precisions,0); jint *scalesarray=env->GetIntArrayElements(scales,0); for (int i=0; iGetObjectArrayElement(variables,i); char *variablestring= curGetStringUTFChars(env,variable,0); cur->inputBind(variablestring,valuesarray[i], (uint32_t)precisionsarray[i], (uint32_t)scalesarray[i]); curReleaseStringUTFChars(env,variable,variablestring); } env->ReleaseDoubleArrayElements(values,valuesarray,0); env->ReleaseIntArrayElements(precisions,precisionsarray,0); env->ReleaseIntArrayElements(scales,scalesarray,0); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: validateBinds * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_validateBinds (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->validateBinds(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: executeQuery * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_executeQuery (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->executeQuery())?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: fetchFromBindCursor * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_fetchFromBindCursor (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->fetchFromBindCursor())?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindString * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindString (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); jstring retval=env->NewStringUTF( cur->getOutputBindString(variablestring)); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindBlob * Signature: (Ljava/lang/String;)LB */ JNIEXPORT jbyteArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindBlob (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); long length=cur->getOutputBindLength(variablestring); jbyteArray retval=env->NewByteArray(length); env->SetByteArrayRegion(retval,0,length, (jbyte *)cur->getOutputBindBlob(variablestring)); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindClob * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindClob (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); jstring retval=env->NewStringUTF( cur->getOutputBindClob(variablestring)); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindInteger * Signature: (Ljava/lang/String;)J; */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindInteger (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); jlong retval=(jlong)cur->getOutputBindInteger(variablestring); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindDouble * Signature: (Ljava/lang/String;)J; */ JNIEXPORT jdouble JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindDouble (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); jdouble retval=(jdouble)cur->getOutputBindDouble(variablestring); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindAsByteArray * Signature: (Ljava/lang/String;)[B */ JNIEXPORT jbyteArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindAsByteArray (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); long length=cur->getOutputBindLength(variablestring); jbyteArray retval=env->NewByteArray(length); env->SetByteArrayRegion(retval,0,length, (jbyte *)cur->getOutputBindString(variablestring)); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindLength * Signature: (Ljava/lang/String;)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindLength (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); jlong retval=(jlong)cur->getOutputBindLength(variablestring); curReleaseStringUTFChars(env,variable,variablestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getOutputBindCursor * Signature: (Ljava/lang/String;)V */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getOutputBindCursorInternal (JNIEnv *env, jobject self, jstring variable) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *variablestring=curGetStringUTFChars(env,variable,0); sqlrcursor *bindcur=cur->getOutputBindCursor(variablestring); curReleaseStringUTFChars(env,variable,variablestring); return (jlong)bindcur; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: openCachedResultSet * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_openCachedResultSet (JNIEnv *env, jobject self, jstring filename) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *filenamestring=curGetStringUTFChars(env,filename,0); jboolean retval= (cur->openCachedResultSet(filenamestring))?JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,filename,filenamestring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: colCount * Signature: ()I */ JNIEXPORT jint JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_colCount (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jint)cur->colCount(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: rowCount * Signature: ()J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_rowCount (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->rowCount(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: totalRows * Signature: ()J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_totalRows (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->totalRows(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: affectedRows * Signature: ()J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_affectedRows (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->affectedRows(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: firstRowIndex * Signature: ()J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_firstRowIndex (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->firstRowIndex(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: endOfResultSet * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_endOfResultSet (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->endOfResultSet())?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: errorMessage * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_errorMessage (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return env->NewStringUTF(cur->errorMessage()); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getNullsAsEmptyStrings * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getNullsAsEmptyStrings (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->getNullsAsEmptyStrings(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getNullsAsNulls * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getNullsAsNulls (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->getNullsAsNulls(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getField * Signature: (JI)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getField__JI (JNIEnv *env, jobject self, jlong row, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return env->NewStringUTF(cur->getField((uint64_t)row,(uint32_t)col)); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getField * Signature: (JLjava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getField__JLjava_lang_String_2 (JNIEnv *env, jobject self, jlong row, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jstring retval=env->NewStringUTF(cur->getField((uint64_t)row, colstring)); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldAsInteger * Signature: (JI)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldAsInteger__JI (JNIEnv *env, jobject self, jlong row, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->getFieldAsInteger((uint64_t)row,(uint32_t)col); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldAsInteger * Signature: (JLjava/lang/String;)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldAsInteger__JLjava_lang_String_2 (JNIEnv *env, jobject self, jlong row, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jlong retval=(jlong)cur->getFieldAsInteger((uint64_t)row,colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldAsDouble * Signature: (JI)D */ JNIEXPORT jdouble JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldAsDouble__JI (JNIEnv *env, jobject self, jlong row, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jdouble)cur->getFieldAsDouble((uint64_t)row,(uint32_t)col); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldAsDouble * Signature: (JLjava/lang/String;)D */ JNIEXPORT jdouble JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldAsDouble__ILjava_lang_String_2 (JNIEnv *env, jobject self, jlong row, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jdouble retval=(jlong)cur->getFieldAsDouble((uint64_t)row,colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldAsByteArray * Signature: (JI)[B */ JNIEXPORT jbyteArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldAsByteArray__JI (JNIEnv *env, jobject self, jlong row, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); long length=cur->getFieldLength((uint64_t)row,(uint32_t)col); jbyteArray retval=env->NewByteArray(length); env->SetByteArrayRegion(retval,0,length, (jbyte *)cur->getField((uint64_t)row, (uint32_t)col)); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldAsByteArray * Signature: (JLjava/lang/String;)[B */ JNIEXPORT jbyteArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldAsByteArray__JLjava_lang_String_2 (JNIEnv *env, jobject self, jlong row, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); long length=cur->getFieldLength((uint64_t)row,colstring); jbyteArray retval=env->NewByteArray(length); env->SetByteArrayRegion(retval,0,length, (jbyte *)cur->getField((uint64_t)row, colstring)); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldLength * Signature: (JI)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldLength__JI (JNIEnv *env, jobject self, jlong row, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)(cur->getFieldLength((uint64_t)row,(uint32_t)col)); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getRow * Signature: (J)[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getRow (JNIEnv *env, jobject self, jlong row) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); uint32_t colcount=cur->colCount(); jobjectArray retarray= #ifdef CAST_NEW_OBJECT_ARRAY // NewObjectArray returns jarray, not jobjectArray, and must be // cast (at least on some systems) (jobjectArray) #endif env->NewObjectArray(colcount, env->FindClass("java/lang/String"), env->NewStringUTF("")); const char * const *field=cur->getRow((uint64_t)row); for (uint32_t i=0; iSetObjectArrayElement(retarray,i, env->NewStringUTF(field[i])); } return retarray; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getRowLengths * Signature: (J)[J */ JNIEXPORT jlongArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getRowLengths (JNIEnv *env, jobject self, jlong row) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); uint32_t colcount=cur->colCount(); uint32_t *rowlengths=cur->getRowLengths((uint64_t)row); if (!rowlengths) { return 0; } jlong *jrowlengths=new jlong[colcount]; for (uint32_t i=0; iNewLongArray(colcount); env->SetLongArrayRegion(retarray,0,colcount,jrowlengths); delete jrowlengths; return retarray; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnNames * Signature: ()[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnNames (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); int colcount=cur->colCount(); jobjectArray retarray= #ifdef CAST_NEW_OBJECT_ARRAY // NewObjectArray returns jarray, not jobjectArray, and must be // cast (at least on some systems) (jobjectArray) #endif env->NewObjectArray(colcount, env->FindClass("java/lang/String"), env->NewStringUTF("")); const char * const *colnames=cur->getColumnNames(); if (!colnames) { return 0; } for (int i=0; iSetObjectArrayElement(retarray,i, env->NewStringUTF(colnames[i])); } return retarray; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getFieldLength * Signature: (JLjava/lang/String;)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getFieldLength__JLjava_lang_String_2 (JNIEnv *env, jobject self, jlong row, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jlong retval=(jlong)cur->getFieldLength((uint64_t)row,colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnName * Signature: (I)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnName (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return env->NewStringUTF(cur->getColumnName((uint32_t)col)); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnType * Signature: (I)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnType__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return env->NewStringUTF(cur->getColumnType((uint32_t)col)); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnType * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnType__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jstring retval=env->NewStringUTF(cur->getColumnType(colstring)); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnPrecision * Signature: (I)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnPrecision__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->getColumnPrecision((uint32_t)col); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnPrecision * Signature: (Ljava/lang/String;)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnPrecision__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jlong retval=(jlong)cur->getColumnPrecision(colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnScale * Signature: (I)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnScale__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jlong)cur->getColumnScale((uint32_t)col); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnScale * Signature: (Ljava/lang/String;)J */ JNIEXPORT jlong JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnScale__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jlong retval=(jlong)cur->getColumnScale(colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsNullable * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsNullable__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsNullable((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsNullable * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsNullable__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsNullable(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsPrimaryKey * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsPrimaryKey__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsPrimaryKey((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsPrimaryKey * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsPrimaryKey__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsPrimaryKey(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsUnique * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsUnique__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsUnique((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsUnique * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsUnique__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsUnique(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsPartOfKey * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsPartOfKey__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsUnique((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsPartOfKey * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsPartOfKey__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsPartOfKey(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsUnsigned * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsUnsigned__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsUnique((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsUnsigned * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsUnsigned__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsUnsigned(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsZeroFilled * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsZeroFilled__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsUnique((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsZeroFilled * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsZeroFilled__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsZeroFilled(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsBinary * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsBinary__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsUnique((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsBinary * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsBinary__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsBinary(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsAutoIncrement * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsAutoIncrement__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (cur->getColumnIsUnique((uint32_t)col))?JNI_TRUE:JNI_FALSE; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnIsAutoIncrement * Signature: (Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnIsAutoIncrement__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jboolean retval=(cur->getColumnIsAutoIncrement(colstring))? JNI_TRUE:JNI_FALSE; curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnLength * Signature: (I)I */ JNIEXPORT jint JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnLength__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jint)cur->getColumnLength((uint32_t)col); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getColumnLength * Signature: (Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getColumnLength__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jint retval=(jint)cur->getColumnLength(colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getLongest * Signature: (I)I */ JNIEXPORT jint JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getLongest__I (JNIEnv *env, jobject self, jint col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jint)cur->getLongest((uint32_t)col); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getLongest * Signature: (Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getLongest__Ljava_lang_String_2 (JNIEnv *env, jobject self, jstring col) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *colstring=curGetStringUTFChars(env,col,0); jint retval=(jint)cur->getLongest(colstring); curReleaseStringUTFChars(env,col,colstring); return retval; } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: getResultSetId * Signature: ()S */ JNIEXPORT jshort JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_getResultSetId (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jshort)cur->getResultSetId(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: suspendResultSet * Signature: ()V */ JNIEXPORT void JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_suspendResultSet (JNIEnv *env, jobject self) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); cur->suspendResultSet(); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: resumeResultSet * Signature: (S)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_resumeResultSet (JNIEnv *env, jobject self, jshort id) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); return (jboolean)cur->resumeResultSet((uint16_t)id); } /* * Class: com_firstworks_sqlrelay_SQLRCursor * Method: resumeCachedResultSet * Signature: (SLjava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_com_firstworks_sqlrelay_SQLRCursor_resumeCachedResultSet (JNIEnv *env, jobject self, jshort id, jstring filename) { jclass cls=env->GetObjectClass(self); sqlrcursor *cur=(sqlrcursor *)env->GetIntField(self, env->GetFieldID(cls,"cursor","J")); char *filenamestring=curGetStringUTFChars(env,filename,0); jboolean retval= (jboolean)cur->resumeCachedResultSet((uint16_t)id, filenamestring); curReleaseStringUTFChars(env,filename,filenamestring); return retval; } #ifdef __cplusplus } #endif