Portability | portable |
---|---|
Stability | provisional |
Maintainer | docserver-dev-team@galois.com |
A Haskell binding to the sqlite3 database. See:
for more information.
The api is documented at:
- module Database.SQLite.Base
- module Database.SQLite.Types
- module Database.SQL.Types
- openConnection :: String -> IO SQLiteHandle
- closeConnection :: SQLiteHandle -> IO ()
- execStatement :: SQLiteResult a => SQLiteHandle -> String -> IO (Either String [[Row a]])
- execStatement_ :: SQLiteHandle -> String -> IO (Maybe String)
- execParamStatement :: SQLiteResult a => SQLiteHandle -> String -> [(String, Value)] -> IO (Either String [[Row a]])
- execParamStatement_ :: SQLiteHandle -> String -> [(String, Value)] -> IO (Maybe String)
- insertRow :: SQLiteHandle -> TableName -> Row String -> IO (Maybe String)
- defineTable :: SQLiteHandle -> SQLTable -> IO (Maybe String)
- defineTableOpt :: SQLiteHandle -> Bool -> SQLTable -> IO (Maybe String)
- getLastRowID :: SQLiteHandle -> IO Integer
- type Row a = [(ColumnName, a)]
- data Value
- addRegexpSupport :: SQLiteHandle -> RegexpHandler -> IO ()
- type RegexpHandler = ByteString -> ByteString -> IO Bool
- withPrim :: SQLiteHandle -> (SQLite -> IO a) -> IO a
- data SQLiteHandle
- newSQLiteHandle :: SQLite -> IO SQLiteHandle
Documentation
module Database.SQLite.Base
module Database.SQLite.Types
module Database.SQL.Types
Opening and closing a database
openConnection :: String -> IO SQLiteHandleSource
Open a new database connection, whose name is given
by the dbName
argument. A sqlite3 handle is returned.
An exception is thrown if the database could not be opened.
closeConnection :: SQLiteHandle -> IO ()Source
Close a database connection. Destroys the SQLite value associated with a database, closes all open files relating to the database, and releases all resources.
Executing SQL queries on the database
execStatement :: SQLiteResult a => SQLiteHandle -> String -> IO (Either String [[Row a]])Source
Evaluate the SQL statement specified by sqlStmt
execStatement_ :: SQLiteHandle -> String -> IO (Maybe String)Source
Returns an error, or Nothing
if everything was OK.
execParamStatement :: SQLiteResult a => SQLiteHandle -> String -> [(String, Value)] -> IO (Either String [[Row a]])Source
Prepare and execute a parameterized statment.
Statement parameter names start with a colon (for example, :col_id
).
Note that for the moment, column names should not contain 0
characters because that part of the column name will be ignored.
execParamStatement_ :: SQLiteHandle -> String -> [(String, Value)] -> IO (Maybe String)Source
Prepare and execute a parameterized statment, ignoring the result.
See also execParamStatement
.
Basic insertion operations
insertRow :: SQLiteHandle -> TableName -> Row String -> IO (Maybe String)Source
Insert a row into the table tab
.
defineTable :: SQLiteHandle -> SQLTable -> IO (Maybe String)Source
Define a new table, populated from tab
in the database.
defineTableOpt :: SQLiteHandle -> Bool -> SQLTable -> IO (Maybe String)Source
getLastRowID :: SQLiteHandle -> IO IntegerSource
Return the rowid (as an Integer) of the most recent successful INSERT into the database.
type Row a = [(ColumnName, a)]Source
addRegexpSupport :: SQLiteHandle -> RegexpHandler -> IO ()Source
This function registers a RegexpHandler
to be called when
REGEXP(regexp,str) is used in an SQL query.
type RegexpHandler = ByteString -> ByteString -> IO BoolSource
data SQLiteHandle Source