mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Move Java-side FTS5 bits into the fts5 subpackage to (A) make it easy to optionally bundle it (or not) and (B) set a precedent for puting extension APIs in their own package.
FossilOrigin-Name: 4c773e1f331cd5854d4c6e8825197933c0bb6827b7437e56ac0ad650d1ddf55e
This commit is contained in:
@ -383,11 +383,11 @@ static const struct {
|
||||
RefO(13, "OutputPointer$String", "Ljava/lang/String;"),
|
||||
#ifdef SQLITE_ENABLE_FTS5
|
||||
RefO(14, "OutputPointer$ByteArray", "[B"),
|
||||
RefN(15, "Fts5Context"),
|
||||
RefN(16, "Fts5ExtensionApi"),
|
||||
RefN(17, "fts5_api"),
|
||||
RefN(18, "fts5_tokenizer"),
|
||||
RefN(19, "Fts5Tokenizer")
|
||||
RefN(15, "fts5/Fts5Context"),
|
||||
RefN(16, "fts5/Fts5ExtensionApi"),
|
||||
RefN(17, "fts5/fts5_api"),
|
||||
RefN(18, "fts5/fts5_tokenizer"),
|
||||
RefN(19, "fts5/Fts5Tokenizer")
|
||||
#endif
|
||||
#undef MkRef
|
||||
#undef RefN
|
||||
@ -4793,11 +4793,11 @@ JniDecl(void,1jni_1internal_1details)(JniArgsEnvClass){
|
||||
|
||||
/* Creates a verbose JNI Fts5 function name. */
|
||||
#define JniFuncNameFtsXA(Suffix) \
|
||||
Java_org_sqlite_jni_Fts5ExtensionApi_ ## Suffix
|
||||
Java_org_sqlite_jni_fts5_Fts5ExtensionApi_ ## Suffix
|
||||
#define JniFuncNameFtsApi(Suffix) \
|
||||
Java_org_sqlite_jni_fts5_1api_ ## Suffix
|
||||
Java_org_sqlite_jni_fts5_fts5_1api_ ## Suffix
|
||||
#define JniFuncNameFtsTok(Suffix) \
|
||||
Java_org_sqlite_jni_fts5_tokenizer_ ## Suffix
|
||||
Java_org_sqlite_jni_fts5_fts5_tokenizer_ ## Suffix
|
||||
|
||||
#define JniDeclFtsXA(ReturnType,Suffix) \
|
||||
JNIEXPORT ReturnType JNICALL \
|
||||
@ -4855,8 +4855,8 @@ static Fts5JniAux * Fts5JniAux_alloc(JNIEnv * const env, jobject jObj){
|
||||
s->jObj = S3JniRefGlobal(jObj);
|
||||
klazz = (*env)->GetObjectClass(env, jObj);
|
||||
s->jmid = (*env)->GetMethodID(env, klazz, "call",
|
||||
"(Lorg/sqlite/jni/Fts5ExtensionApi;"
|
||||
"Lorg/sqlite/jni/Fts5Context;"
|
||||
"(Lorg/sqlite/jni/fts5/Fts5ExtensionApi;"
|
||||
"Lorg/sqlite/jni/fts5/Fts5Context;"
|
||||
"Lorg/sqlite/jni/sqlite3_context;"
|
||||
"[Lorg/sqlite/jni/sqlite3_value;)V");
|
||||
S3JniUnrefLocal(klazz);
|
||||
@ -5651,7 +5651,7 @@ Java_org_sqlite_jni_SQLite3Jni_init(JniArgsEnvClass){
|
||||
}
|
||||
|
||||
#ifdef SQLITE_ENABLE_FTS5
|
||||
klazz = (*env)->FindClass(env, "org/sqlite/jni/Fts5PhraseIter");
|
||||
klazz = (*env)->FindClass(env, "org/sqlite/jni/fts5/Fts5PhraseIter");
|
||||
S3JniExceptionIsFatal("Error getting reference to org.sqlite.jni.Fts5PhraseIter.");
|
||||
SJG.fts5.jPhraseIter.fidA = (*env)->GetFieldID(env, klazz, "a", "J");
|
||||
S3JniExceptionIsFatal("Cannot get Fts5PhraseIter.a field.");
|
||||
|
@ -2097,171 +2097,171 @@ JNIEXPORT void JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1jni_1internal_1de
|
||||
#endif
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class org_sqlite_jni_Fts5ExtensionApi */
|
||||
/* Header for class org_sqlite_jni_fts5_Fts5ExtensionApi */
|
||||
|
||||
#ifndef _Included_org_sqlite_jni_Fts5ExtensionApi
|
||||
#define _Included_org_sqlite_jni_Fts5ExtensionApi
|
||||
#ifndef _Included_org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
#define _Included_org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: getInstance
|
||||
* Signature: ()Lorg/sqlite/jni/Fts5ExtensionApi;
|
||||
* Signature: ()Lorg/sqlite/jni/fts5/Fts5ExtensionApi;
|
||||
*/
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_getInstance
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_getInstance
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xColumnCount
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xColumnCount
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xColumnCount
|
||||
(JNIEnv *, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xColumnSize
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xColumnSize
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xColumnSize
|
||||
(JNIEnv *, jobject, jobject, jint, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xColumnText
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/OutputPointer/String;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/OutputPointer/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xColumnText
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xColumnText
|
||||
(JNIEnv *, jobject, jobject, jint, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xColumnTotalSize
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/OutputPointer/Int64;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/OutputPointer/Int64;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xColumnTotalSize
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xColumnTotalSize
|
||||
(JNIEnv *, jobject, jobject, jint, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xGetAuxdata
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;Z)Ljava/lang/Object;
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;Z)Ljava/lang/Object;
|
||||
*/
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xGetAuxdata
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xGetAuxdata
|
||||
(JNIEnv *, jobject, jobject, jboolean);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xInst
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xInst
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xInst
|
||||
(JNIEnv *, jobject, jobject, jint, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xInstCount
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xInstCount
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xInstCount
|
||||
(JNIEnv *, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xPhraseCount
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xPhraseCount
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xPhraseCount
|
||||
(JNIEnv *, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xPhraseFirst
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/fts5/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xPhraseFirst
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xPhraseFirst
|
||||
(JNIEnv *, jobject, jobject, jint, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xPhraseFirstColumn
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/fts5/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xPhraseFirstColumn
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xPhraseFirstColumn
|
||||
(JNIEnv *, jobject, jobject, jint, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xPhraseNext
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;Lorg/sqlite/jni/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;)V
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;Lorg/sqlite/jni/fts5/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;Lorg/sqlite/jni/OutputPointer/Int32;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xPhraseNext
|
||||
JNIEXPORT void JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xPhraseNext
|
||||
(JNIEnv *, jobject, jobject, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xPhraseNextColumn
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;Lorg/sqlite/jni/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;)V
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;Lorg/sqlite/jni/fts5/Fts5PhraseIter;Lorg/sqlite/jni/OutputPointer/Int32;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xPhraseNextColumn
|
||||
JNIEXPORT void JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xPhraseNextColumn
|
||||
(JNIEnv *, jobject, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xPhraseSize
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;I)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;I)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xPhraseSize
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xPhraseSize
|
||||
(JNIEnv *, jobject, jobject, jint);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xQueryPhrase
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;ILorg/sqlite/jni/Fts5ExtensionApi/XQueryPhraseCallback;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;ILorg/sqlite/jni/fts5/Fts5ExtensionApi/XQueryPhraseCallback;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xQueryPhrase
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xQueryPhrase
|
||||
(JNIEnv *, jobject, jobject, jint, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xRowCount
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;Lorg/sqlite/jni/OutputPointer/Int64;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;Lorg/sqlite/jni/OutputPointer/Int64;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xRowCount
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xRowCount
|
||||
(JNIEnv *, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xRowid
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;)J
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;)J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xRowid
|
||||
JNIEXPORT jlong JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xRowid
|
||||
(JNIEnv *, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xSetAuxdata
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;Ljava/lang/Object;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;Ljava/lang/Object;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xSetAuxdata
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xSetAuxdata
|
||||
(JNIEnv *, jobject, jobject, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xTokenize
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;[BLorg/sqlite/jni/Fts5/XTokenizeCallback;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;[BLorg/sqlite/jni/fts5/Fts5/XTokenizeCallback;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xTokenize
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xTokenize
|
||||
(JNIEnv *, jobject, jobject, jbyteArray, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_Fts5ExtensionApi
|
||||
* Class: org_sqlite_jni_fts5_Fts5ExtensionApi
|
||||
* Method: xUserData
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Context;)Ljava/lang/Object;
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Context;)Ljava/lang/Object;
|
||||
*/
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xUserData
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_fts5_Fts5ExtensionApi_xUserData
|
||||
(JNIEnv *, jobject, jobject);
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -2270,29 +2270,29 @@ JNIEXPORT jobject JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xUserData
|
||||
#endif
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class org_sqlite_jni_fts5_api */
|
||||
/* Header for class org_sqlite_jni_fts5_fts5_api */
|
||||
|
||||
#ifndef _Included_org_sqlite_jni_fts5_api
|
||||
#define _Included_org_sqlite_jni_fts5_api
|
||||
#ifndef _Included_org_sqlite_jni_fts5_fts5_api
|
||||
#define _Included_org_sqlite_jni_fts5_fts5_api
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#undef org_sqlite_jni_fts5_api_iVersion
|
||||
#define org_sqlite_jni_fts5_api_iVersion 2L
|
||||
#undef org_sqlite_jni_fts5_fts5_api_iVersion
|
||||
#define org_sqlite_jni_fts5_fts5_api_iVersion 2L
|
||||
/*
|
||||
* Class: org_sqlite_jni_fts5_api
|
||||
* Class: org_sqlite_jni_fts5_fts5_api
|
||||
* Method: getInstanceForDb
|
||||
* Signature: (Lorg/sqlite/jni/sqlite3;)Lorg/sqlite/jni/fts5_api;
|
||||
* Signature: (Lorg/sqlite/jni/sqlite3;)Lorg/sqlite/jni/fts5/fts5_api;
|
||||
*/
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_fts5_1api_getInstanceForDb
|
||||
JNIEXPORT jobject JNICALL Java_org_sqlite_jni_fts5_fts5_1api_getInstanceForDb
|
||||
(JNIEnv *, jclass, jobject);
|
||||
|
||||
/*
|
||||
* Class: org_sqlite_jni_fts5_api
|
||||
* Class: org_sqlite_jni_fts5_fts5_api
|
||||
* Method: xCreateFunction
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/Object;Lorg/sqlite/jni/fts5_extension_function;)I
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/Object;Lorg/sqlite/jni/fts5/fts5_extension_function;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_1api_xCreateFunction
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_fts5_1api_xCreateFunction
|
||||
(JNIEnv *, jobject, jstring, jobject, jobject);
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -2301,19 +2301,19 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_1api_xCreateFunction
|
||||
#endif
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class org_sqlite_jni_fts5_tokenizer */
|
||||
/* Header for class org_sqlite_jni_fts5_fts5_tokenizer */
|
||||
|
||||
#ifndef _Included_org_sqlite_jni_fts5_tokenizer
|
||||
#define _Included_org_sqlite_jni_fts5_tokenizer
|
||||
#ifndef _Included_org_sqlite_jni_fts5_fts5_tokenizer
|
||||
#define _Included_org_sqlite_jni_fts5_fts5_tokenizer
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* Class: org_sqlite_jni_fts5_tokenizer
|
||||
* Class: org_sqlite_jni_fts5_fts5_tokenizer
|
||||
* Method: xTokenize
|
||||
* Signature: (Lorg/sqlite/jni/Fts5Tokenizer;I[BLorg/sqlite/jni/Fts5/XTokenizeCallback;)I
|
||||
* Signature: (Lorg/sqlite/jni/fts5/Fts5Tokenizer;I[BLorg/sqlite/jni/fts5/Fts5/XTokenizeCallback;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_1tokenizer_xTokenize
|
||||
JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_fts5_1tokenizer_xTokenize
|
||||
(JNIEnv *, jobject, jobject, jint, jbyteArray, jobject);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -79,33 +79,33 @@ public class Tester1 implements Runnable {
|
||||
|
||||
static final Metrics metrics = new Metrics();
|
||||
|
||||
public synchronized static void outln(){
|
||||
public static synchronized void outln(){
|
||||
if( !quietMode ){
|
||||
System.out.println("");
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized static void outPrefix(){
|
||||
public static synchronized void outPrefix(){
|
||||
if( !quietMode ){
|
||||
System.out.print(Thread.currentThread().getName()+": ");
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized static void outln(Object val){
|
||||
public static synchronized void outln(Object val){
|
||||
if( !quietMode ){
|
||||
outPrefix();
|
||||
System.out.println(val);
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized static void out(Object val){
|
||||
public static synchronized void out(Object val){
|
||||
if( !quietMode ){
|
||||
System.out.print(val);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public synchronized static void out(Object... vals){
|
||||
public static synchronized void out(Object... vals){
|
||||
if( !quietMode ){
|
||||
outPrefix();
|
||||
for(Object v : vals) out(v);
|
||||
@ -113,20 +113,21 @@ public class Tester1 implements Runnable {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public synchronized static void outln(Object... vals){
|
||||
public static synchronized void outln(Object... vals){
|
||||
if( !quietMode ){
|
||||
out(vals); out("\n");
|
||||
}
|
||||
}
|
||||
|
||||
static volatile int affirmCount = 0;
|
||||
public synchronized static void affirm(Boolean v, String comment){
|
||||
public static synchronized int affirm(Boolean v, String comment){
|
||||
++affirmCount;
|
||||
if( false ) assert( v /* prefer assert over exception if it's enabled because
|
||||
the JNI layer sometimes has to suppress exceptions,
|
||||
so they might be squelched on their way back to the
|
||||
top. */);
|
||||
if( !v ) throw new RuntimeException(comment);
|
||||
return affirmCount;
|
||||
}
|
||||
|
||||
public static void affirm(Boolean v){
|
||||
@ -138,7 +139,7 @@ public class Tester1 implements Runnable {
|
||||
affirm(sqlite3_libversion_number() == SQLITE_VERSION_NUMBER);
|
||||
}
|
||||
|
||||
static sqlite3 createNewDb(){
|
||||
public static sqlite3 createNewDb(){
|
||||
final OutputPointer.sqlite3 out = new OutputPointer.sqlite3();
|
||||
int rc = sqlite3_open(":memory:", out);
|
||||
++metrics.dbOpen;
|
||||
@ -156,11 +157,11 @@ public class Tester1 implements Runnable {
|
||||
return db;
|
||||
}
|
||||
|
||||
static void execSql(sqlite3 db, String[] sql){
|
||||
public static void execSql(sqlite3 db, String[] sql){
|
||||
execSql(db, String.join("", sql));
|
||||
}
|
||||
|
||||
static int execSql(sqlite3 db, boolean throwOnError, String sql){
|
||||
public static int execSql(sqlite3 db, boolean throwOnError, String sql){
|
||||
OutputPointer.Int32 oTail = new OutputPointer.Int32();
|
||||
final byte[] sqlUtf8 = sql.getBytes(StandardCharsets.UTF_8);
|
||||
int pos = 0, n = 1;
|
||||
@ -201,11 +202,11 @@ public class Tester1 implements Runnable {
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void execSql(sqlite3 db, String sql){
|
||||
public static void execSql(sqlite3 db, String sql){
|
||||
execSql(db, true, sql);
|
||||
}
|
||||
|
||||
static sqlite3_stmt prepare(sqlite3 db, boolean throwOnError, String sql){
|
||||
public static sqlite3_stmt prepare(sqlite3 db, boolean throwOnError, String sql){
|
||||
final OutputPointer.sqlite3_stmt outStmt = new OutputPointer.sqlite3_stmt();
|
||||
int rc = sqlite3_prepare_v2(db, sql, outStmt);
|
||||
if( throwOnError ){
|
||||
@ -219,7 +220,7 @@ public class Tester1 implements Runnable {
|
||||
return rv;
|
||||
}
|
||||
|
||||
static sqlite3_stmt prepare(sqlite3 db, String sql){
|
||||
public static sqlite3_stmt prepare(sqlite3 db, String sql){
|
||||
return prepare(db, true, sql);
|
||||
}
|
||||
|
||||
@ -1275,10 +1276,13 @@ public class Tester1 implements Runnable {
|
||||
}
|
||||
Exception err = null;
|
||||
try {
|
||||
Class t = Class.forName("org.sqlite.jni.TesterFts5");
|
||||
Class t = Class.forName("org.sqlite.jni.fts5.TesterFts5");
|
||||
java.lang.reflect.Constructor ctor = t.getConstructor();
|
||||
ctor.setAccessible(true);
|
||||
final long timeStart = System.currentTimeMillis();
|
||||
ctor.newInstance() /* will run all tests */;
|
||||
final long timeEnd = System.currentTimeMillis();
|
||||
outln("FTS5 Tests done in ",(timeEnd - timeStart),"ms");
|
||||
}catch(ClassNotFoundException e){
|
||||
outln("FTS5 classes not loaded.");
|
||||
err = e;
|
||||
|
@ -11,7 +11,7 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
|
||||
/**
|
||||
INCOMPLETE AND COMPLETELY UNTESTED.
|
@ -11,7 +11,8 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import org.sqlite.jni.*;
|
||||
|
||||
/**
|
||||
A wrapper for communicating C-level (Fts5Context*) instances with
|
@ -11,8 +11,9 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import org.sqlite.jni.*;
|
||||
import org.sqlite.jni.annotation.*;
|
||||
|
||||
/**
|
@ -11,7 +11,8 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import org.sqlite.jni.NativePointerHolder;
|
||||
|
||||
/**
|
||||
A wrapper for C-level Fts5PhraseIter. They are only modified and
|
@ -11,7 +11,8 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import org.sqlite.jni.NativePointerHolder;
|
||||
|
||||
/**
|
||||
INCOMPLETE AND COMPLETELY UNTESTED.
|
@ -11,9 +11,10 @@
|
||||
*************************************************************************
|
||||
** This file contains a set of tests for the sqlite3 JNI bindings.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import static org.sqlite.jni.SQLite3Jni.*;
|
||||
import static org.sqlite.jni.Tester1.*;
|
||||
import org.sqlite.jni.*;
|
||||
|
||||
public class TesterFts5 {
|
||||
|
||||
@ -35,8 +36,7 @@ public class TesterFts5 {
|
||||
});
|
||||
|
||||
final String pUserData = "This is pUserData";
|
||||
ValueHolder<Boolean> xDestroyCalled = new ValueHolder<>(false);
|
||||
ValueHolder<Integer> xFuncCount = new ValueHolder<>(0);
|
||||
final int outputs[] = {0, 0};
|
||||
final fts5_extension_function func = new fts5_extension_function(){
|
||||
@Override public void call(Fts5ExtensionApi ext, Fts5Context fCx,
|
||||
sqlite3_context pCx, sqlite3_value argv[]){
|
||||
@ -58,42 +58,29 @@ public class TesterFts5 {
|
||||
rc = ext.xColumnTotalSize(fCx, i, colTotalSz);
|
||||
affirm( 0==rc );
|
||||
}
|
||||
++xFuncCount.value;
|
||||
++outputs[0];
|
||||
}
|
||||
public void xDestroy(){
|
||||
xDestroyCalled.value = true;
|
||||
outputs[1] = 1;
|
||||
}
|
||||
};
|
||||
|
||||
int rc = fApi.xCreateFunction("myaux", pUserData, func);
|
||||
affirm( 0==rc );
|
||||
|
||||
affirm( 0==xFuncCount.value );
|
||||
affirm( 0==outputs[0] );
|
||||
execSql(db, "select myaux(ft,a,b) from ft;");
|
||||
affirm( 2==xFuncCount.value );
|
||||
affirm( !xDestroyCalled.value );
|
||||
affirm( 2==outputs[0] );
|
||||
affirm( 0==outputs[1] );
|
||||
sqlite3_close_v2(db);
|
||||
affirm( xDestroyCalled.value );
|
||||
affirm( 1==outputs[1] );
|
||||
}
|
||||
|
||||
private void runTests(){
|
||||
private static synchronized void runTests(){
|
||||
test1();
|
||||
}
|
||||
|
||||
public TesterFts5(boolean verbose){
|
||||
if(verbose){
|
||||
synchronized(Tester1.class) {
|
||||
final long timeStart = System.currentTimeMillis();
|
||||
final int oldAffirmCount = Tester1.affirmCount;
|
||||
runTests();
|
||||
final int affirmCount = Tester1.affirmCount - oldAffirmCount;
|
||||
final long timeEnd = System.currentTimeMillis();
|
||||
outln("FTS5 Tests done. Assertions checked = ",affirmCount,
|
||||
", Total time = ",(timeEnd - timeStart),"ms");
|
||||
}
|
||||
}else{
|
||||
runTests();
|
||||
}
|
||||
public TesterFts5(){
|
||||
runTests();
|
||||
}
|
||||
public TesterFts5(){ this(true); }
|
||||
}
|
@ -11,8 +11,9 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import org.sqlite.jni.annotation.*;
|
||||
import org.sqlite.jni.*;
|
||||
|
||||
/**
|
||||
INCOMPLETE AND COMPLETELY UNTESTED.
|
@ -11,7 +11,9 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
package org.sqlite.jni.fts5;
|
||||
import org.sqlite.jni.sqlite3_context;
|
||||
import org.sqlite.jni.sqlite3_value;
|
||||
|
||||
/**
|
||||
JNI-level wrapper for C's fts5_extension_function type.
|
@ -11,8 +11,9 @@
|
||||
*************************************************************************
|
||||
** This file is part of the JNI bindings for the sqlite3 C API.
|
||||
*/
|
||||
package org.sqlite.jni;
|
||||
import org.sqlite.jni.annotation.*;
|
||||
package org.sqlite.jni.fts5;
|
||||
import org.sqlite.jni.NativePointerHolder;
|
||||
import org.sqlite.jni.annotation.NotNull;
|
||||
|
||||
/**
|
||||
INCOMPLETE AND COMPLETELY UNTESTED.
|
Reference in New Issue
Block a user