mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Flesh out [7a63b5b65a79] to be able to build JNI with or without SQLITE_ENABLE_COLUMN_METADATA.
FossilOrigin-Name: fcee41b3d4d2558299ead28cc17f290b9ff1957a84c3feaa0a24872feeb22901
This commit is contained in:
@ -2115,9 +2115,11 @@ WRAP_INT_STMT_INT(1column_1bytes16, sqlite3_column_bytes16)
|
||||
WRAP_INT_STMT(1column_1count, sqlite3_column_count)
|
||||
WRAP_STR_STMT_INT(1column_1decltype, sqlite3_column_decltype)
|
||||
WRAP_STR_STMT_INT(1column_1name, sqlite3_column_name)
|
||||
#ifdef SQLITE_ENABLE_COLUMN_METADATA
|
||||
WRAP_STR_STMT_INT(1column_1database_1name, sqlite3_column_database_name)
|
||||
WRAP_STR_STMT_INT(1column_1origin_1name, sqlite3_column_origin_name)
|
||||
WRAP_STR_STMT_INT(1column_1table_1name, sqlite3_column_table_name)
|
||||
#endif
|
||||
WRAP_INT_STMT_INT(1column_1type, sqlite3_column_type)
|
||||
WRAP_INT_STMT(1data_1count, sqlite3_data_count)
|
||||
WRAP_STR_DB_INT(1db_1name, sqlite3_db_name)
|
||||
|
@ -622,20 +622,29 @@ public final class CApi {
|
||||
return sqlite3_column_name(stmt.getNativePointer(), ndx);
|
||||
}
|
||||
|
||||
static native String sqlite3_column_database_name(@NotNull long ptrToStmt, int ndx);
|
||||
private static native String sqlite3_column_database_name(@NotNull long ptrToStmt, int ndx);
|
||||
|
||||
/**
|
||||
Only available if built with SQLITE_ENABLE_COLUMN_METADATA.
|
||||
*/
|
||||
public static String sqlite3_column_database_name(@NotNull sqlite3_stmt stmt, int ndx){
|
||||
return sqlite3_column_database_name(stmt.getNativePointer(), ndx);
|
||||
}
|
||||
|
||||
static native String sqlite3_column_origin_name(@NotNull long ptrToStmt, int ndx);
|
||||
private static native String sqlite3_column_origin_name(@NotNull long ptrToStmt, int ndx);
|
||||
|
||||
/**
|
||||
Only available if built with SQLITE_ENABLE_COLUMN_METADATA.
|
||||
*/
|
||||
public static String sqlite3_column_origin_name(@NotNull sqlite3_stmt stmt, int ndx){
|
||||
return sqlite3_column_origin_name(stmt.getNativePointer(), ndx);
|
||||
}
|
||||
|
||||
static native String sqlite3_column_table_name(@NotNull long ptrToStmt, int ndx);
|
||||
private static native String sqlite3_column_table_name(@NotNull long ptrToStmt, int ndx);
|
||||
|
||||
/**
|
||||
Only available if built with SQLITE_ENABLE_COLUMN_METADATA.
|
||||
*/
|
||||
public static String sqlite3_column_table_name(@NotNull sqlite3_stmt stmt, int ndx){
|
||||
return sqlite3_column_table_name(stmt.getNativePointer(), ndx);
|
||||
}
|
||||
|
@ -382,9 +382,14 @@ public class Tester1 implements Runnable {
|
||||
stmt = prepare(db, "SELECT a FROM t ORDER BY a DESC;");
|
||||
affirm( sqlite3_stmt_readonly(stmt) );
|
||||
affirm( !sqlite3_stmt_busy(stmt) );
|
||||
affirm("t".equals(CApi.sqlite3_column_table_name(stmt,0)));
|
||||
affirm("main".equals(CApi.sqlite3_column_database_name(stmt,0)));
|
||||
affirm("a".equals(CApi.sqlite3_column_origin_name(stmt,0)));
|
||||
if( sqlite3_compileoption_used("ENABLE_COLUMN_METADATA") ){
|
||||
/* Unlike in native C code, JNI won't trigger an
|
||||
UnsatisfiedLinkError until these are called (on Linux, at
|
||||
least). */
|
||||
affirm("t".equals(sqlite3_column_table_name(stmt,0)));
|
||||
affirm("main".equals(sqlite3_column_database_name(stmt,0)));
|
||||
affirm("a".equals(sqlite3_column_origin_name(stmt,0)));
|
||||
}
|
||||
|
||||
int total2 = 0;
|
||||
while( SQLITE_ROW == sqlite3_step(stmt) ){
|
||||
|
Reference in New Issue
Block a user