Lines Matching refs:env

112 static jlong nativeOpen(JNIEnv* env, jclass clazz, jstring pathStr, jint openFlags,
123 const char* pathChars = env->GetStringUTFChars(pathStr, NULL);
125 env->ReleaseStringUTFChars(pathStr, pathChars);
127 const char* labelChars = env->GetStringUTFChars(labelStr, NULL);
129 env->ReleaseStringUTFChars(labelStr, labelChars);
134 throw_sqlite3_exception_errcode(env, err, "Could not open database");
140 throw_sqlite3_exception(env, db, "Could not open the database in read/write mode.");
148 throw_sqlite3_exception(env, db, "Could not set busy timeout");
156 throw_sqlite3_exception(env, db, "Could not register Android SQL functions.");
176 static void nativeClose(JNIEnv* env, jclass clazz, jlong connectionPtr) {
185 throw_sqlite3_exception(env, connection->db, "Count not close db.");
196 JNIEnv* env = AndroidRuntime::getJNIEnv();
202 jobject functionObj = env->NewLocalRef(functionObjGlobal);
204 jobjectArray argsArray = env->NewObjectArray(argc, gStringClassInfo.clazz, NULL);
212 jstring argStr = env->NewString(arg, argLen);
216 env->SetObjectArrayElement(argsArray, i, argStr);
217 env->DeleteLocalRef(argStr);
222 env->CallVoidMethod(functionObj,
226 env->DeleteLocalRef(argsArray);
229 env->DeleteLocalRef(functionObj);
231 if (env->ExceptionCheck()) {
233 LOGE_EX(env);
234 env->ExceptionClear();
242 JNIEnv* env = AndroidRuntime::getJNIEnv();
243 env->DeleteGlobalRef(functionObjGlobal);
246 static void nativeRegisterCustomFunction(JNIEnv* env, jclass clazz, jlong connectionPtr,
250 jstring nameStr = jstring(env->GetObjectField(
252 jint numArgs = env->GetIntField(functionObj, gSQLiteCustomFunctionClassInfo.numArgs);
254 jobject functionObjGlobal = env->NewGlobalRef(functionObj);
256 const char* name = env->GetStringUTFChars(nameStr, NULL);
260 env->ReleaseStringUTFChars(nameStr, name);
264 env->DeleteGlobalRef(functionObjGlobal);
265 throw_sqlite3_exception(env, connection->db);
270 static void nativeRegisterLocalizedCollators(JNIEnv* env, jclass clazz, jlong connectionPtr,
274 const char* locale = env->GetStringUTFChars(localeStr, NULL);
276 env->ReleaseStringUTFChars(localeStr, locale);
279 throw_sqlite3_exception(env, connection->db);
283 static jlong nativePrepareStatement(JNIEnv* env, jclass clazz, jlong connectionPtr,
287 jsize sqlLength = env->GetStringLength(sqlString);
288 const jchar* sql = env->GetStringCritical(sqlString, NULL);
292 env->ReleaseStringCritical(sqlString, sql);
298 const char *query = env->GetStringUTFChars(sqlString, NULL);
304 env->ReleaseStringUTFChars(sqlString, query);
305 throw_sqlite3_exception(env, connection->db, message);
314 static void nativeFinalizeStatement(JNIEnv* env, jclass clazz, jlong connectionPtr,
326 static jint nativeGetParameterCount(JNIEnv* env, jclass clazz, jlong connectionPtr,
334 static jboolean nativeIsReadOnly(JNIEnv* env, jclass clazz, jlong connectionPtr,
342 static jint nativeGetColumnCount(JNIEnv* env, jclass clazz, jlong connectionPtr,
350 static jstring nativeGetColumnName(JNIEnv* env, jclass clazz, jlong connectionPtr,
361 return env->NewString(name, length);
366 static void nativeBindNull(JNIEnv* env, jclass clazz, jlong connectionPtr,
373 throw_sqlite3_exception(env, connection->db, NULL);
377 static void nativeBindLong(JNIEnv* env, jclass clazz, jlong connectionPtr,
384 throw_sqlite3_exception(env, connection->db, NULL);
388 static void nativeBindDouble(JNIEnv* env, jclass clazz, jlong connectionPtr,
395 throw_sqlite3_exception(env, connection->db, NULL);
399 static void nativeBindString(JNIEnv* env, jclass clazz, jlong connectionPtr,
404 jsize valueLength = env->GetStringLength(valueString);
405 const jchar* value = env->GetStringCritical(valueString, NULL);
408 env->ReleaseStringCritical(valueString, value);
410 throw_sqlite3_exception(env, connection->db, NULL);
414 static void nativeBindBlob(JNIEnv* env, jclass clazz, jlong connectionPtr,
419 jsize valueLength = env->GetArrayLength(valueArray);
420 jbyte* value = static_cast<jbyte*>(env->GetPrimitiveArrayCritical(valueArray, NULL));
422 env->ReleasePrimitiveArrayCritical(valueArray, value, JNI_ABORT);
424 throw_sqlite3_exception(env, connection->db, NULL);
428 static void nativeResetStatementAndClearBindings(JNIEnv* env, jclass clazz, jlong connectionPtr,
438 throw_sqlite3_exception(env, connection->db, NULL);
442 static int executeNonQuery(JNIEnv* env, SQLiteConnection* connection, sqlite3_stmt* statement) {
445 throw_sqlite3_exception(env,
448 throw_sqlite3_exception(env, connection->db);
453 static void nativeExecute(JNIEnv* env, jclass clazz, jlong connectionPtr,
458 executeNonQuery(env, connection, statement);
461 static jint nativeExecuteForChangedRowCount(JNIEnv* env, jclass clazz,
466 int err = executeNonQuery(env, connection, statement);
470 static jlong nativeExecuteForLastInsertedRowId(JNIEnv* env, jclass clazz,
475 int err = executeNonQuery(env, connection, statement);
480 static int executeOneRowQuery(JNIEnv* env, SQLiteConnection* connection, sqlite3_stmt* statement) {
483 throw_sqlite3_exception(env, connection->db);
488 static jlong nativeExecuteForLong(JNIEnv* env, jclass clazz,
493 int err = executeOneRowQuery(env, connection, statement);
500 static jstring nativeExecuteForString(JNIEnv* env, jclass clazz,
505 int err = executeOneRowQuery(env, connection, statement);
510 return env->NewString(text, length);
516 static int createAshmemRegionWithData(JNIEnv* env, const void* data, size_t length) {
546 jniThrowIOException(env, error);
550 static jint nativeExecuteForBlobFileDescriptor(JNIEnv* env, jclass clazz,
555 int err = executeOneRowQuery(env, connection, statement);
561 return createAshmemRegionWithData(env, blob, length);
574 static CopyRowResult copyRow(JNIEnv* env, CursorWindow* window,
654 throw_sqlite3_exception(env, "Unknown column type when filling window");
667 static jlong nativeExecuteForCursorWindow(JNIEnv* env, jclass clazz,
678 throw_sqlite3_exception(env, connection->db, msg.string());
688 throw_sqlite3_exception(env, connection->db, msg.string());
709 CopyRowResult cpr = copyRow(env, window, statement, numColumns, startPos, addedRows);
718 cpr = copyRow(env, window, statement, numColumns, startPos, addedRows);
737 throw_sqlite3_exception(env, connection->db, "retrycount exceeded");
745 throw_sqlite3_exception(env, connection->db);
763 static jint nativeGetDbLookaside(JNIEnv* env, jobject clazz, jlong connectionPtr) {
772 static void nativeCancel(JNIEnv* env, jobject clazz, jlong connectionPtr) {
777 static void nativeResetCancel(JNIEnv* env, jobject clazz, jlong connectionPtr,
849 var = env->FindClass(className); \
853 var = env->GetMethodID(clazz, methodName, fieldDescriptor); \
857 var = env->GetFieldID(clazz, fieldName, fieldDescriptor); \
860 int register_android_database_SQLiteConnection(JNIEnv *env)
873 gStringClassInfo.clazz = jclass(env->NewGlobalRef(clazz));
875 return AndroidRuntime::registerNativeMethods(env, "android/database/sqlite/SQLiteConnection",