zsv 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +36 -0
  3. data/LICENSE +21 -0
  4. data/README.md +311 -0
  5. data/ext/zsv/common.h +34 -0
  6. data/ext/zsv/extconf.rb +137 -0
  7. data/ext/zsv/options.c +126 -0
  8. data/ext/zsv/options.h +31 -0
  9. data/ext/zsv/options_internal.h +8 -0
  10. data/ext/zsv/parser.c +300 -0
  11. data/ext/zsv/parser.h +62 -0
  12. data/ext/zsv/row.c +122 -0
  13. data/ext/zsv/row.h +39 -0
  14. data/ext/zsv/vendor/zsv-1.3.0/app/2db.c +756 -0
  15. data/ext/zsv/vendor/zsv-1.3.0/app/2json.c +381 -0
  16. data/ext/zsv/vendor/zsv-1.3.0/app/2tsv.c +228 -0
  17. data/ext/zsv/vendor/zsv-1.3.0/app/builtin/help.c +123 -0
  18. data/ext/zsv/vendor/zsv-1.3.0/app/builtin/license.c +39 -0
  19. data/ext/zsv/vendor/zsv-1.3.0/app/builtin/register.c +104 -0
  20. data/ext/zsv/vendor/zsv-1.3.0/app/builtin/thirdparty.c +41 -0
  21. data/ext/zsv/vendor/zsv-1.3.0/app/builtin/unregister.c +1 -0
  22. data/ext/zsv/vendor/zsv-1.3.0/app/builtin/version.c +14 -0
  23. data/ext/zsv/vendor/zsv-1.3.0/app/check/simdutf_wrapper.h +19 -0
  24. data/ext/zsv/vendor/zsv-1.3.0/app/check/utf8.c +116 -0
  25. data/ext/zsv/vendor/zsv-1.3.0/app/check.c +194 -0
  26. data/ext/zsv/vendor/zsv-1.3.0/app/cli.c +796 -0
  27. data/ext/zsv/vendor/zsv-1.3.0/app/cli_const.h +41 -0
  28. data/ext/zsv/vendor/zsv-1.3.0/app/cli_export.h +16 -0
  29. data/ext/zsv/vendor/zsv-1.3.0/app/cli_ini.c +280 -0
  30. data/ext/zsv/vendor/zsv-1.3.0/app/cli_internal.h +36 -0
  31. data/ext/zsv/vendor/zsv-1.3.0/app/compare.c +913 -0
  32. data/ext/zsv/vendor/zsv-1.3.0/app/compare.h +23 -0
  33. data/ext/zsv/vendor/zsv-1.3.0/app/compare_added_column.c +20 -0
  34. data/ext/zsv/vendor/zsv-1.3.0/app/compare_internal.h +140 -0
  35. data/ext/zsv/vendor/zsv-1.3.0/app/compare_sort.c +91 -0
  36. data/ext/zsv/vendor/zsv-1.3.0/app/compare_unique_colname.c +81 -0
  37. data/ext/zsv/vendor/zsv-1.3.0/app/count-pull.c +82 -0
  38. data/ext/zsv/vendor/zsv-1.3.0/app/count.c +404 -0
  39. data/ext/zsv/vendor/zsv-1.3.0/app/desc.c +569 -0
  40. data/ext/zsv/vendor/zsv-1.3.0/app/echo.c +365 -0
  41. data/ext/zsv/vendor/zsv-1.3.0/app/ext_example/my_extension.c +366 -0
  42. data/ext/zsv/vendor/zsv-1.3.0/app/ext_example/mysheet_extension.c +341 -0
  43. data/ext/zsv/vendor/zsv-1.3.0/app/ext_template/YOUR_EXTENSION_zsvext.c +263 -0
  44. data/ext/zsv/vendor/zsv-1.3.0/app/external/inih/ini.c +298 -0
  45. data/ext/zsv/vendor/zsv-1.3.0/app/external/inih/ini.h +157 -0
  46. data/ext/zsv/vendor/zsv-1.3.0/app/external/json_writer-1.01/json_numeric.c +177 -0
  47. data/ext/zsv/vendor/zsv-1.3.0/app/external/json_writer-1.01/jsonwriter.c +444 -0
  48. data/ext/zsv/vendor/zsv-1.3.0/app/external/json_writer-1.01/jsonwriter.h +145 -0
  49. data/ext/zsv/vendor/zsv-1.3.0/app/external/json_writer-1.01/utils.c +110 -0
  50. data/ext/zsv/vendor/zsv-1.3.0/app/external/memfile-1.0/include/memfile.h +15 -0
  51. data/ext/zsv/vendor/zsv-1.3.0/app/external/memfile-1.0/src/memfile.c +64 -0
  52. data/ext/zsv/vendor/zsv-1.3.0/app/external/sglib/sglib.h +1955 -0
  53. data/ext/zsv/vendor/zsv-1.3.0/app/external/simdutf/simdutf.h +6802 -0
  54. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3.c +230517 -0
  55. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3.h +12174 -0
  56. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3_and_csv_vtab.c +2 -0
  57. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3_csv_vtab-mem.c +142 -0
  58. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3_csv_vtab-mem.h +49 -0
  59. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3_csv_vtab-zsv.c +485 -0
  60. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3_csv_vtab.c +1015 -0
  61. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/sqlite3ext.h +663 -0
  62. data/ext/zsv/vendor/zsv-1.3.0/app/external/sqlite3/vtab_helper.c +85 -0
  63. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/build/yajl-2.1.1/include/yajl/yajl_common.h +75 -0
  64. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/build/yajl-2.1.1/include/yajl/yajl_gen.h +167 -0
  65. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/build/yajl-2.1.1/include/yajl/yajl_parse.h +228 -0
  66. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/build/yajl-2.1.1/include/yajl/yajl_tree.h +186 -0
  67. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/build/yajl-2.1.1/include/yajl/yajl_version.h +23 -0
  68. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/api/yajl_common.h +76 -0
  69. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/api/yajl_gen.h +167 -0
  70. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/api/yajl_parse.h +238 -0
  71. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/api/yajl_tree.h +186 -0
  72. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl.c +184 -0
  73. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_alloc.c +52 -0
  74. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_alloc.h +34 -0
  75. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_buf.c +103 -0
  76. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_buf.h +57 -0
  77. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_bytestack.h +69 -0
  78. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_encode.c +220 -0
  79. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_encode.h +34 -0
  80. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_gen.c +362 -0
  81. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_lex.c +764 -0
  82. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_lex.h +117 -0
  83. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_parser.c +508 -0
  84. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_parser.h +78 -0
  85. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_tree.c +505 -0
  86. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl/src/yajl_version.c +7 -0
  87. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl_helper/yajl_helper/json_value.h +59 -0
  88. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl_helper/yajl_helper/yajl_helper.h +208 -0
  89. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl_helper/yajl_helper.c +795 -0
  90. data/ext/zsv/vendor/zsv-1.3.0/app/external/yajl_helper/yajl_helper_internal.h +28 -0
  91. data/ext/zsv/vendor/zsv-1.3.0/app/flatten.c +851 -0
  92. data/ext/zsv/vendor/zsv-1.3.0/app/jq.c +106 -0
  93. data/ext/zsv/vendor/zsv-1.3.0/app/jq.h +6 -0
  94. data/ext/zsv/vendor/zsv-1.3.0/app/mv.c +113 -0
  95. data/ext/zsv/vendor/zsv-1.3.0/app/noop.c +90 -0
  96. data/ext/zsv/vendor/zsv-1.3.0/app/overwrite.c +295 -0
  97. data/ext/zsv/vendor/zsv-1.3.0/app/paste.c +175 -0
  98. data/ext/zsv/vendor/zsv-1.3.0/app/pretty.c +693 -0
  99. data/ext/zsv/vendor/zsv-1.3.0/app/prop.c +980 -0
  100. data/ext/zsv/vendor/zsv-1.3.0/app/rm.c +131 -0
  101. data/ext/zsv/vendor/zsv-1.3.0/app/select/fixed.c +130 -0
  102. data/ext/zsv/vendor/zsv-1.3.0/app/select/internal.h +118 -0
  103. data/ext/zsv/vendor/zsv-1.3.0/app/select/parallel.c +45 -0
  104. data/ext/zsv/vendor/zsv-1.3.0/app/select/parallel.h +41 -0
  105. data/ext/zsv/vendor/zsv-1.3.0/app/select/processing.c +107 -0
  106. data/ext/zsv/vendor/zsv-1.3.0/app/select/rand.c +20 -0
  107. data/ext/zsv/vendor/zsv-1.3.0/app/select/regex.c +61 -0
  108. data/ext/zsv/vendor/zsv-1.3.0/app/select/search.c +14 -0
  109. data/ext/zsv/vendor/zsv-1.3.0/app/select/selection.c +192 -0
  110. data/ext/zsv/vendor/zsv-1.3.0/app/select/usage.c +72 -0
  111. data/ext/zsv/vendor/zsv-1.3.0/app/select-pull.c +812 -0
  112. data/ext/zsv/vendor/zsv-1.3.0/app/select.c +753 -0
  113. data/ext/zsv/vendor/zsv-1.3.0/app/serialize.c +372 -0
  114. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/curses.h +15 -0
  115. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/cursor.c +119 -0
  116. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/errors.c +45 -0
  117. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/file.c +63 -0
  118. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/file.h +12 -0
  119. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/filter.c +166 -0
  120. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/handlers.c +214 -0
  121. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/handlers_internal.h +128 -0
  122. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/help.c +43 -0
  123. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/index.c +81 -0
  124. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/index.h +25 -0
  125. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/key-bindings.c +325 -0
  126. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/key-bindings.h +73 -0
  127. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/lexer.c +203 -0
  128. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/newline_handler.c +7 -0
  129. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/pivot.c +318 -0
  130. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/procedure.c +134 -0
  131. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/procedure.h +119 -0
  132. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/read-data.c +322 -0
  133. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/screen_buffer.c +203 -0
  134. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/screen_buffer.h +36 -0
  135. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/sheet-sql.c +167 -0
  136. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/sheet_internal.h +36 -0
  137. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/sqlfilter.c +153 -0
  138. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/terminfo.c +32 -0
  139. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/transformation.c +312 -0
  140. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/transformation.h +29 -0
  141. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/ui_buffer.c +266 -0
  142. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/usage.c +9 -0
  143. data/ext/zsv/vendor/zsv-1.3.0/app/sheet/utf8-width.c +60 -0
  144. data/ext/zsv/vendor/zsv-1.3.0/app/sheet.c +1007 -0
  145. data/ext/zsv/vendor/zsv-1.3.0/app/sql.c +453 -0
  146. data/ext/zsv/vendor/zsv-1.3.0/app/sql_internal.c +101 -0
  147. data/ext/zsv/vendor/zsv-1.3.0/app/sql_internal.h +49 -0
  148. data/ext/zsv/vendor/zsv-1.3.0/app/stack.c +393 -0
  149. data/ext/zsv/vendor/zsv-1.3.0/app/utils/arg.c +322 -0
  150. data/ext/zsv/vendor/zsv-1.3.0/app/utils/cache.c +228 -0
  151. data/ext/zsv/vendor/zsv-1.3.0/app/utils/cat.c +91 -0
  152. data/ext/zsv/vendor/zsv-1.3.0/app/utils/chunk.c +240 -0
  153. data/ext/zsv/vendor/zsv-1.3.0/app/utils/chunk.h +63 -0
  154. data/ext/zsv/vendor/zsv-1.3.0/app/utils/clock.c +57 -0
  155. data/ext/zsv/vendor/zsv-1.3.0/app/utils/db.c +148 -0
  156. data/ext/zsv/vendor/zsv-1.3.0/app/utils/dirs-no-jq.c +2 -0
  157. data/ext/zsv/vendor/zsv-1.3.0/app/utils/dirs.c +427 -0
  158. data/ext/zsv/vendor/zsv-1.3.0/app/utils/dirs_from_json.c +253 -0
  159. data/ext/zsv/vendor/zsv-1.3.0/app/utils/dirs_to_json.c +121 -0
  160. data/ext/zsv/vendor/zsv-1.3.0/app/utils/dl.c +20 -0
  161. data/ext/zsv/vendor/zsv-1.3.0/app/utils/emcc/fs_api.c +159 -0
  162. data/ext/zsv/vendor/zsv-1.3.0/app/utils/err.c +24 -0
  163. data/ext/zsv/vendor/zsv-1.3.0/app/utils/file-mem.c +180 -0
  164. data/ext/zsv/vendor/zsv-1.3.0/app/utils/file.c +256 -0
  165. data/ext/zsv/vendor/zsv-1.3.0/app/utils/index.c +197 -0
  166. data/ext/zsv/vendor/zsv-1.3.0/app/utils/index.h +49 -0
  167. data/ext/zsv/vendor/zsv-1.3.0/app/utils/jq.c +400 -0
  168. data/ext/zsv/vendor/zsv-1.3.0/app/utils/json.c +120 -0
  169. data/ext/zsv/vendor/zsv-1.3.0/app/utils/mem.c +18 -0
  170. data/ext/zsv/vendor/zsv-1.3.0/app/utils/memmem.c +132 -0
  171. data/ext/zsv/vendor/zsv-1.3.0/app/utils/os.c +178 -0
  172. data/ext/zsv/vendor/zsv-1.3.0/app/utils/overwrite.c +258 -0
  173. data/ext/zsv/vendor/zsv-1.3.0/app/utils/overwrite_writer.c +246 -0
  174. data/ext/zsv/vendor/zsv-1.3.0/app/utils/pcre2-8/pcre2-8-test.c +123 -0
  175. data/ext/zsv/vendor/zsv-1.3.0/app/utils/pcre2-8/pcre2-8.c +153 -0
  176. data/ext/zsv/vendor/zsv-1.3.0/app/utils/pcre2-8/pcre2-8.h +54 -0
  177. data/ext/zsv/vendor/zsv-1.3.0/app/utils/prop.c +267 -0
  178. data/ext/zsv/vendor/zsv-1.3.0/app/utils/signal.c +53 -0
  179. data/ext/zsv/vendor/zsv-1.3.0/app/utils/string.c +357 -0
  180. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/dir_exists_longpath.c +83 -0
  181. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/dl.c +33 -0
  182. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/fopen_longpath.c +184 -0
  183. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/foreach_dirent_longpath.c +292 -0
  184. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/io.c +259 -0
  185. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/io.h +13 -0
  186. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/mkdir_longpath.c +255 -0
  187. data/ext/zsv/vendor/zsv-1.3.0/app/utils/win/remove_longpath.c +96 -0
  188. data/ext/zsv/vendor/zsv-1.3.0/app/utils/writer.c +361 -0
  189. data/ext/zsv/vendor/zsv-1.3.0/app/zsv_command.h +40 -0
  190. data/ext/zsv/vendor/zsv-1.3.0/app/zsv_command_standalone.c +16 -0
  191. data/ext/zsv/vendor/zsv-1.3.0/app/zsv_main.h +44 -0
  192. data/ext/zsv/vendor/zsv-1.3.0/examples/js/zsv_parser_api_dummy.c +3 -0
  193. data/ext/zsv/vendor/zsv-1.3.0/examples/lib/parse_by_chunk.c +100 -0
  194. data/ext/zsv/vendor/zsv-1.3.0/examples/lib/print_my_column.c +143 -0
  195. data/ext/zsv/vendor/zsv-1.3.0/examples/lib/pull.c +89 -0
  196. data/ext/zsv/vendor/zsv-1.3.0/examples/lib/simple.c +123 -0
  197. data/ext/zsv/vendor/zsv-1.3.0/fuzz/fuzz.c +16 -0
  198. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/api.h +336 -0
  199. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/common.h +361 -0
  200. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/ext/implementation.h +62 -0
  201. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/ext/implementation_private.h +113 -0
  202. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/ext/sheet.h +73 -0
  203. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/ext.h +329 -0
  204. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/arg.h +90 -0
  205. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/cache.h +49 -0
  206. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/clock.h +36 -0
  207. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/compiler.h +58 -0
  208. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/db.h +19 -0
  209. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/dirs.h +147 -0
  210. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/dl.h +22 -0
  211. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/emcc/fs_api.h +28 -0
  212. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/err.h +22 -0
  213. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/file-mem.h +17 -0
  214. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/file.h +99 -0
  215. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/jq.h +65 -0
  216. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/json.h +19 -0
  217. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/mem.h +19 -0
  218. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/memmem.h +13 -0
  219. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/os.h +54 -0
  220. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/overwrite.h +71 -0
  221. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/overwrite_writer.h +53 -0
  222. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/prop.h +107 -0
  223. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/signal.h +18 -0
  224. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/sql.h +11 -0
  225. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/string.h +148 -0
  226. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/utf8.h +41 -0
  227. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/win/dl.h +25 -0
  228. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/utils/writer.h +101 -0
  229. data/ext/zsv/vendor/zsv-1.3.0/include/zsv/zsv_export.h +33 -0
  230. data/ext/zsv/vendor/zsv-1.3.0/include/zsv.h +20 -0
  231. data/ext/zsv/vendor/zsv-1.3.0/src/vector_delim.c +60 -0
  232. data/ext/zsv/vendor/zsv-1.3.0/src/zsv.c +484 -0
  233. data/ext/zsv/vendor/zsv-1.3.0/src/zsv_internal.c +731 -0
  234. data/ext/zsv/vendor/zsv-1.3.0/src/zsv_scan_delim.c +285 -0
  235. data/ext/zsv/vendor/zsv-1.3.0/src/zsv_scan_fixed.c +88 -0
  236. data/ext/zsv/vendor/zsv-1.3.0/src/zsv_strencode.c +51 -0
  237. data/ext/zsv/zsv_ext.c +343 -0
  238. data/lib/zsv/version.rb +5 -0
  239. data/lib/zsv.rb +81 -0
  240. metadata +340 -0
