1
0
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:
stephan
2023-09-06 07:39:25 +00:00
parent f31b9fcf86
commit 7c1588b3ad
15 changed files with 168 additions and 168 deletions

View File

@ -103,7 +103,8 @@ JAVA_FILES.unittest := $(patsubst %,$(dir.src.jni)/%,\
Tester1.java \ Tester1.java \
) )
ifeq (1,$(enable.fts5)) ifeq (1,$(enable.fts5))
JAVA_FILES.main += $(patsubst %,$(dir.src.jni)/%,\ dir.src.fts5 := $(dir.src.jni)/fts5
JAVA_FILES.main += $(patsubst %,$(dir.src.fts5)/%,\
fts5_api.java \ fts5_api.java \
fts5_extension_function.java \ fts5_extension_function.java \
fts5_tokenizer.java \ fts5_tokenizer.java \
@ -216,21 +217,21 @@ sqlite3-jni.h.in :=
# $(java.with.jni) lists all Java files which contain JNI decls: # $(java.with.jni) lists all Java files which contain JNI decls:
java.with.jni := java.with.jni :=
define ADD_JNI_H define ADD_JNI_H
sqlite3-jni.h.in += $$(dir.bld.c)/org_sqlite_jni_$(1).h sqlite3-jni.h.in += $$(dir.bld.c)/org_sqlite_jni$(3)_$(2).h
java.with.jni += $$(dir.src.jni)/$(1).java java.with.jni += $(1)/$(2).java
$$(dir.bld.c)/org_sqlite_jni_$(1).h: $$(dir.src.jni)/$(1).java $$(info x=$(1)/$(2).java)
$$(dir.bld.c)/org_sqlite_jni$(3)_$(2).h: $(1)/$(2).java
endef endef
# Invoke ADD_JNI_H once for each Java file which includes JNI # Invoke ADD_JNI_H once for each Java file which includes JNI
# declarations: # declarations:
$(eval $(call ADD_JNI_H,SQLite3Jni)) $(eval $(call ADD_JNI_H,$(dir.src.jni),SQLite3Jni,))
ifeq (1,$(enable.fts5)) ifeq (1,$(enable.fts5))
$(eval $(call ADD_JNI_H,Fts5ExtensionApi)) $(eval $(call ADD_JNI_H,$(dir.src.fts5),Fts5ExtensionApi,_fts5))
$(eval $(call ADD_JNI_H,fts5_api)) $(eval $(call ADD_JNI_H,$(dir.src.fts5),fts5_api,_fts5))
$(eval $(call ADD_JNI_H,fts5_tokenizer)) $(eval $(call ADD_JNI_H,$(dir.src.fts5),fts5_tokenizer,_fts5))
endif endif
ifeq (1,$(enable.tester)) ifeq (1,$(enable.tester))
sqlite3-jni.h.in += $(dir.bld.c)/org_sqlite_jni_tester_SQLTester.h $(eval $(call ADD_JNI_H,$(dir.src.jni.tester),SQLTester,_tester))
$(dir.bld.c)/org_sqlite_jni_tester_SQLTester.h: $(dir.src.jni.tester)/SQLTester.java
endif endif
$(sqlite3-jni.h.in): $(dir.bld.c) $(sqlite3-jni.h.in): $(dir.bld.c)

View File

@ -383,11 +383,11 @@ static const struct {
RefO(13, "OutputPointer$String", "Ljava/lang/String;"), RefO(13, "OutputPointer$String", "Ljava/lang/String;"),
#ifdef SQLITE_ENABLE_FTS5 #ifdef SQLITE_ENABLE_FTS5
RefO(14, "OutputPointer$ByteArray", "[B"), RefO(14, "OutputPointer$ByteArray", "[B"),
RefN(15, "Fts5Context"), RefN(15, "fts5/Fts5Context"),
RefN(16, "Fts5ExtensionApi"), RefN(16, "fts5/Fts5ExtensionApi"),
RefN(17, "fts5_api"), RefN(17, "fts5/fts5_api"),
RefN(18, "fts5_tokenizer"), RefN(18, "fts5/fts5_tokenizer"),
RefN(19, "Fts5Tokenizer") RefN(19, "fts5/Fts5Tokenizer")
#endif #endif
#undef MkRef #undef MkRef
#undef RefN #undef RefN
@ -4793,11 +4793,11 @@ JniDecl(void,1jni_1internal_1details)(JniArgsEnvClass){
/* Creates a verbose JNI Fts5 function name. */ /* Creates a verbose JNI Fts5 function name. */
#define JniFuncNameFtsXA(Suffix) \ #define JniFuncNameFtsXA(Suffix) \
Java_org_sqlite_jni_Fts5ExtensionApi_ ## Suffix Java_org_sqlite_jni_fts5_Fts5ExtensionApi_ ## Suffix
#define JniFuncNameFtsApi(Suffix) \ #define JniFuncNameFtsApi(Suffix) \
Java_org_sqlite_jni_fts5_1api_ ## Suffix Java_org_sqlite_jni_fts5_fts5_1api_ ## Suffix
#define JniFuncNameFtsTok(Suffix) \ #define JniFuncNameFtsTok(Suffix) \
Java_org_sqlite_jni_fts5_tokenizer_ ## Suffix Java_org_sqlite_jni_fts5_fts5_tokenizer_ ## Suffix
#define JniDeclFtsXA(ReturnType,Suffix) \ #define JniDeclFtsXA(ReturnType,Suffix) \
JNIEXPORT ReturnType JNICALL \ JNIEXPORT ReturnType JNICALL \
@ -4855,8 +4855,8 @@ static Fts5JniAux * Fts5JniAux_alloc(JNIEnv * const env, jobject jObj){
s->jObj = S3JniRefGlobal(jObj); s->jObj = S3JniRefGlobal(jObj);
klazz = (*env)->GetObjectClass(env, jObj); klazz = (*env)->GetObjectClass(env, jObj);
s->jmid = (*env)->GetMethodID(env, klazz, "call", s->jmid = (*env)->GetMethodID(env, klazz, "call",
"(Lorg/sqlite/jni/Fts5ExtensionApi;" "(Lorg/sqlite/jni/fts5/Fts5ExtensionApi;"
"Lorg/sqlite/jni/Fts5Context;" "Lorg/sqlite/jni/fts5/Fts5Context;"
"Lorg/sqlite/jni/sqlite3_context;" "Lorg/sqlite/jni/sqlite3_context;"
"[Lorg/sqlite/jni/sqlite3_value;)V"); "[Lorg/sqlite/jni/sqlite3_value;)V");
S3JniUnrefLocal(klazz); S3JniUnrefLocal(klazz);
@ -5651,7 +5651,7 @@ Java_org_sqlite_jni_SQLite3Jni_init(JniArgsEnvClass){
} }
#ifdef SQLITE_ENABLE_FTS5 #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."); S3JniExceptionIsFatal("Error getting reference to org.sqlite.jni.Fts5PhraseIter.");
SJG.fts5.jPhraseIter.fidA = (*env)->GetFieldID(env, klazz, "a", "J"); SJG.fts5.jPhraseIter.fidA = (*env)->GetFieldID(env, klazz, "a", "J");
S3JniExceptionIsFatal("Cannot get Fts5PhraseIter.a field."); S3JniExceptionIsFatal("Cannot get Fts5PhraseIter.a field.");

View File

@ -2097,171 +2097,171 @@ JNIEXPORT void JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1jni_1internal_1de
#endif #endif
/* DO NOT EDIT THIS FILE - it is machine generated */ /* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h> #include <jni.h>
/* Header for class org_sqlite_jni_Fts5ExtensionApi */ /* Header for class org_sqlite_jni_fts5_Fts5ExtensionApi */
#ifndef _Included_org_sqlite_jni_Fts5ExtensionApi #ifndef _Included_org_sqlite_jni_fts5_Fts5ExtensionApi
#define _Included_org_sqlite_jni_Fts5ExtensionApi #define _Included_org_sqlite_jni_fts5_Fts5ExtensionApi
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: getInstance * 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); (JNIEnv *, jclass);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xColumnCount * 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); (JNIEnv *, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xColumnSize * 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); (JNIEnv *, jobject, jobject, jint, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xColumnText * 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); (JNIEnv *, jobject, jobject, jint, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xColumnTotalSize * 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); (JNIEnv *, jobject, jobject, jint, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xGetAuxdata * 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); (JNIEnv *, jobject, jobject, jboolean);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xInst * 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); (JNIEnv *, jobject, jobject, jint, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xInstCount * 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); (JNIEnv *, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xPhraseCount * 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); (JNIEnv *, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xPhraseFirst * 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); (JNIEnv *, jobject, jobject, jint, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xPhraseFirstColumn * 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); (JNIEnv *, jobject, jobject, jint, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xPhraseNext * 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); (JNIEnv *, jobject, jobject, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xPhraseNextColumn * 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); (JNIEnv *, jobject, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xPhraseSize * 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); (JNIEnv *, jobject, jobject, jint);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xQueryPhrase * 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); (JNIEnv *, jobject, jobject, jint, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xRowCount * 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); (JNIEnv *, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xRowid * 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); (JNIEnv *, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xSetAuxdata * 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); (JNIEnv *, jobject, jobject, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xTokenize * 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); (JNIEnv *, jobject, jobject, jbyteArray, jobject);
/* /*
* Class: org_sqlite_jni_Fts5ExtensionApi * Class: org_sqlite_jni_fts5_Fts5ExtensionApi
* Method: xUserData * 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); (JNIEnv *, jobject, jobject);
#ifdef __cplusplus #ifdef __cplusplus
@ -2270,29 +2270,29 @@ JNIEXPORT jobject JNICALL Java_org_sqlite_jni_Fts5ExtensionApi_xUserData
#endif #endif
/* DO NOT EDIT THIS FILE - it is machine generated */ /* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h> #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 #ifndef _Included_org_sqlite_jni_fts5_fts5_api
#define _Included_org_sqlite_jni_fts5_api #define _Included_org_sqlite_jni_fts5_fts5_api
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#undef org_sqlite_jni_fts5_api_iVersion #undef org_sqlite_jni_fts5_fts5_api_iVersion
#define org_sqlite_jni_fts5_api_iVersion 2L #define org_sqlite_jni_fts5_fts5_api_iVersion 2L
/* /*
* Class: org_sqlite_jni_fts5_api * Class: org_sqlite_jni_fts5_fts5_api
* Method: getInstanceForDb * 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); (JNIEnv *, jclass, jobject);
/* /*
* Class: org_sqlite_jni_fts5_api * Class: org_sqlite_jni_fts5_fts5_api
* Method: xCreateFunction * 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); (JNIEnv *, jobject, jstring, jobject, jobject);
#ifdef __cplusplus #ifdef __cplusplus
@ -2301,19 +2301,19 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_fts5_1api_xCreateFunction
#endif #endif
/* DO NOT EDIT THIS FILE - it is machine generated */ /* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h> #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 #ifndef _Included_org_sqlite_jni_fts5_fts5_tokenizer
#define _Included_org_sqlite_jni_fts5_tokenizer #define _Included_org_sqlite_jni_fts5_fts5_tokenizer
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
* Class: org_sqlite_jni_fts5_tokenizer * Class: org_sqlite_jni_fts5_fts5_tokenizer
* Method: xTokenize * 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); (JNIEnv *, jobject, jobject, jint, jbyteArray, jobject);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -79,33 +79,33 @@ public class Tester1 implements Runnable {
static final Metrics metrics = new Metrics(); static final Metrics metrics = new Metrics();
public synchronized static void outln(){ public static synchronized void outln(){
if( !quietMode ){ if( !quietMode ){
System.out.println(""); System.out.println("");
} }
} }
public synchronized static void outPrefix(){ public static synchronized void outPrefix(){
if( !quietMode ){ if( !quietMode ){
System.out.print(Thread.currentThread().getName()+": "); System.out.print(Thread.currentThread().getName()+": ");
} }
} }
public synchronized static void outln(Object val){ public static synchronized void outln(Object val){
if( !quietMode ){ if( !quietMode ){
outPrefix(); outPrefix();
System.out.println(val); System.out.println(val);
} }
} }
public synchronized static void out(Object val){ public static synchronized void out(Object val){
if( !quietMode ){ if( !quietMode ){
System.out.print(val); System.out.print(val);
} }
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public synchronized static void out(Object... vals){ public static synchronized void out(Object... vals){
if( !quietMode ){ if( !quietMode ){
outPrefix(); outPrefix();
for(Object v : vals) out(v); for(Object v : vals) out(v);
@ -113,20 +113,21 @@ public class Tester1 implements Runnable {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public synchronized static void outln(Object... vals){ public static synchronized void outln(Object... vals){
if( !quietMode ){ if( !quietMode ){
out(vals); out("\n"); out(vals); out("\n");
} }
} }
static volatile int affirmCount = 0; static volatile int affirmCount = 0;
public synchronized static void affirm(Boolean v, String comment){ public static synchronized int affirm(Boolean v, String comment){
++affirmCount; ++affirmCount;
if( false ) assert( v /* prefer assert over exception if it's enabled because if( false ) assert( v /* prefer assert over exception if it's enabled because
the JNI layer sometimes has to suppress exceptions, the JNI layer sometimes has to suppress exceptions,
so they might be squelched on their way back to the so they might be squelched on their way back to the
top. */); top. */);
if( !v ) throw new RuntimeException(comment); if( !v ) throw new RuntimeException(comment);
return affirmCount;
} }
public static void affirm(Boolean v){ public static void affirm(Boolean v){
@ -138,7 +139,7 @@ public class Tester1 implements Runnable {
affirm(sqlite3_libversion_number() == SQLITE_VERSION_NUMBER); affirm(sqlite3_libversion_number() == SQLITE_VERSION_NUMBER);
} }
static sqlite3 createNewDb(){ public static sqlite3 createNewDb(){
final OutputPointer.sqlite3 out = new OutputPointer.sqlite3(); final OutputPointer.sqlite3 out = new OutputPointer.sqlite3();
int rc = sqlite3_open(":memory:", out); int rc = sqlite3_open(":memory:", out);
++metrics.dbOpen; ++metrics.dbOpen;
@ -156,11 +157,11 @@ public class Tester1 implements Runnable {
return db; return db;
} }
static void execSql(sqlite3 db, String[] sql){ public static void execSql(sqlite3 db, String[] sql){
execSql(db, String.join("", 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(); OutputPointer.Int32 oTail = new OutputPointer.Int32();
final byte[] sqlUtf8 = sql.getBytes(StandardCharsets.UTF_8); final byte[] sqlUtf8 = sql.getBytes(StandardCharsets.UTF_8);
int pos = 0, n = 1; int pos = 0, n = 1;
@ -201,11 +202,11 @@ public class Tester1 implements Runnable {
return rc; return rc;
} }
static void execSql(sqlite3 db, String sql){ public static void execSql(sqlite3 db, String sql){
execSql(db, true, 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(); final OutputPointer.sqlite3_stmt outStmt = new OutputPointer.sqlite3_stmt();
int rc = sqlite3_prepare_v2(db, sql, outStmt); int rc = sqlite3_prepare_v2(db, sql, outStmt);
if( throwOnError ){ if( throwOnError ){
@ -219,7 +220,7 @@ public class Tester1 implements Runnable {
return rv; return rv;
} }
static sqlite3_stmt prepare(sqlite3 db, String sql){ public static sqlite3_stmt prepare(sqlite3 db, String sql){
return prepare(db, true, sql); return prepare(db, true, sql);
} }
@ -1275,10 +1276,13 @@ public class Tester1 implements Runnable {
} }
Exception err = null; Exception err = null;
try { 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(); java.lang.reflect.Constructor ctor = t.getConstructor();
ctor.setAccessible(true); ctor.setAccessible(true);
final long timeStart = System.currentTimeMillis();
ctor.newInstance() /* will run all tests */; ctor.newInstance() /* will run all tests */;
final long timeEnd = System.currentTimeMillis();
outln("FTS5 Tests done in ",(timeEnd - timeStart),"ms");
}catch(ClassNotFoundException e){ }catch(ClassNotFoundException e){
outln("FTS5 classes not loaded."); outln("FTS5 classes not loaded.");
err = e; err = e;

View File

@ -11,7 +11,7 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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. INCOMPLETE AND COMPLETELY UNTESTED.

View File

@ -11,7 +11,8 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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 A wrapper for communicating C-level (Fts5Context*) instances with

View File

@ -11,8 +11,9 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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 java.nio.charset.StandardCharsets;
import org.sqlite.jni.*;
import org.sqlite.jni.annotation.*; import org.sqlite.jni.annotation.*;
/** /**

View File

@ -11,7 +11,8 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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 A wrapper for C-level Fts5PhraseIter. They are only modified and

View File

@ -11,7 +11,8 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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. INCOMPLETE AND COMPLETELY UNTESTED.

View File

@ -11,9 +11,10 @@
************************************************************************* *************************************************************************
** This file contains a set of tests for the sqlite3 JNI bindings. ** 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.SQLite3Jni.*;
import static org.sqlite.jni.Tester1.*; import static org.sqlite.jni.Tester1.*;
import org.sqlite.jni.*;
public class TesterFts5 { public class TesterFts5 {
@ -35,8 +36,7 @@ public class TesterFts5 {
}); });
final String pUserData = "This is pUserData"; final String pUserData = "This is pUserData";
ValueHolder<Boolean> xDestroyCalled = new ValueHolder<>(false); final int outputs[] = {0, 0};
ValueHolder<Integer> xFuncCount = new ValueHolder<>(0);
final fts5_extension_function func = new fts5_extension_function(){ final fts5_extension_function func = new fts5_extension_function(){
@Override public void call(Fts5ExtensionApi ext, Fts5Context fCx, @Override public void call(Fts5ExtensionApi ext, Fts5Context fCx,
sqlite3_context pCx, sqlite3_value argv[]){ sqlite3_context pCx, sqlite3_value argv[]){
@ -58,42 +58,29 @@ public class TesterFts5 {
rc = ext.xColumnTotalSize(fCx, i, colTotalSz); rc = ext.xColumnTotalSize(fCx, i, colTotalSz);
affirm( 0==rc ); affirm( 0==rc );
} }
++xFuncCount.value; ++outputs[0];
} }
public void xDestroy(){ public void xDestroy(){
xDestroyCalled.value = true; outputs[1] = 1;
} }
}; };
int rc = fApi.xCreateFunction("myaux", pUserData, func); int rc = fApi.xCreateFunction("myaux", pUserData, func);
affirm( 0==rc ); affirm( 0==rc );
affirm( 0==xFuncCount.value ); affirm( 0==outputs[0] );
execSql(db, "select myaux(ft,a,b) from ft;"); execSql(db, "select myaux(ft,a,b) from ft;");
affirm( 2==xFuncCount.value ); affirm( 2==outputs[0] );
affirm( !xDestroyCalled.value ); affirm( 0==outputs[1] );
sqlite3_close_v2(db); sqlite3_close_v2(db);
affirm( xDestroyCalled.value ); affirm( 1==outputs[1] );
} }
private void runTests(){ private static synchronized void runTests(){
test1(); test1();
} }
public TesterFts5(boolean verbose){ public TesterFts5(){
if(verbose){ runTests();
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(){ this(true); }
} }

View File

@ -11,8 +11,9 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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.annotation.*;
import org.sqlite.jni.*;
/** /**
INCOMPLETE AND COMPLETELY UNTESTED. INCOMPLETE AND COMPLETELY UNTESTED.

View File

@ -11,7 +11,9 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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. JNI-level wrapper for C's fts5_extension_function type.

View File

@ -11,8 +11,9 @@
************************************************************************* *************************************************************************
** This file is part of the JNI bindings for the sqlite3 C API. ** 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.NativePointerHolder;
import org.sqlite.jni.annotation.NotNull;
/** /**
INCOMPLETE AND COMPLETELY UNTESTED. INCOMPLETE AND COMPLETELY UNTESTED.

View File

@ -1,5 +1,5 @@
C Java\sFTS5\sAPI\srenaming,\sfor\sconsistency. C Move\sJava-side\sFTS5\sbits\sinto\sthe\sfts5\ssubpackage\sto\s(A)\smake\sit\seasy\sto\soptionally\sbundle\sit\s(or\snot)\sand\s(B)\sset\sa\sprecedent\sfor\sputing\sextension\sAPIs\sin\stheir\sown\spackage.
D 2023-09-06T06:54:25.034 D 2023-09-06T07:39:25.264
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -234,11 +234,11 @@ F ext/fts5/tool/showfts5.tcl d54da0e067306663e2d5d523965ca487698e722c
F ext/icu/README.txt 7ab7ced8ae78e3a645b57e78570ff589d4c672b71370f5aa9e1cd7024f400fc9 F ext/icu/README.txt 7ab7ced8ae78e3a645b57e78570ff589d4c672b71370f5aa9e1cd7024f400fc9
F ext/icu/icu.c c074519b46baa484bb5396c7e01e051034da8884bad1a1cb7f09bbe6be3f0282 F ext/icu/icu.c c074519b46baa484bb5396c7e01e051034da8884bad1a1cb7f09bbe6be3f0282
F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a32075a8 F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a32075a8
F ext/jni/GNUmakefile 13a0d923fdbcbc363e5ed067423da3a19f6b25a49ae83ebddb00569f94b81b25 F ext/jni/GNUmakefile 6881323b2e2753a73c3f1b04f4248bcbfc427751e8380e3d876f0916193a350b
F ext/jni/README.md 1332b1fa27918bd5d9ca2d0d4f3ac3a6ab86b9e3699dc5bfe32904a027f3d2a9 F ext/jni/README.md 1332b1fa27918bd5d9ca2d0d4f3ac3a6ab86b9e3699dc5bfe32904a027f3d2a9
F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa
F ext/jni/src/c/sqlite3-jni.c 98f83a07c6956f51b9e758e1e560ad9826c67c1fe7f256e527293bd9808c4768 F ext/jni/src/c/sqlite3-jni.c 438a0141b7be7e8081f23254efe4cb313170aeb0f12fc5dd2c5a42612111bfad
F ext/jni/src/c/sqlite3-jni.h 875992ddf3a8c33d68a49ac26fbe2060f3ee98fb49127f140fed1e69f1da3be6 F ext/jni/src/c/sqlite3-jni.h 7880247be848310facc549d3296b620e3f971b4d2e6b1ec5a942f5f295d079fa
F ext/jni/src/org/sqlite/jni/AbstractCollationCallback.java 95e88ba04f4aac51ffec65693e878e234088b2f21b387f4e4285c8b72b33e436 F ext/jni/src/org/sqlite/jni/AbstractCollationCallback.java 95e88ba04f4aac51ffec65693e878e234088b2f21b387f4e4285c8b72b33e436
F ext/jni/src/org/sqlite/jni/AggregateFunction.java 7312486bc65fecdb91753c0a4515799194e031f45edbe16a6373cea18f404dc4 F ext/jni/src/org/sqlite/jni/AggregateFunction.java 7312486bc65fecdb91753c0a4515799194e031f45edbe16a6373cea18f404dc4
F ext/jni/src/org/sqlite/jni/AuthorizerCallback.java e6135be32f12bf140bffa39be7fd1a45ad83b2661ed49c08dbde04c8485feb38 F ext/jni/src/org/sqlite/jni/AuthorizerCallback.java e6135be32f12bf140bffa39be7fd1a45ad83b2661ed49c08dbde04c8485feb38
@ -250,11 +250,6 @@ F ext/jni/src/org/sqlite/jni/CollationNeededCallback.java 07df5fa161a0b811542952
F ext/jni/src/org/sqlite/jni/CommitHookCallback.java 77cf8bb4f5548113e9792978f3f8a454614f420fa0ad73939421cbff4e7776f2 F ext/jni/src/org/sqlite/jni/CommitHookCallback.java 77cf8bb4f5548113e9792978f3f8a454614f420fa0ad73939421cbff4e7776f2
F ext/jni/src/org/sqlite/jni/ConfigLogCallback.java 636ed6b89ed03f15bc2a6f6f47bf7853b8328e5a8269e52e80630708efa703a6 F ext/jni/src/org/sqlite/jni/ConfigLogCallback.java 636ed6b89ed03f15bc2a6f6f47bf7853b8328e5a8269e52e80630708efa703a6
F ext/jni/src/org/sqlite/jni/ConfigSqllogCallback.java e3656909eab7ed0f7e457c5b82df160ca22dd5e954c0a306ec1fca61b0d266b4 F ext/jni/src/org/sqlite/jni/ConfigSqllogCallback.java e3656909eab7ed0f7e457c5b82df160ca22dd5e954c0a306ec1fca61b0d266b4
F ext/jni/src/org/sqlite/jni/Fts5.java 0ca3cb814cb92e1ec07ccda72bcdb7eb45615abbc155e515d1cda3ee1404143d
F ext/jni/src/org/sqlite/jni/Fts5Context.java 0a5a02047a6a1dd3e4a38b0e542a8dd2de365033ba30e6ae019a676305959890
F ext/jni/src/org/sqlite/jni/Fts5ExtensionApi.java 24c7fb75c4464c2c3a893c31ec23a86a1bf5289fda8901a9cf4a923de42eea52
F ext/jni/src/org/sqlite/jni/Fts5PhraseIter.java 6642beda341c0b1b46af4e2d7f6f9ab03a7aede43277b2c92859176d6bce3be9
F ext/jni/src/org/sqlite/jni/Fts5Tokenizer.java 91489893596b6528c0df5cd7180bd5b55809c26e2b797fb321dfcdbc1298c060
F ext/jni/src/org/sqlite/jni/NativePointerHolder.java 564087036449a16df148dcf0a067408bd251170bf23286c655f46b5f973e8b2d F ext/jni/src/org/sqlite/jni/NativePointerHolder.java 564087036449a16df148dcf0a067408bd251170bf23286c655f46b5f973e8b2d
F ext/jni/src/org/sqlite/jni/OutputPointer.java 2f57c05672ddc9b38e3f8eed11759896cf0bf01107ffd24d5182b99f6e7254b6 F ext/jni/src/org/sqlite/jni/OutputPointer.java 2f57c05672ddc9b38e3f8eed11759896cf0bf01107ffd24d5182b99f6e7254b6
F ext/jni/src/org/sqlite/jni/PreupdateHookCallback.java eccaed8dc9c6289f07ef3fc109891c6be1e7cc6c88723d90174b68706fc21cda F ext/jni/src/org/sqlite/jni/PreupdateHookCallback.java eccaed8dc9c6289f07ef3fc109891c6be1e7cc6c88723d90174b68706fc21cda
@ -265,8 +260,7 @@ F ext/jni/src/org/sqlite/jni/SQLFunction.java 544a875d33fd160467d82e2397ac33157b
F ext/jni/src/org/sqlite/jni/SQLite3Jni.java a1beb9f9953bfaf76824239d8f556c81a3d8ea81f89307817e17d2cb0cbf7c9c F ext/jni/src/org/sqlite/jni/SQLite3Jni.java a1beb9f9953bfaf76824239d8f556c81a3d8ea81f89307817e17d2cb0cbf7c9c
F ext/jni/src/org/sqlite/jni/ScalarFunction.java 6d387bb499fbe3bc13c53315335233dbf6a0c711e8fa7c521683219b041c614c F ext/jni/src/org/sqlite/jni/ScalarFunction.java 6d387bb499fbe3bc13c53315335233dbf6a0c711e8fa7c521683219b041c614c
F ext/jni/src/org/sqlite/jni/TableColumnMetadata.java 54511b4297fa28dcb3f49b24035e34ced10e3fd44fd0e458e784f4d6b0096dab F ext/jni/src/org/sqlite/jni/TableColumnMetadata.java 54511b4297fa28dcb3f49b24035e34ced10e3fd44fd0e458e784f4d6b0096dab
F ext/jni/src/org/sqlite/jni/Tester1.java 79f64479297329cc98ad6401c506864750f5812449f896b696d6dbfa5af8355a F ext/jni/src/org/sqlite/jni/Tester1.java 0ead670d13b3a4e9579ccd21f5c49e43f64195db5d13facc3a10843be828b6a5
F ext/jni/src/org/sqlite/jni/TesterFts5.java 1d127690daac4751300b277a14c09faa0cefd1efa365580cd8d95ea658e1ee59
F ext/jni/src/org/sqlite/jni/TraceV2Callback.java beb0b064c1a5f8bfe585a324ed39a4e33edbe379a3fc60f1401661620d3ca7c0 F ext/jni/src/org/sqlite/jni/TraceV2Callback.java beb0b064c1a5f8bfe585a324ed39a4e33edbe379a3fc60f1401661620d3ca7c0
F ext/jni/src/org/sqlite/jni/UpdateHookCallback.java 8376f4a931f2d5612b295c003c9515ba933ee76d8f95610e89c339727376e36c F ext/jni/src/org/sqlite/jni/UpdateHookCallback.java 8376f4a931f2d5612b295c003c9515ba933ee76d8f95610e89c339727376e36c
F ext/jni/src/org/sqlite/jni/WindowFunction.java 488980f4dbb6bdd7067d6cb9c43e4075475e51c54d9b74a5834422654b126246 F ext/jni/src/org/sqlite/jni/WindowFunction.java 488980f4dbb6bdd7067d6cb9c43e4075475e51c54d9b74a5834422654b126246
@ -275,9 +269,15 @@ F ext/jni/src/org/sqlite/jni/annotation/Canonical.java 2767daa5b3893b96729db80a0
F ext/jni/src/org/sqlite/jni/annotation/NotNull.java d9b32956cb9fb11d1f8a562e5df70d0599820265285120c63858294dbe2b7711 F ext/jni/src/org/sqlite/jni/annotation/NotNull.java d9b32956cb9fb11d1f8a562e5df70d0599820265285120c63858294dbe2b7711
F ext/jni/src/org/sqlite/jni/annotation/Nullable.java 6f962a98c9a5c6e9d21c50ae8716b16bdfdc934a191608cbb7e12ea588ddb6af F ext/jni/src/org/sqlite/jni/annotation/Nullable.java 6f962a98c9a5c6e9d21c50ae8716b16bdfdc934a191608cbb7e12ea588ddb6af
F ext/jni/src/org/sqlite/jni/annotation/package-info.java f66bfb621c6494e67c03ed38a9e26a3bd6af99b9f9f6ef79556bcec30a025a22 F ext/jni/src/org/sqlite/jni/annotation/package-info.java f66bfb621c6494e67c03ed38a9e26a3bd6af99b9f9f6ef79556bcec30a025a22
F ext/jni/src/org/sqlite/jni/fts5_api.java 386ecbcfcd03c24afbca52dc8bdf00791b6f2cbc0dd7be53e354071ada94f7bc F ext/jni/src/org/sqlite/jni/fts5/Fts5.java 3268fc61a15da5682e4e2130adbb1ae5385393c2f8a2ed408af806894b4a0625 w ext/jni/src/org/sqlite/jni/Fts5.java
F ext/jni/src/org/sqlite/jni/fts5_extension_function.java bec9f17a7e784d57eca99d812a65ecc9dd74c8df62d6d90cc1ecb3e37de14d47 F ext/jni/src/org/sqlite/jni/fts5/Fts5Context.java 7058da97059b8e156c17561a47ecd7faa0fc3e2d8c2588b9a28dbff8d06202dd w ext/jni/src/org/sqlite/jni/Fts5Context.java
F ext/jni/src/org/sqlite/jni/fts5_tokenizer.java 1b48d45763c571b70b6a0b419780ec8a4163f97a684e326d6e93eb0cb596fa95 F ext/jni/src/org/sqlite/jni/fts5/Fts5ExtensionApi.java 3c337e5690c4de7f0d5478f53ca7ba326e776330eb511e607bd252a35b84d8f7 w ext/jni/src/org/sqlite/jni/Fts5ExtensionApi.java
F ext/jni/src/org/sqlite/jni/fts5/Fts5PhraseIter.java 2a7f3d76a1206e6a43d4c4ed9609b294d5431cc7d8fb875d8419f76efa6e56dc w ext/jni/src/org/sqlite/jni/Fts5PhraseIter.java
F ext/jni/src/org/sqlite/jni/fts5/Fts5Tokenizer.java cc9a53846a168a215238af224c31cef0e8379780e36e8a5e743b00c08145cf19 w ext/jni/src/org/sqlite/jni/Fts5Tokenizer.java
F ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java b5a805c2ecff5c89179133fd2a6ede90b8598796e3940afae4590c7b503d3917 w ext/jni/src/org/sqlite/jni/TesterFts5.java
F ext/jni/src/org/sqlite/jni/fts5/fts5_api.java 6071bf76c2c6a0f035b99adc76715b0324f540a441452b4ff6b94d9360a6a83d w ext/jni/src/org/sqlite/jni/fts5_api.java
F ext/jni/src/org/sqlite/jni/fts5/fts5_extension_function.java 1fe0f5692c1d67475d12b067f0469949073446f18c56eba5ee5da6ddd06db9b9 w ext/jni/src/org/sqlite/jni/fts5_extension_function.java
F ext/jni/src/org/sqlite/jni/fts5/fts5_tokenizer.java 4b56f407977f08e456ea0c956fb657b4cd96ec4635cc4f7a1b7ef10cb2a21d7d w ext/jni/src/org/sqlite/jni/fts5_tokenizer.java
F ext/jni/src/org/sqlite/jni/package-info.java a3946db2504de747a1993c4f6e8ce604bec5a8e5a134b292c3b07527bc321a99 F ext/jni/src/org/sqlite/jni/package-info.java a3946db2504de747a1993c4f6e8ce604bec5a8e5a134b292c3b07527bc321a99
F ext/jni/src/org/sqlite/jni/sqlite3.java 62b1b81935ccf3393472d17cb883dc5ff39c388ec3bc1de547f098a0217158fc F ext/jni/src/org/sqlite/jni/sqlite3.java 62b1b81935ccf3393472d17cb883dc5ff39c388ec3bc1de547f098a0217158fc
F ext/jni/src/org/sqlite/jni/sqlite3_backup.java d0bb06dd6225e76999ff6b7ab20f2643b1c4d4167431b3a93ea41943e41f094b F ext/jni/src/org/sqlite/jni/sqlite3_backup.java d0bb06dd6225e76999ff6b7ab20f2643b1c4d4167431b3a93ea41943e41f094b
@ -2117,8 +2117,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P d0df62f0af19a69f7ceb3ad1dceda0d8cc2ca5016a6e2a3a1e36356424c3ca49 P 5e4cc9f386364858c6457c40f13f01e1826a59086aa7f0fa10244ea846f5acfd
R 1c9c032947a0621b2a97abc848cee358 R 4f26d26cc2f0342d32c1a3b10bbbb150
U stephan U stephan
Z 2634b10b864fb044031f2a08908448d5 Z 067320356ea8328be5c8395e90434c8f
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
5e4cc9f386364858c6457c40f13f01e1826a59086aa7f0fa10244ea846f5acfd 4c773e1f331cd5854d4c6e8825197933c0bb6827b7437e56ac0ad650d1ddf55e