-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Sqlite v3 driver for HDBC
--   
--   This is the Sqlite v3 driver for HDBC, the generic database access
--   system for Haskell
@package HDBC-sqlite3
@version 2.3.3.1

-- | HDBC driver interface for Sqlite 3.x.
--   
--   Written by John Goerzen, jgoerzen@complete.org
module Database.HDBC.Sqlite3

-- | Connect to an Sqlite version 3 database. The only parameter needed is
--   the filename of the database to connect to.
--   
--   All database accessor functions are provided in the main HDBC module.
connectSqlite3 :: FilePath -> IO Connection

-- | Connects to a Sqlite v3 database as with connectSqlite3, but
--   instead of converting the supplied FilePath to a C String by
--   performing a conversion to Unicode, instead converts it by simply
--   dropping all bits past the eighth. This may be useful in rare
--   situations if your application or filesystemare not running in Unicode
--   space.
connectSqlite3Raw :: FilePath -> IO Connection
data Connection

-- | Sets the timeout for a lock before returning a busy error. Give the
--   time in milliseconds.
setBusyTimeout :: Connection -> CInt -> IO ()

-- | Successful result
sqlite_OK :: Int

-- | SQL error or missing database
sqlite_ERROR :: Int

-- | An internal logic error in SQLite
sqlite_INTERNAL :: Int

-- | Access permission denied
sqlite_PERM :: Int

-- | Callback routine requested an abort
sqlite_ABORT :: Int

-- | The database file is locked
sqlite_BUSY :: Int

-- | A table in the database is locked
sqlite_LOCKED :: Int

-- | A malloc() failed
sqlite_NOMEM :: Int

-- | Attempt to write a readonly database
sqlite_READONLY :: Int

-- | Operation terminated by sqlite_interrupt()
sqlite_INTERRUPT :: Int

-- | Some kind of disk I/O error occurred
sqlite_IOERR :: Int

-- | The database disk image is malformed
sqlite_CORRUPT :: Int

-- | (Internal Only) Table or record not found
sqlite_NOTFOUND :: Int

-- | Insertion failed because database is full
sqlite_FULL :: Int

-- | Unable to open the database file
sqlite_CANTOPEN :: Int

-- | Database lock protocol error
sqlite_PROTOCOL :: Int

-- | (Internal Only) Database table is empty
sqlite_EMPTY :: Int

-- | The database schema changed
sqlite_SCHEMA :: Int

-- | Too much data for one row of a table
sqlite_TOOBIG :: Int

-- | Abort due to constraint violation
sqlite_CONSTRAINT :: Int

-- | Data type mismatch
sqlite_MISMATCH :: Int

-- | Library used incorrectly
sqlite_MISUSE :: Int

-- | Uses OS features not supported on host
sqlite_NOLFS :: Int

-- | Authorization denied
sqlite_AUTH :: Int

-- | sqlite_step() has another row ready
sqlite_ROW :: Int

-- | sqlite_step() has finished executing
sqlite_DONE :: Int