@@ -0,0 +1,663 @@
1
+ /*
2
+ ** 2006 June 7
3
+ **
4
+ ** The author disclaims copyright to this source code. In place of
5
+ ** a legal notice, here is a blessing:
6
+ **
7
+ ** May you do good and not evil.
8
+ ** May you find forgiveness for yourself and forgive others.
9
+ ** May you share freely, never taking more than you give.
10
+ **
11
+ *************************************************************************
12
+ ** This header file defines the SQLite interface for use by
13
+ ** shared libraries that want to be imported as extensions into
14
+ ** an SQLite instance. Shared libraries that intend to be loaded
15
+ ** as extensions by SQLite should #include this file instead of
16
+ ** sqlite3.h.
17
+ */
18
+ #ifndef SQLITE3EXT_H
19
+ #define SQLITE3EXT_H
20
+ #include "sqlite3.h"
21
+
22
+ /*
23
+ ** The following structure holds pointers to all of the SQLite API
24
+ ** routines.
25
+ **
26
+ ** WARNING: In order to maintain backwards compatibility, add new
27
+ ** interfaces to the end of this structure only. If you insert new
28
+ ** interfaces in the middle of this structure, then older different
29
+ ** versions of SQLite will not be able to load each other's shared
30
+ ** libraries!
31
+ */
32
+ struct sqlite3_api_routines {
33
+ void * (*aggregate_context)(sqlite3_context*,int nBytes);
34
+ int (*aggregate_count)(sqlite3_context*);
35
+ int (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*));
36
+ int (*bind_double)(sqlite3_stmt*,int,double);
37
+ int (*bind_int)(sqlite3_stmt*,int,int);
38
+ int (*bind_int64)(sqlite3_stmt*,int,sqlite_int64);
39
+ int (*bind_null)(sqlite3_stmt*,int);
40
+ int (*bind_parameter_count)(sqlite3_stmt*);
41
+ int (*bind_parameter_index)(sqlite3_stmt*,const char*zName);
42
+ const char * (*bind_parameter_name)(sqlite3_stmt*,int);
43
+ int (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*));
44
+ int (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*));
45
+ int (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*);
46
+ int (*busy_handler)(sqlite3*,int(*)(void*,int),void*);
47
+ int (*busy_timeout)(sqlite3*,int ms);
48
+ int (*changes)(sqlite3*);
49
+ int (*close)(sqlite3*);
50
+ int (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,
51
+ int eTextRep,const char*));
52
+ int (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,
53
+ int eTextRep,const void*));
54
+ const void * (*column_blob)(sqlite3_stmt*,int iCol);
55
+ int (*column_bytes)(sqlite3_stmt*,int iCol);
56
+ int (*column_bytes16)(sqlite3_stmt*,int iCol);
57
+ int (*column_count)(sqlite3_stmt*pStmt);
58
+ const char * (*column_database_name)(sqlite3_stmt*,int);
59
+ const void * (*column_database_name16)(sqlite3_stmt*,int);
60
+ const char * (*column_decltype)(sqlite3_stmt*,int i);
61
+ const void * (*column_decltype16)(sqlite3_stmt*,int);
62
+ double (*column_double)(sqlite3_stmt*,int iCol);
63
+ int (*column_int)(sqlite3_stmt*,int iCol);
64
+ sqlite_int64 (*column_int64)(sqlite3_stmt*,int iCol);
65
+ const char * (*column_name)(sqlite3_stmt*,int);
66
+ const void * (*column_name16)(sqlite3_stmt*,int);
67
+ const char * (*column_origin_name)(sqlite3_stmt*,int);
68
+ const void * (*column_origin_name16)(sqlite3_stmt*,int);
69
+ const char * (*column_table_name)(sqlite3_stmt*,int);
70
+ const void * (*column_table_name16)(sqlite3_stmt*,int);
71
+ const unsigned char * (*column_text)(sqlite3_stmt*,int iCol);
72
+ const void * (*column_text16)(sqlite3_stmt*,int iCol);
73
+ int (*column_type)(sqlite3_stmt*,int iCol);
74
+ sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol);
75
+ void * (*commit_hook)(sqlite3*,int(*)(void*),void*);
76
+ int (*complete)(const char*sql);
77
+ int (*complete16)(const void*sql);
78
+ int (*create_collation)(sqlite3*,const char*,int,void*,
79
+ int(*)(void*,int,const void*,int,const void*));
80
+ int (*create_collation16)(sqlite3*,const void*,int,void*,
81
+ int(*)(void*,int,const void*,int,const void*));
82
+ int (*create_function)(sqlite3*,const char*,int,int,void*,
83
+ void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
84
+ void (*xStep)(sqlite3_context*,int,sqlite3_value**),
85
+ void (*xFinal)(sqlite3_context*));
86
+ int (*create_function16)(sqlite3*,const void*,int,int,void*,
87
+ void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
88
+ void (*xStep)(sqlite3_context*,int,sqlite3_value**),
89
+ void (*xFinal)(sqlite3_context*));
90
+ int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*);
91
+ int (*data_count)(sqlite3_stmt*pStmt);
92
+ sqlite3 * (*db_handle)(sqlite3_stmt*);
93
+ int (*declare_vtab)(sqlite3*,const char*);
94
+ int (*enable_shared_cache)(int);
95
+ int (*errcode)(sqlite3*db);
96
+ const char * (*errmsg)(sqlite3*);
97
+ const void * (*errmsg16)(sqlite3*);
98
+ int (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**);
99
+ int (*expired)(sqlite3_stmt*);
100
+ int (*finalize)(sqlite3_stmt*pStmt);
101
+ void (*free)(void*);
102
+ void (*free_table)(char**result);
103
+ int (*get_autocommit)(sqlite3*);
104
+ void * (*get_auxdata)(sqlite3_context*,int);
105
+ int (*get_table)(sqlite3*,const char*,char***,int*,int*,char**);
106
+ int (*global_recover)(void);
107
+ void (*interruptx)(sqlite3*);
108
+ sqlite_int64 (*last_insert_rowid)(sqlite3*);
109
+ const char * (*libversion)(void);
110
+ int (*libversion_number)(void);
111
+ void *(*malloc)(int);
112
+ char * (*mprintf)(const char*,...);
113
+ int (*open)(const char*,sqlite3**);
114
+ int (*open16)(const void*,sqlite3**);
115
+ int (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**);
116
+ int (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**);
117
+ void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void*);
118
+ void (*progress_handler)(sqlite3*,int,int(*)(void*),void*);
119
+ void *(*realloc)(void*,int);
120
+ int (*reset)(sqlite3_stmt*pStmt);
121
+ void (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*));
122
+ void (*result_double)(sqlite3_context*,double);
123
+ void (*result_error)(sqlite3_context*,const char*,int);
124
+ void (*result_error16)(sqlite3_context*,const void*,int);
125
+ void (*result_int)(sqlite3_context*,int);
126
+ void (*result_int64)(sqlite3_context*,sqlite_int64);
127
+ void (*result_null)(sqlite3_context*);
128
+ void (*result_text)(sqlite3_context*,const char*,int,void(*)(void*));
129
+ void (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*));
130
+ void (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*));
131
+ void (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*));
132
+ void (*result_value)(sqlite3_context*,sqlite3_value*);
133
+ void * (*rollback_hook)(sqlite3*,void(*)(void*),void*);
134
+ int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*,
135
+ const char*,const char*),void*);
136
+ void (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*));
137
+ char * (*xsnprintf)(int,char*,const char*,...);
138
+ int (*step)(sqlite3_stmt*);
139
+ int (*table_column_metadata)(sqlite3*,const char*,const char*,const char*,
140
+ char const**,char const**,int*,int*,int*);
141
+ void (*thread_cleanup)(void);
142
+ int (*total_changes)(sqlite3*);
143
+ void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*);
144
+ int (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*);
145
+ void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*,
146
+ sqlite_int64),void*);
147
+ void * (*user_data)(sqlite3_context*);
148
+ const void * (*value_blob)(sqlite3_value*);
149
+ int (*value_bytes)(sqlite3_value*);
150
+ int (*value_bytes16)(sqlite3_value*);
151
+ double (*value_double)(sqlite3_value*);
152
+ int (*value_int)(sqlite3_value*);
153
+ sqlite_int64 (*value_int64)(sqlite3_value*);
154
+ int (*value_numeric_type)(sqlite3_value*);
155
+ const unsigned char * (*value_text)(sqlite3_value*);
156
+ const void * (*value_text16)(sqlite3_value*);
157
+ const void * (*value_text16be)(sqlite3_value*);
158
+ const void * (*value_text16le)(sqlite3_value*);
159
+ int (*value_type)(sqlite3_value*);
160
+ char *(*vmprintf)(const char*,va_list);
161
+ /* Added ??? */
162
+ int (*overload_function)(sqlite3*, const char *zFuncName, int nArg);
163
+ /* Added by 3.3.13 */
164
+ int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**);
165
+ int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**);
166
+ int (*clear_bindings)(sqlite3_stmt*);
167
+ /* Added by 3.4.1 */
168
+ int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*,
169
+ void (*xDestroy)(void *));
170
+ /* Added by 3.5.0 */
171
+ int (*bind_zeroblob)(sqlite3_stmt*,int,int);
172
+ int (*blob_bytes)(sqlite3_blob*);
173
+ int (*blob_close)(sqlite3_blob*);
174
+ int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64,
175
+ int,sqlite3_blob**);
176
+ int (*blob_read)(sqlite3_blob*,void*,int,int);
177
+ int (*blob_write)(sqlite3_blob*,const void*,int,int);
178
+ int (*create_collation_v2)(sqlite3*,const char*,int,void*,
179
+ int(*)(void*,int,const void*,int,const void*),
180
+ void(*)(void*));
181
+ int (*file_control)(sqlite3*,const char*,int,void*);
182
+ sqlite3_int64 (*memory_highwater)(int);
183
+ sqlite3_int64 (*memory_used)(void);
184
+ sqlite3_mutex *(*mutex_alloc)(int);
185
+ void (*mutex_enter)(sqlite3_mutex*);
186
+ void (*mutex_free)(sqlite3_mutex*);
187
+ void (*mutex_leave)(sqlite3_mutex*);
188
+ int (*mutex_try)(sqlite3_mutex*);
189
+ int (*open_v2)(const char*,sqlite3**,int,const char*);
190
+ int (*release_memory)(int);
191
+ void (*result_error_nomem)(sqlite3_context*);
192
+ void (*result_error_toobig)(sqlite3_context*);
193
+ int (*sleep)(int);
194
+ void (*soft_heap_limit)(int);
195
+ sqlite3_vfs *(*vfs_find)(const char*);
196
+ int (*vfs_register)(sqlite3_vfs*,int);
197
+ int (*vfs_unregister)(sqlite3_vfs*);
198
+ int (*xthreadsafe)(void);
199
+ void (*result_zeroblob)(sqlite3_context*,int);
200
+ void (*result_error_code)(sqlite3_context*,int);
201
+ int (*test_control)(int, ...);
202
+ void (*randomness)(int,void*);
203
+ sqlite3 *(*context_db_handle)(sqlite3_context*);
204
+ int (*extended_result_codes)(sqlite3*,int);
205
+ int (*limit)(sqlite3*,int,int);
206
+ sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*);
207
+ const char *(*sql)(sqlite3_stmt*);
208
+ int (*status)(int,int*,int*,int);
209
+ int (*backup_finish)(sqlite3_backup*);
210
+ sqlite3_backup *(*backup_init)(sqlite3*,const char*,sqlite3*,const char*);
211
+ int (*backup_pagecount)(sqlite3_backup*);
212
+ int (*backup_remaining)(sqlite3_backup*);
213
+ int (*backup_step)(sqlite3_backup*,int);
214
+ const char *(*compileoption_get)(int);
215
+ int (*compileoption_used)(const char*);
216
+ int (*create_function_v2)(sqlite3*,const char*,int,int,void*,
217
+ void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
218
+ void (*xStep)(sqlite3_context*,int,sqlite3_value**),
219
+ void (*xFinal)(sqlite3_context*),
220
+ void(*xDestroy)(void*));
221
+ int (*db_config)(sqlite3*,int,...);
222
+ sqlite3_mutex *(*db_mutex)(sqlite3*);
223
+ int (*db_status)(sqlite3*,int,int*,int*,int);
224
+ int (*extended_errcode)(sqlite3*);
225
+ void (*log)(int,const char*,...);
226
+ sqlite3_int64 (*soft_heap_limit64)(sqlite3_int64);
227
+ const char *(*sourceid)(void);
228
+ int (*stmt_status)(sqlite3_stmt*,int,int);
229
+ int (*strnicmp)(const char*,const char*,int);
230
+ int (*unlock_notify)(sqlite3*,void(*)(void**,int),void*);
231
+ int (*wal_autocheckpoint)(sqlite3*,int);
232
+ int (*wal_checkpoint)(sqlite3*,const char*);
233
+ void *(*wal_hook)(sqlite3*,int(*)(void*,sqlite3*,const char*,int),void*);
234
+ int (*blob_reopen)(sqlite3_blob*,sqlite3_int64);
235
+ int (*vtab_config)(sqlite3*,int op,...);
236
+ int (*vtab_on_conflict)(sqlite3*);
237
+ /* Version 3.7.16 and later */
238
+ int (*close_v2)(sqlite3*);
239
+ const char *(*db_filename)(sqlite3*,const char*);
240
+ int (*db_readonly)(sqlite3*,const char*);
241
+ int (*db_release_memory)(sqlite3*);
242
+ const char *(*errstr)(int);
243
+ int (*stmt_busy)(sqlite3_stmt*);
244
+ int (*stmt_readonly)(sqlite3_stmt*);
245
+ int (*stricmp)(const char*,const char*);
246
+ int (*uri_boolean)(const char*,const char*,int);
247
+ sqlite3_int64 (*uri_int64)(const char*,const char*,sqlite3_int64);
248
+ const char *(*uri_parameter)(const char*,const char*);
249
+ char *(*xvsnprintf)(int,char*,const char*,va_list);
250
+ int (*wal_checkpoint_v2)(sqlite3*,const char*,int,int*,int*);
251
+ /* Version 3.8.7 and later */
252
+ int (*auto_extension)(void(*)(void));
253
+ int (*bind_blob64)(sqlite3_stmt*,int,const void*,sqlite3_uint64,
254
+ void(*)(void*));
255
+ int (*bind_text64)(sqlite3_stmt*,int,const char*,sqlite3_uint64,
256
+ void(*)(void*),unsigned char);
257
+ int (*cancel_auto_extension)(void(*)(void));
258
+ int (*load_extension)(sqlite3*,const char*,const char*,char**);
259
+ void *(*malloc64)(sqlite3_uint64);
260
+ sqlite3_uint64 (*msize)(void*);
261
+ void *(*realloc64)(void*,sqlite3_uint64);
262
+ void (*reset_auto_extension)(void);
263
+ void (*result_blob64)(sqlite3_context*,const void*,sqlite3_uint64,
264
+ void(*)(void*));
265
+ void (*result_text64)(sqlite3_context*,const char*,sqlite3_uint64,
266
+ void(*)(void*), unsigned char);
267
+ int (*strglob)(const char*,const char*);
268
+ /* Version 3.8.11 and later */
269
+ sqlite3_value *(*value_dup)(const sqlite3_value*);
270
+ void (*value_free)(sqlite3_value*);
271
+ int (*result_zeroblob64)(sqlite3_context*,sqlite3_uint64);
272
+ int (*bind_zeroblob64)(sqlite3_stmt*, int, sqlite3_uint64);
273
+ /* Version 3.9.0 and later */
274
+ unsigned int (*value_subtype)(sqlite3_value*);
275
+ void (*result_subtype)(sqlite3_context*,unsigned int);
276
+ /* Version 3.10.0 and later */
277
+ int (*status64)(int,sqlite3_int64*,sqlite3_int64*,int);
278
+ int (*strlike)(const char*,const char*,unsigned int);
279
+ int (*db_cacheflush)(sqlite3*);
280
+ /* Version 3.12.0 and later */
281
+ int (*system_errno)(sqlite3*);
282
+ /* Version 3.14.0 and later */
283
+ int (*trace_v2)(sqlite3*,unsigned,int(*)(unsigned,void*,void*,void*),void*);
284
+ char *(*expanded_sql)(sqlite3_stmt*);
285
+ /* Version 3.18.0 and later */
286
+ void (*set_last_insert_rowid)(sqlite3*,sqlite3_int64);
287
+ /* Version 3.20.0 and later */
288
+ int (*prepare_v3)(sqlite3*,const char*,int,unsigned int,
289
+ sqlite3_stmt**,const char**);
290
+ int (*prepare16_v3)(sqlite3*,const void*,int,unsigned int,
291
+ sqlite3_stmt**,const void**);
292
+ int (*bind_pointer)(sqlite3_stmt*,int,void*,const char*,void(*)(void*));
293
+ void (*result_pointer)(sqlite3_context*,void*,const char*,void(*)(void*));
294
+ void *(*value_pointer)(sqlite3_value*,const char*);
295
+ int (*vtab_nochange)(sqlite3_context*);
296
+ int (*value_nochange)(sqlite3_value*);
297
+ const char *(*vtab_collation)(sqlite3_index_info*,int);
298
+ /* Version 3.24.0 and later */
299
+ int (*keyword_count)(void);
300
+ int (*keyword_name)(int,const char**,int*);
301
+ int (*keyword_check)(const char*,int);
302
+ sqlite3_str *(*str_new)(sqlite3*);
303
+ char *(*str_finish)(sqlite3_str*);
304
+ void (*str_appendf)(sqlite3_str*, const char *zFormat, ...);
305
+ void (*str_vappendf)(sqlite3_str*, const char *zFormat, va_list);
306
+ void (*str_append)(sqlite3_str*, const char *zIn, int N);
307
+ void (*str_appendall)(sqlite3_str*, const char *zIn);
308
+ void (*str_appendchar)(sqlite3_str*, int N, char C);
309
+ void (*str_reset)(sqlite3_str*);
310
+ int (*str_errcode)(sqlite3_str*);
311
+ int (*str_length)(sqlite3_str*);
312
+ char *(*str_value)(sqlite3_str*);
313
+ /* Version 3.25.0 and later */
314
+ int (*create_window_function)(sqlite3*,const char*,int,int,void*,
315
+ void (*xStep)(sqlite3_context*,int,sqlite3_value**),
316
+ void (*xFinal)(sqlite3_context*),
317
+ void (*xValue)(sqlite3_context*),
318
+ void (*xInv)(sqlite3_context*,int,sqlite3_value**),
319
+ void(*xDestroy)(void*));
320
+ /* Version 3.26.0 and later */
321
+ const char *(*normalized_sql)(sqlite3_stmt*);
322
+ /* Version 3.28.0 and later */
323
+ int (*stmt_isexplain)(sqlite3_stmt*);
324
+ int (*value_frombind)(sqlite3_value*);
325
+ /* Version 3.30.0 and later */
326
+ int (*drop_modules)(sqlite3*,const char**);
327
+ /* Version 3.31.0 and later */
328
+ sqlite3_int64 (*hard_heap_limit64)(sqlite3_int64);
329
+ const char *(*uri_key)(const char*,int);
330
+ const char *(*filename_database)(const char*);
331
+ const char *(*filename_journal)(const char*);
332
+ const char *(*filename_wal)(const char*);
333
+ /* Version 3.32.0 and later */
334
+ char *(*create_filename)(const char*,const char*,const char*,
335
+ int,const char**);
336
+ void (*free_filename)(char*);
337
+ sqlite3_file *(*database_file_object)(const char*);
338
+ /* Version 3.34.0 and later */
339
+ int (*txn_state)(sqlite3*,const char*);
340
+ };
341
+
342
+ /*
343
+ ** This is the function signature used for all extension entry points. It
344
+ ** is also defined in the file "loadext.c".
345
+ */
346
+ typedef int (*sqlite3_loadext_entry)(
347
+ sqlite3 *db, /* Handle to the database. */
348
+ char **pzErrMsg, /* Used to set error string on failure. */
349
+ const sqlite3_api_routines *pThunk /* Extension API function pointers. */
350
+ );
351
+
352
+ /*
353
+ ** The following macros redefine the API routines so that they are
354
+ ** redirected through the global sqlite3_api structure.
355
+ **
356
+ ** This header file is also used by the loadext.c source file
357
+ ** (part of the main SQLite library - not an extension) so that
358
+ ** it can get access to the sqlite3_api_routines structure
359
+ ** definition. But the main library does not want to redefine
360
+ ** the API. So the redefinition macros are only valid if the
361
+ ** SQLITE_CORE macros is undefined.
362
+ */
363
+ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
364
+ #define sqlite3_aggregate_context sqlite3_api->aggregate_context
365
+ #ifndef SQLITE_OMIT_DEPRECATED
366
+ #define sqlite3_aggregate_count sqlite3_api->aggregate_count
367
+ #endif
368
+ #define sqlite3_bind_blob sqlite3_api->bind_blob
369
+ #define sqlite3_bind_double sqlite3_api->bind_double
370
+ #define sqlite3_bind_int sqlite3_api->bind_int
371
+ #define sqlite3_bind_int64 sqlite3_api->bind_int64
372
+ #define sqlite3_bind_null sqlite3_api->bind_null
373
+ #define sqlite3_bind_parameter_count sqlite3_api->bind_parameter_count
374
+ #define sqlite3_bind_parameter_index sqlite3_api->bind_parameter_index
375
+ #define sqlite3_bind_parameter_name sqlite3_api->bind_parameter_name
376
+ #define sqlite3_bind_text sqlite3_api->bind_text
377
+ #define sqlite3_bind_text16 sqlite3_api->bind_text16
378
+ #define sqlite3_bind_value sqlite3_api->bind_value
379
+ #define sqlite3_busy_handler sqlite3_api->busy_handler
380
+ #define sqlite3_busy_timeout sqlite3_api->busy_timeout
381
+ #define sqlite3_changes sqlite3_api->changes
382
+ #define sqlite3_close sqlite3_api->close
383
+ #define sqlite3_collation_needed sqlite3_api->collation_needed
384
+ #define sqlite3_collation_needed16 sqlite3_api->collation_needed16
385
+ #define sqlite3_column_blob sqlite3_api->column_blob
386
+ #define sqlite3_column_bytes sqlite3_api->column_bytes
387
+ #define sqlite3_column_bytes16 sqlite3_api->column_bytes16
388
+ #define sqlite3_column_count sqlite3_api->column_count
389
+ #define sqlite3_column_database_name sqlite3_api->column_database_name
390
+ #define sqlite3_column_database_name16 sqlite3_api->column_database_name16
391
+ #define sqlite3_column_decltype sqlite3_api->column_decltype
392
+ #define sqlite3_column_decltype16 sqlite3_api->column_decltype16
393
+ #define sqlite3_column_double sqlite3_api->column_double
394
+ #define sqlite3_column_int sqlite3_api->column_int
395
+ #define sqlite3_column_int64 sqlite3_api->column_int64
396
+ #define sqlite3_column_name sqlite3_api->column_name
397
+ #define sqlite3_column_name16 sqlite3_api->column_name16
398
+ #define sqlite3_column_origin_name sqlite3_api->column_origin_name
399
+ #define sqlite3_column_origin_name16 sqlite3_api->column_origin_name16
400
+ #define sqlite3_column_table_name sqlite3_api->column_table_name
401
+ #define sqlite3_column_table_name16 sqlite3_api->column_table_name16
402
+ #define sqlite3_column_text sqlite3_api->column_text
403
+ #define sqlite3_column_text16 sqlite3_api->column_text16
404
+ #define sqlite3_column_type sqlite3_api->column_type
405
+ #define sqlite3_column_value sqlite3_api->column_value
406
+ #define sqlite3_commit_hook sqlite3_api->commit_hook
407
+ #define sqlite3_complete sqlite3_api->complete
408
+ #define sqlite3_complete16 sqlite3_api->complete16
409
+ #define sqlite3_create_collation sqlite3_api->create_collation
410
+ #define sqlite3_create_collation16 sqlite3_api->create_collation16
411
+ #define sqlite3_create_function sqlite3_api->create_function
412
+ #define sqlite3_create_function16 sqlite3_api->create_function16
413
+ #define sqlite3_create_module sqlite3_api->create_module
414
+ #define sqlite3_create_module_v2 sqlite3_api->create_module_v2
415
+ #define sqlite3_data_count sqlite3_api->data_count
416
+ #define sqlite3_db_handle sqlite3_api->db_handle
417
+ #define sqlite3_declare_vtab sqlite3_api->declare_vtab
418
+ #define sqlite3_enable_shared_cache sqlite3_api->enable_shared_cache
419
+ #define sqlite3_errcode sqlite3_api->errcode
420
+ #define sqlite3_errmsg sqlite3_api->errmsg
421
+ #define sqlite3_errmsg16 sqlite3_api->errmsg16
422
+ #define sqlite3_exec sqlite3_api->exec
423
+ #ifndef SQLITE_OMIT_DEPRECATED
424
+ #define sqlite3_expired sqlite3_api->expired
425
+ #endif
426
+ #define sqlite3_finalize sqlite3_api->finalize
427
+ #define sqlite3_free sqlite3_api->free
428
+ #define sqlite3_free_table sqlite3_api->free_table
429
+ #define sqlite3_get_autocommit sqlite3_api->get_autocommit
430
+ #define sqlite3_get_auxdata sqlite3_api->get_auxdata
431
+ #define sqlite3_get_table sqlite3_api->get_table
432
+ #ifndef SQLITE_OMIT_DEPRECATED
433
+ #define sqlite3_global_recover sqlite3_api->global_recover
434
+ #endif
435
+ #define sqlite3_interrupt sqlite3_api->interruptx
436
+ #define sqlite3_last_insert_rowid sqlite3_api->last_insert_rowid
437
+ #define sqlite3_libversion sqlite3_api->libversion
438
+ #define sqlite3_libversion_number sqlite3_api->libversion_number
439
+ #define sqlite3_malloc sqlite3_api->malloc
440
+ #define sqlite3_mprintf sqlite3_api->mprintf
441
+ #define sqlite3_open sqlite3_api->open
442
+ #define sqlite3_open16 sqlite3_api->open16
443
+ #define sqlite3_prepare sqlite3_api->prepare
444
+ #define sqlite3_prepare16 sqlite3_api->prepare16
445
+ #define sqlite3_prepare_v2 sqlite3_api->prepare_v2
446
+ #define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2
447
+ #define sqlite3_profile sqlite3_api->profile
448
+ #define sqlite3_progress_handler sqlite3_api->progress_handler
449
+ #define sqlite3_realloc sqlite3_api->realloc
450
+ #define sqlite3_reset sqlite3_api->reset
451
+ #define sqlite3_result_blob sqlite3_api->result_blob
452
+ #define sqlite3_result_double sqlite3_api->result_double
453
+ #define sqlite3_result_error sqlite3_api->result_error
454
+ #define sqlite3_result_error16 sqlite3_api->result_error16
455
+ #define sqlite3_result_int sqlite3_api->result_int
456
+ #define sqlite3_result_int64 sqlite3_api->result_int64
457
+ #define sqlite3_result_null sqlite3_api->result_null
458
+ #define sqlite3_result_text sqlite3_api->result_text
459
+ #define sqlite3_result_text16 sqlite3_api->result_text16
460
+ #define sqlite3_result_text16be sqlite3_api->result_text16be
461
+ #define sqlite3_result_text16le sqlite3_api->result_text16le
462
+ #define sqlite3_result_value sqlite3_api->result_value
463
+ #define sqlite3_rollback_hook sqlite3_api->rollback_hook
464
+ #define sqlite3_set_authorizer sqlite3_api->set_authorizer
465
+ #define sqlite3_set_auxdata sqlite3_api->set_auxdata
466
+ #define sqlite3_snprintf sqlite3_api->xsnprintf
467
+ #define sqlite3_step sqlite3_api->step
468
+ #define sqlite3_table_column_metadata sqlite3_api->table_column_metadata
469
+ #define sqlite3_thread_cleanup sqlite3_api->thread_cleanup
470
+ #define sqlite3_total_changes sqlite3_api->total_changes
471
+ #define sqlite3_trace sqlite3_api->trace
472
+ #ifndef SQLITE_OMIT_DEPRECATED
473
+ #define sqlite3_transfer_bindings sqlite3_api->transfer_bindings
474
+ #endif
475
+ #define sqlite3_update_hook sqlite3_api->update_hook
476
+ #define sqlite3_user_data sqlite3_api->user_data
477
+ #define sqlite3_value_blob sqlite3_api->value_blob
478
+ #define sqlite3_value_bytes sqlite3_api->value_bytes
479
+ #define sqlite3_value_bytes16 sqlite3_api->value_bytes16
480
+ #define sqlite3_value_double sqlite3_api->value_double
481
+ #define sqlite3_value_int sqlite3_api->value_int
482
+ #define sqlite3_value_int64 sqlite3_api->value_int64
483
+ #define sqlite3_value_numeric_type sqlite3_api->value_numeric_type
484
+ #define sqlite3_value_text sqlite3_api->value_text
485
+ #define sqlite3_value_text16 sqlite3_api->value_text16
486
+ #define sqlite3_value_text16be sqlite3_api->value_text16be
487
+ #define sqlite3_value_text16le sqlite3_api->value_text16le
488
+ #define sqlite3_value_type sqlite3_api->value_type
489
+ #define sqlite3_vmprintf sqlite3_api->vmprintf
490
+ #define sqlite3_vsnprintf sqlite3_api->xvsnprintf
491
+ #define sqlite3_overload_function sqlite3_api->overload_function
492
+ #define sqlite3_prepare_v2 sqlite3_api->prepare_v2
493
+ #define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2
494
+ #define sqlite3_clear_bindings sqlite3_api->clear_bindings
495
+ #define sqlite3_bind_zeroblob sqlite3_api->bind_zeroblob
496
+ #define sqlite3_blob_bytes sqlite3_api->blob_bytes
497
+ #define sqlite3_blob_close sqlite3_api->blob_close
498
+ #define sqlite3_blob_open sqlite3_api->blob_open
499
+ #define sqlite3_blob_read sqlite3_api->blob_read
500
+ #define sqlite3_blob_write sqlite3_api->blob_write
501
+ #define sqlite3_create_collation_v2 sqlite3_api->create_collation_v2
502
+ #define sqlite3_file_control sqlite3_api->file_control
503
+ #define sqlite3_memory_highwater sqlite3_api->memory_highwater
504
+ #define sqlite3_memory_used sqlite3_api->memory_used
505
+ #define sqlite3_mutex_alloc sqlite3_api->mutex_alloc
506
+ #define sqlite3_mutex_enter sqlite3_api->mutex_enter
507
+ #define sqlite3_mutex_free sqlite3_api->mutex_free
508
+ #define sqlite3_mutex_leave sqlite3_api->mutex_leave
509
+ #define sqlite3_mutex_try sqlite3_api->mutex_try
510
+ #define sqlite3_open_v2 sqlite3_api->open_v2
511
+ #define sqlite3_release_memory sqlite3_api->release_memory
512
+ #define sqlite3_result_error_nomem sqlite3_api->result_error_nomem
513
+ #define sqlite3_result_error_toobig sqlite3_api->result_error_toobig
514
+ #define sqlite3_sleep sqlite3_api->sleep
515
+ #define sqlite3_soft_heap_limit sqlite3_api->soft_heap_limit
516
+ #define sqlite3_vfs_find sqlite3_api->vfs_find
517
+ #define sqlite3_vfs_register sqlite3_api->vfs_register
518
+ #define sqlite3_vfs_unregister sqlite3_api->vfs_unregister
519
+ #define sqlite3_threadsafe sqlite3_api->xthreadsafe
520
+ #define sqlite3_result_zeroblob sqlite3_api->result_zeroblob
521
+ #define sqlite3_result_error_code sqlite3_api->result_error_code
522
+ #define sqlite3_test_control sqlite3_api->test_control
523
+ #define sqlite3_randomness sqlite3_api->randomness
524
+ #define sqlite3_context_db_handle sqlite3_api->context_db_handle
525
+ #define sqlite3_extended_result_codes sqlite3_api->extended_result_codes
526
+ #define sqlite3_limit sqlite3_api->limit
527
+ #define sqlite3_next_stmt sqlite3_api->next_stmt
528
+ #define sqlite3_sql sqlite3_api->sql
529
+ #define sqlite3_status sqlite3_api->status
530
+ #define sqlite3_backup_finish sqlite3_api->backup_finish
531
+ #define sqlite3_backup_init sqlite3_api->backup_init
532
+ #define sqlite3_backup_pagecount sqlite3_api->backup_pagecount
533
+ #define sqlite3_backup_remaining sqlite3_api->backup_remaining
534
+ #define sqlite3_backup_step sqlite3_api->backup_step
535
+ #define sqlite3_compileoption_get sqlite3_api->compileoption_get
536
+ #define sqlite3_compileoption_used sqlite3_api->compileoption_used
537
+ #define sqlite3_create_function_v2 sqlite3_api->create_function_v2
538
+ #define sqlite3_db_config sqlite3_api->db_config
539
+ #define sqlite3_db_mutex sqlite3_api->db_mutex
540
+ #define sqlite3_db_status sqlite3_api->db_status
541
+ #define sqlite3_extended_errcode sqlite3_api->extended_errcode
542
+ #define sqlite3_log sqlite3_api->log
543
+ #define sqlite3_soft_heap_limit64 sqlite3_api->soft_heap_limit64
544
+ #define sqlite3_sourceid sqlite3_api->sourceid
545
+ #define sqlite3_stmt_status sqlite3_api->stmt_status
546
+ #define sqlite3_strnicmp sqlite3_api->strnicmp
547
+ #define sqlite3_unlock_notify sqlite3_api->unlock_notify
548
+ #define sqlite3_wal_autocheckpoint sqlite3_api->wal_autocheckpoint
549
+ #define sqlite3_wal_checkpoint sqlite3_api->wal_checkpoint
550
+ #define sqlite3_wal_hook sqlite3_api->wal_hook
551
+ #define sqlite3_blob_reopen sqlite3_api->blob_reopen
552
+ #define sqlite3_vtab_config sqlite3_api->vtab_config
553
+ #define sqlite3_vtab_on_conflict sqlite3_api->vtab_on_conflict
554
+ /* Version 3.7.16 and later */
555
+ #define sqlite3_close_v2 sqlite3_api->close_v2
556
+ #define sqlite3_db_filename sqlite3_api->db_filename
557
+ #define sqlite3_db_readonly sqlite3_api->db_readonly
558
+ #define sqlite3_db_release_memory sqlite3_api->db_release_memory
559
+ #define sqlite3_errstr sqlite3_api->errstr
560
+ #define sqlite3_stmt_busy sqlite3_api->stmt_busy
561
+ #define sqlite3_stmt_readonly sqlite3_api->stmt_readonly
562
+ #define sqlite3_stricmp sqlite3_api->stricmp
563
+ #define sqlite3_uri_boolean sqlite3_api->uri_boolean
564
+ #define sqlite3_uri_int64 sqlite3_api->uri_int64
565
+ #define sqlite3_uri_parameter sqlite3_api->uri_parameter
566
+ #define sqlite3_uri_vsnprintf sqlite3_api->xvsnprintf
567
+ #define sqlite3_wal_checkpoint_v2 sqlite3_api->wal_checkpoint_v2
568
+ /* Version 3.8.7 and later */
569
+ #define sqlite3_auto_extension sqlite3_api->auto_extension
570
+ #define sqlite3_bind_blob64 sqlite3_api->bind_blob64
571
+ #define sqlite3_bind_text64 sqlite3_api->bind_text64
572
+ #define sqlite3_cancel_auto_extension sqlite3_api->cancel_auto_extension
573
+ #define sqlite3_load_extension sqlite3_api->load_extension
574
+ #define sqlite3_malloc64 sqlite3_api->malloc64
575
+ #define sqlite3_msize sqlite3_api->msize
576
+ #define sqlite3_realloc64 sqlite3_api->realloc64
577
+ #define sqlite3_reset_auto_extension sqlite3_api->reset_auto_extension
578
+ #define sqlite3_result_blob64 sqlite3_api->result_blob64
579
+ #define sqlite3_result_text64 sqlite3_api->result_text64
580
+ #define sqlite3_strglob sqlite3_api->strglob
581
+ /* Version 3.8.11 and later */
582
+ #define sqlite3_value_dup sqlite3_api->value_dup
583
+ #define sqlite3_value_free sqlite3_api->value_free
584
+ #define sqlite3_result_zeroblob64 sqlite3_api->result_zeroblob64
585
+ #define sqlite3_bind_zeroblob64 sqlite3_api->bind_zeroblob64
586
+ /* Version 3.9.0 and later */
587
+ #define sqlite3_value_subtype sqlite3_api->value_subtype
588
+ #define sqlite3_result_subtype sqlite3_api->result_subtype
589
+ /* Version 3.10.0 and later */
590
+ #define sqlite3_status64 sqlite3_api->status64
591
+ #define sqlite3_strlike sqlite3_api->strlike
592
+ #define sqlite3_db_cacheflush sqlite3_api->db_cacheflush
593
+ /* Version 3.12.0 and later */
594
+ #define sqlite3_system_errno sqlite3_api->system_errno
595
+ /* Version 3.14.0 and later */
596
+ #define sqlite3_trace_v2 sqlite3_api->trace_v2
597
+ #define sqlite3_expanded_sql sqlite3_api->expanded_sql
598
+ /* Version 3.18.0 and later */
599
+ #define sqlite3_set_last_insert_rowid sqlite3_api->set_last_insert_rowid
600
+ /* Version 3.20.0 and later */
601
+ #define sqlite3_prepare_v3 sqlite3_api->prepare_v3
602
+ #define sqlite3_prepare16_v3 sqlite3_api->prepare16_v3
603
+ #define sqlite3_bind_pointer sqlite3_api->bind_pointer
604
+ #define sqlite3_result_pointer sqlite3_api->result_pointer
605
+ #define sqlite3_value_pointer sqlite3_api->value_pointer
606
+ /* Version 3.22.0 and later */
607
+ #define sqlite3_vtab_nochange sqlite3_api->vtab_nochange
608
+ #define sqlite3_value_nochange sqlite3_api->value_nochange
609
+ #define sqlite3_vtab_collation sqlite3_api->vtab_collation
610
+ /* Version 3.24.0 and later */
611
+ #define sqlite3_keyword_count sqlite3_api->keyword_count
612
+ #define sqlite3_keyword_name sqlite3_api->keyword_name
613
+ #define sqlite3_keyword_check sqlite3_api->keyword_check
614
+ #define sqlite3_str_new sqlite3_api->str_new
615
+ #define sqlite3_str_finish sqlite3_api->str_finish
616
+ #define sqlite3_str_appendf sqlite3_api->str_appendf
617
+ #define sqlite3_str_vappendf sqlite3_api->str_vappendf
618
+ #define sqlite3_str_append sqlite3_api->str_append
619
+ #define sqlite3_str_appendall sqlite3_api->str_appendall
620
+ #define sqlite3_str_appendchar sqlite3_api->str_appendchar
621
+ #define sqlite3_str_reset sqlite3_api->str_reset
622
+ #define sqlite3_str_errcode sqlite3_api->str_errcode
623
+ #define sqlite3_str_length sqlite3_api->str_length
624
+ #define sqlite3_str_value sqlite3_api->str_value
625
+ /* Version 3.25.0 and later */
626
+ #define sqlite3_create_window_function sqlite3_api->create_window_function
627
+ /* Version 3.26.0 and later */
628
+ #define sqlite3_normalized_sql sqlite3_api->normalized_sql
629
+ /* Version 3.28.0 and later */
630
+ #define sqlite3_stmt_isexplain sqlite3_api->stmt_isexplain
631
+ #define sqlite3_value_frombind sqlite3_api->value_frombind
632
+ /* Version 3.30.0 and later */
633
+ #define sqlite3_drop_modules sqlite3_api->drop_modules
634
+ /* Version 3.31.0 and later */
635
+ #define sqlite3_hard_heap_limit64 sqlite3_api->hard_heap_limit64
636
+ #define sqlite3_uri_key sqlite3_api->uri_key
637
+ #define sqlite3_filename_database sqlite3_api->filename_database
638
+ #define sqlite3_filename_journal sqlite3_api->filename_journal
639
+ #define sqlite3_filename_wal sqlite3_api->filename_wal
640
+ /* Version 3.32.0 and later */
641
+ #define sqlite3_create_filename sqlite3_api->create_filename
642
+ #define sqlite3_free_filename sqlite3_api->free_filename
643
+ #define sqlite3_database_file_object sqlite3_api->database_file_object
644
+ /* Version 3.34.0 and later */
645
+ #define sqlite3_txn_state sqlite3_api->txn_state
646
+ #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
647
+
648
+ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
649
+ /* This case when the file really is being compiled as a loadable
650
+ ** extension */
651
+ # define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api=0;
652
+ # define SQLITE_EXTENSION_INIT2(v) sqlite3_api=v;
653
+ # define SQLITE_EXTENSION_INIT3 \
654
+ extern const sqlite3_api_routines *sqlite3_api;
655
+ #else
656
+ /* This case when the file is being statically linked into the
657
+ ** application */
658
+ # define SQLITE_EXTENSION_INIT1 /*no-op*/
659
+ # define SQLITE_EXTENSION_INIT2(v) (void)v; /* unused parameter */
660
+ # define SQLITE_EXTENSION_INIT3 /*no-op*/
661
+ #endif
662
+
663
+ #endif /* SQLITE3EXT_H */