@@ -193,16 +193,10 @@ module sqlite3
193
193
public :: sqlite3_close
194
194
public :: sqlite3_close_
195
195
public :: sqlite3_column_count
196
- public :: sqlite3_column_database_name
197
- public :: sqlite3_column_database_name_
198
196
public :: sqlite3_column_double
199
197
public :: sqlite3_column_int
200
198
public :: sqlite3_column_int64
201
199
public :: sqlite3_column_name
202
- public :: sqlite3_column_origin_name
203
- public :: sqlite3_column_origin_name_
204
- public :: sqlite3_column_table_name
205
- public :: sqlite3_column_table_name_
206
200
public :: sqlite3_column_text
207
201
public :: sqlite3_column_type
208
202
public :: sqlite3_config
@@ -264,6 +258,21 @@ module sqlite3
264
258
public :: sqlite3_threadsafe
265
259
public :: sqlite3_update_hook
266
260
261
+ #if SQLITE_ENABLE_COLUMN_METADATA
262
+ public :: sqlite3_column_database_name
263
+ public :: sqlite3_column_database_name_
264
+ public :: sqlite3_column_table_name
265
+ public :: sqlite3_column_table_name_
266
+ public :: sqlite3_column_origin_name
267
+ public :: sqlite3_column_origin_name_
268
+ #endif
269
+
270
+ interface sqlite3_config
271
+ module procedure :: sqlite3_config_funptr_ptr
272
+ module procedure :: sqlite3_config_int
273
+ module procedure :: sqlite3_config_null
274
+ end interface
275
+
267
276
interface
268
277
! int sqlite3_backup_finish(sqlite3_backup *p)
269
278
function sqlite3_backup_finish (p ) bind(c, name= ' sqlite3_backup_finish' )
@@ -420,15 +429,6 @@ function sqlite3_column_count(stmt) bind(c, name='sqlite3_column_count')
420
429
integer (kind= c_int) :: sqlite3_column_count
421
430
end function sqlite3_column_count
422
431
423
- ! const char *sqlite3_column_database_name(sqlite3_stmt *stmt, int idx)
424
- function sqlite3_column_database_name_ (stmt , idx ) bind(c, name= ' sqlite3_column_database_name' )
425
- import :: c_int, c_ptr
426
- implicit none
427
- type (c_ptr), intent (in ), value :: stmt
428
- integer (kind= c_int), intent (in ), value :: idx
429
- type (c_ptr) :: sqlite3_column_database_name_
430
- end function sqlite3_column_database_name_
431
-
432
432
! double sqlite3_column_double(sqlite3_stmt *stmt, int idx)
433
433
function sqlite3_column_double (stmt , idx ) bind(c, name= ' sqlite3_column_double' )
434
434
import :: c_double, c_int, c_ptr
@@ -465,24 +465,6 @@ function sqlite3_column_name_(stmt, idx) bind(c, name='sqlite3_column_name')
465
465
type (c_ptr) :: sqlite3_column_name_
466
466
end function sqlite3_column_name_
467
467
468
- ! const char *sqlite3_column_origin_name(sqlite3_stmt *stmt, int idx)
469
- function sqlite3_column_origin_name_ (stmt , idx ) bind(c, name= ' sqlite3_column_origin_name' )
470
- import :: c_int, c_ptr
471
- implicit none
472
- type (c_ptr), intent (in ), value :: stmt
473
- integer (kind= c_int), intent (in ), value :: idx
474
- type (c_ptr) :: sqlite3_column_origin_name_
475
- end function sqlite3_column_origin_name_
476
-
477
- ! const char *sqlite3_column_table_name(sqlite3_stmt *stmt, int idx)
478
- function sqlite3_column_table_name_ (stmt , idx ) bind(c, name= ' sqlite3_column_table_name' )
479
- import :: c_int, c_ptr
480
- implicit none
481
- type (c_ptr), intent (in ), value :: stmt
482
- integer (kind= c_int), intent (in ), value :: idx
483
- type (c_ptr) :: sqlite3_column_table_name_
484
- end function sqlite3_column_table_name_
485
-
486
468
! const unsigned char *sqlite3_column_text(sqlite3_stmt *stmt, int idx)
487
469
function sqlite3_column_text_ (stmt , idx ) bind(c, name= ' sqlite3_column_text' )
488
470
import :: c_int, c_ptr
@@ -898,11 +880,36 @@ subroutine sqlite3_str_reset(str) bind(c, name='slqite3_str_reset')
898
880
end subroutine sqlite3_str_reset
899
881
end interface
900
882
901
- interface sqlite3_config
902
- module procedure :: sqlite3_config_funptr_ptr
903
- module procedure :: sqlite3_config_int
904
- module procedure :: sqlite3_config_null
883
+ #if SQLITE_ENABLE_COLUMN_METADATA
884
+ interface
885
+ ! const char *sqlite3_column_database_name(sqlite3_stmt *stmt, int idx)
886
+ function sqlite3_column_database_name_ (stmt , idx ) bind(c, name= ' sqlite3_column_database_name' )
887
+ import :: c_int, c_ptr
888
+ implicit none
889
+ type (c_ptr), intent (in ), value :: stmt
890
+ integer (kind= c_int), intent (in ), value :: idx
891
+ type (c_ptr) :: sqlite3_column_database_name_
892
+ end function sqlite3_column_database_name_
893
+
894
+ ! const char *sqlite3_column_origin_name(sqlite3_stmt *stmt, int idx)
895
+ function sqlite3_column_origin_name_ (stmt , idx ) bind(c, name= ' sqlite3_column_origin_name' )
896
+ import :: c_int, c_ptr
897
+ implicit none
898
+ type (c_ptr), intent (in ), value :: stmt
899
+ integer (kind= c_int), intent (in ), value :: idx
900
+ type (c_ptr) :: sqlite3_column_origin_name_
901
+ end function sqlite3_column_origin_name_
902
+
903
+ ! const char *sqlite3_column_table_name(sqlite3_stmt *stmt, int idx)
904
+ function sqlite3_column_table_name_ (stmt , idx ) bind(c, name= ' sqlite3_column_table_name' )
905
+ import :: c_int, c_ptr
906
+ implicit none
907
+ type (c_ptr), intent (in ), value :: stmt
908
+ integer (kind= c_int), intent (in ), value :: idx
909
+ type (c_ptr) :: sqlite3_column_table_name_
910
+ end function sqlite3_column_table_name_
905
911
end interface
912
+ #endif
906
913
contains
907
914
function sqlite3_backup_init (dest , dest_name , source , source_name )
908
915
type (c_ptr), intent (in ) :: dest
@@ -950,16 +957,6 @@ function sqlite3_close(db)
950
957
if (sqlite3_close == SQLITE_OK) db = c_null_ptr
951
958
end function sqlite3_close
952
959
953
- function sqlite3_column_database_name (stmt , idx )
954
- type (c_ptr), intent (inout ) :: stmt
955
- integer , intent (in ) :: idx
956
- character (len= :), allocatable :: sqlite3_column_database_name
957
- type (c_ptr) :: ptr
958
-
959
- ptr = sqlite3_column_database_name_(stmt, idx)
960
- call c_f_str_ptr(ptr, sqlite3_column_database_name)
961
- end function sqlite3_column_database_name
962
-
963
960
function sqlite3_column_name (stmt , idx )
964
961
type (c_ptr), intent (inout ) :: stmt
965
962
integer , intent (in ) :: idx
@@ -970,26 +967,6 @@ function sqlite3_column_name(stmt, idx)
970
967
call c_f_str_ptr(ptr, sqlite3_column_name)
971
968
end function sqlite3_column_name
972
969
973
- function sqlite3_column_origin_name (stmt , idx )
974
- type (c_ptr), intent (inout ) :: stmt
975
- integer , intent (in ) :: idx
976
- character (len= :), allocatable :: sqlite3_column_origin_name
977
- type (c_ptr) :: ptr
978
-
979
- ptr = sqlite3_column_origin_name_(stmt, idx)
980
- call c_f_str_ptr(ptr, sqlite3_column_origin_name)
981
- end function sqlite3_column_origin_name
982
-
983
- function sqlite3_column_table_name (stmt , idx )
984
- type (c_ptr), intent (inout ) :: stmt
985
- integer , intent (in ) :: idx
986
- character (len= :), allocatable :: sqlite3_column_table_name
987
- type (c_ptr) :: ptr
988
-
989
- ptr = sqlite3_column_table_name_(stmt, idx)
990
- call c_f_str_ptr(ptr, sqlite3_column_table_name)
991
- end function sqlite3_column_table_name
992
-
993
970
function sqlite3_column_text (stmt , idx )
994
971
type (c_ptr), intent (inout ) :: stmt
995
972
integer , intent (in ) :: idx
@@ -1173,4 +1150,36 @@ subroutine sqlite3_log(ierr_code, str)
1173
1150
1174
1151
call sqlite3_log_(ierr_code, str // c_null_char)
1175
1152
end subroutine sqlite3_log
1153
+
1154
+ #if SQLITE_ENABLE_COLUMN_METADATA
1155
+ function sqlite3_column_database_name (stmt , idx )
1156
+ type (c_ptr), intent (inout ) :: stmt
1157
+ integer , intent (in ) :: idx
1158
+ character (len= :), allocatable :: sqlite3_column_database_name
1159
+ type (c_ptr) :: ptr
1160
+
1161
+ ptr = sqlite3_column_database_name_(stmt, idx)
1162
+ call c_f_str_ptr(ptr, sqlite3_column_database_name)
1163
+ end function sqlite3_column_database_name
1164
+
1165
+ function sqlite3_column_origin_name (stmt , idx )
1166
+ type (c_ptr), intent (inout ) :: stmt
1167
+ integer , intent (in ) :: idx
1168
+ character (len= :), allocatable :: sqlite3_column_origin_name
1169
+ type (c_ptr) :: ptr
1170
+
1171
+ ptr = sqlite3_column_origin_name_(stmt, idx)
1172
+ call c_f_str_ptr(ptr, sqlite3_column_origin_name)
1173
+ end function sqlite3_column_origin_name
1174
+
1175
+ function sqlite3_column_table_name (stmt , idx )
1176
+ type (c_ptr), intent (inout ) :: stmt
1177
+ integer , intent (in ) :: idx
1178
+ character (len= :), allocatable :: sqlite3_column_table_name
1179
+ type (c_ptr) :: ptr
1180
+
1181
+ ptr = sqlite3_column_table_name_(stmt, idx)
1182
+ call c_f_str_ptr(ptr, sqlite3_column_table_name)
1183
+ end function sqlite3_column_table_name
1184
+ #endif
1176
1185
end module sqlite3
0 commit comments