Vim documentation: vital/Database/SQLite
main help file
vital/Database/SQLite.txt sqlite utilities library.
Maintainer: ujihisa <ujihisa at gmail com>
==============================================================================
CONTENTS Vital.Database.SQLite-contents
INTRODUCTION Vital.Database.SQLite-introduction
PRINCIPLE Vital.Database.SQLite-principle
EXAMPLES Vital.Database.SQLite-examples
FUNCTIONS Vital.Database.SQLite-functions
==============================================================================
INTRODUCTION Vital.Database.SQLite-introduction
Vital.Database.SQLite is SQLite Utilities Library.
It provides some functions to manipulate SQLite.
==============================================================================
PRINCIPLE Vital.Database.SQLite-principle
Vital.Database.SQLite won't provide ORM but provides safe query and result
parser. ORM is a wrong way of abstracting relational database.
Vital.Database.SQLite is
* not an object that wraps something fancy.
* not sqlite itself but a bridge to use a sqlite implementation.
* encouraging you to write a good SQL query.
* helping you to investigate what's going on by debug functions.
==============================================================================
EXAMPLES Vital.Database.SQLite-examples
let s:S = s:V.import('Database.SQLite')
if !s:S.is_available()
return 'failed'
endif
echo s:S.query_rawdata(
\ 'a.db',
\ 'CREATE TABLE cities (name varchar(80), country_name text);')
echo s:S.query_rawdata(
\ 'a.db',
\ 'INSERT INTO cities VALUES (?, ?);',
\ ['Vancouver', 'Canada'])
echo s:S.query(
\ 'a.db',
\ 'SELECT * FROM cities WHERE name = ?;',
\ ['Vancouver'])
==============================================================================
FUNCTIONS Vital.Database.SQLite-functions
is_available() Vital.Database.SQLite.is_available()
1 if you can use this sqlite integration feature by checking if you
have sqlite3 command.
:echo S.is_available()
1
query({dbfile}, {query/placeholders}, {list}) Vital.Database.SQLite.query()
Sends an SQL query to sqlite with specifying the db file to store is
{dbfile}, and returns its result in list. If {query/placeholders}
(query with placeholders) contains placeholders "?", {list} has to
have same amount of string elements. e.g.
query(d, 'A', [])
query(d, 'A ?', [x])
query(d, 'A ? ?', [x, y])
You don't have to give {list} if {query/placeholders} has no
placeholders. e.g.
query(d, 'A', []) == query(d, 'A')
This function returns a list which has multiple dictionaries. e.g.
query('a.db', 'SELECT * FROM cities WHERE name = Vancouver;')
is
[{'country': 'Canada', 'name': 'Vancouver'},
{'country': 'US', 'name': 'Vancouver'}]
build_line_from_query_with_placeholders({query/placeholders}, {list})
Vital.Database.SQLite.build_line_from_query_with_placeholders()
Returns internal value that Vital.Database.SQLite.query() uses. This
function doesn't have side effects.
This function name is long on purpose to discourage people to use that
frequently. Use this only for your understanding and for debugging
this library itself.
Examples
build_line_from_query_with_placeholders(
\ 'SELECT * FROM cities WHERE name = ?;',
\ ['Vancouver'])
"=> 'SELECT * FROM cities WHERE name = "Vancouver";'
echo s:S.build_line_from_query_with_placeholders(
\ 'SELECT * FROM cities WHERE name = ?;',
\ ["Vancouver\"; ujihisa\""])
"=> 'SELECT * FROM cities WHERE name = "Vancouver\"; ujihisa\"";'
==============================================================================
vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl
top - main help file - tag index