meta données pour cette page
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
schplurtziel:sqlite3-ipv4-ext [2011/07/05 22:49] ztrulphcs |
schplurtziel:sqlite3-ipv4-ext [2020/12/28 08:02] (Version actuelle) ztrulphcs [sqlite ipv4 extension] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== sqlite ipv4 extension ====== | ====== sqlite ipv4 extension ====== | ||
- | date this document was last edited : 2011-07-05 | + | date this document was last edited : Mon Apr 16 2018. and minor edition (links to sqlite.org) on 2020/12/28 |
date the C source was last edited : 2011-06-19 | date the C source was last edited : 2011-06-19 | ||
+ | |||
+ | You should find the latest version of this file here : http:// | ||
===== What is it ? ===== | ===== What is it ? ===== | ||
Ligne 162: | Ligne 164: | ||
===== what version of sqlite is it for ? ===== | ===== what version of sqlite is it for ? ===== | ||
- | This extension was first written for sqlite 3.5.9, and it works for me with sqlite3 3.7.6.3 (current sqlite3 version | + | This extension was first written for sqlite 3.5.9, and it works for me with sqlite3 3.23.1 (current |
Now, there are 2 things in the archive file : | Now, there are 2 things in the archive file : | ||
- | - a dynamic extension that you can load fom within your programs or from within the CLI sqlite3 itself (if it has been compiled with the << | + | - a dynamic extension that you can load from within your programs or from within the CLI sqlite3 itself (if it has been compiled with the << |
* It should work with **any** sqlite3 version that supports loadable extensions. | * It should work with **any** sqlite3 version that supports loadable extensions. | ||
- some patches for sqlite source files. When the patch is applied, the functions '' | - some patches for sqlite source files. When the patch is applied, the functions '' | ||
Ligne 225: | Ligne 227: | ||
==== Makefile.MacOSX ==== | ==== Makefile.MacOSX ==== | ||
- | This is a makefile for building the dynamic extension under MacOSX (tested under 10.5 and 10.6) | + | This is a makefile for building the dynamic extension under MacOSX (tested under 10.5 and 10.6 10.9 and recently 10.13.4) |
- | Fisrt edit this file and set the INCLUDE=-I/ | + | Fisrt edit this file and set the INCLUDE=-I/ |
Then, run | Then, run | ||
Ligne 233: | Ligne 235: | ||
make -f Makefile.MacOSX | make -f Makefile.MacOSX | ||
- | and you should obtain a file named libsqliteipv4.dylib. This file is the extension you are going to load. | + | and you should obtain a file named libsqliteipv4.dylib. This file is the extension you are going to load. Feel free to copy this file wherever you see fit. |
==== Makefile.linux ==== | ==== Makefile.linux ==== | ||
Ligne 252: | Ligne 254: | ||
This is the source file of the extension. | This is the source file of the extension. | ||
- | ==== ipv4-sqlite-3.7.6.3-amalgamation.patch ==== | + | ==== ipv4-sqlite-3.7.10.0-amalgamation.patch ==== |
+ | |||
+ | ^This file outdated and probably completely unusable ^ | ||
- | This is a patch for the file sqlite-autoconf-3070603/sqlite3.c of sqlite-3.7.6.3. Once applied, it allows to build sqlite with the '' | + | This is a patch for the file sqlite-autoconf-3071000/sqlite3.c of sqlite-3.7.10.0. Once applied, it allows to build sqlite with the '' |
Here are the steps you must follow to build sqlite with builtin '' | Here are the steps you must follow to build sqlite with builtin '' | ||
- | * download sqlite-autoconf-3070603.tar.gz from http:// | + | * download sqlite-autoconf-3071000.tar.gz from http:// |
- | * untar the archive with something like <code bash> | + | * untar the archive with something like <code bash> |
- | * put the patch file in the newly created directory '' | + | * put the patch file in the newly created directory '' |
- | * then cd into the '' | + | * then cd into the '' |
- | cd sqlite-autoconf-3070603 | + | cd sqlite-autoconf-3071000 |
- | patch -p1 < | + | patch -p1 < |
</ | </ | ||
* Configure using '' | * Configure using '' | ||
Ligne 276: | Ligne 280: | ||
sudo make install | sudo make install | ||
</ | </ | ||
+ | |||
+ | |||
+ | ==== ipv4-sqlite-3.7.6.3-amalgamation.patch ==== | ||
+ | |||
+ | ^This file more outdated and probably completely unusable ^ | ||
+ | |||
+ | This is a patch for the file sqlite3.c of sqlite-3.7.6.3. Once applied, it allows to build sqlite with the '' | ||
+ | |||
+ | See description for version 3.7.10.0 for details and substitute 3.7.10.0 with 3.7.6.3 . | ||
+ | |||
==== ipv4-sqlite-3.6.23.1-amalgamation.patch ==== | ==== ipv4-sqlite-3.6.23.1-amalgamation.patch ==== | ||
+ | ^This file really outdated and probably definitely completely unusable ^ | ||
This is a patch for the file sqlite3.c of sqlite-3.6.23.1. Once applied, it allows to build sqlite with the '' | This is a patch for the file sqlite3.c of sqlite-3.6.23.1. Once applied, it allows to build sqlite with the '' | ||
- | See description for version 3.7.6.3 for details and substitute 3.7.6.3 with 3.6.23.1 . | + | See description for version 3.7.10.0 for details and substitute 3.7.10.0 with 3.6.23.1 . |
==== sqlite3-ipv4-ext.txt ==== | ==== sqlite3-ipv4-ext.txt ==== | ||
Ligne 291: | Ligne 306: | ||
===== How to load the extension ===== | ===== How to load the extension ===== | ||
- | Please, see http:// | + | Please, see https://www.sqlite.org/loadext.html. But, here follow some brief explanations |
- | In your application, | + | * In your application, |
- | + | | |
- | from within the sqlite3 CLI, **if it has been built with load extension enabled**, then try this : | + | |
<cli> | <cli> | ||
sqlite> .load ' | sqlite> .load ' | ||
Ligne 305: | Ligne 319: | ||
On a Macintosh, you would use '' | On a Macintosh, you would use '' | ||
+ | </ | ||
===== BUGS ===== | ===== BUGS ===== | ||
Ligne 314: | Ligne 328: | ||
==== Can I use the patch for other versions ? ==== | ==== Can I use the patch for other versions ? ==== | ||
- | Yes, probably. | + | Yes, probably. Well in fact, this true back in 2012. nowadays (2018) this is probably wrong. but giveit a try, you may be lucky. |
Since the extension is such a simple and small change to sqlite, it is reasonable to try to patch a version with a patch made for another version. | Since the extension is such a simple and small change to sqlite, it is reasonable to try to patch a version with a patch made for another version. |