úÎĶīžŽ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒNone) 'http://www.sqlite.org/c3ref/c_blob.html  (http://www.sqlite.org/c3ref/c_abort.html  )http://www.sqlite.org/c3ref/c_static.html Ptr CDestructor = sqlite3_destructor_type #Number of columns in a result set. AIndex of a column in a result set. Column indices start from 0. /Index of a parameter in a parameterized query. ! Parameter indices start from 1. When a query is d, SQLite allocates an D array indexed from 1 to the highest parameter index. For example:  3>Right stmt <- prepare conn "SELECT ?1, ?5, ?3, ?" >bindParameterCount stmt  ParamIndex 6 1This will allocate an array indexed from 1 to 6 (? takes the highest H preceding index plus one). The array is initialized with null values.  When you bind a parameter with , it assigns a $ new value to one of these indices. See  -http://www.sqlite.org/lang_expr.html#varparam for the syntax of A parameter placeholders, and how parameter indices are assigned.  %http://www.sqlite.org/c3ref/stmt.html  CStatement =  sqlite3_stmt  (http://www.sqlite.org/c3ref/sqlite3.html  CDatabase = sqlite3 sqlite3_step() has finished executing sqlite3_step() has another row ready (File opened that is not a database file +2nd parameter to sqlite3_bind out of range  Auxiliary database format error Authorization denied 'Uses OS features not supported on host Library used incorrectly Data type mismatch "Abort due to constraint violation "String or BLOB exceeds size limit The database schema changed !Database is empty "Database lock protocol error #!Unable to open the database file $*Insertion failed because database is full %Unknown opcode in sqlite3_file_control() &%The database disk image is malformed 'Some kind of disk I/O error occurred (Operation terminated by sqlite3_interrupt() )%Attempt to write a readonly database *A malloc() failed +"A table in the database is locked ,The database file is locked -$Callback routine requested an abort .Access permission denied /Internal logic error in SQLite 0SQL error or missing database 1Successful result 3HNote that this is a partial function. If the error code is invalid, or J perhaps introduced in a newer version of SQLite but this library has not 6 been updated to support it, the result is undefined. To be clear, if 3 fails, it is undefined behavior , not an  exception you can handle. LTherefore, do not use direct-sqlite with a different version of SQLite than > the one bundled (currently, 3.7.13). If you do, ensure that 3  and 4 are still exhaustive. 4&Note that this is a partial function.  See 3 for more information. ŽFThis just shows the underlying integer, without the data constructor. FThis just shows the underlying integer, without the data constructor. 7  !"#$%&'()*+,-./01234Ž5  !"#$%&'()*+,-./012345 310/.-,+*)('&%$#"! 4  2  10/.-,+*)('&%$#"! 234ŽNone6 !http://sqlite.org/c3ref/free.html B -http://www.sqlite.org/c3ref/column_count.html C 4http://www.sqlite.org/c3ref/bind_parameter_name.html D 5http://www.sqlite.org/c3ref/bind_parameter_count.html JThis returns the index of the largest (rightmost) parameter, which is not D necessarily the number of parameters. If numbered parameters like ?5 * are used, there may be gaps in the list. E /http://www.sqlite.org/c3ref/clear_bindings.html ?A look at the source reveals that this function always returns  SQLITE_OK. F )http://www.sqlite.org/c3ref/finalize.html Warning: If the most recent H call failed, 0 this will return the corresponding error code. G &http://www.sqlite.org/c3ref/reset.html Warning: If the most recent H call failed, 0 this will return the corresponding error code. H %http://www.sqlite.org/c3ref/step.html I *http://www.sqlite.org/c3ref/db_handle.html J (http://www.sqlite.org/c3ref/prepare.html 6If the query contains no SQL statements, this returns  SQLITE_OK and sets  the    to null. KEA couple important things to know about callbacks from Haskell code: 6 If the callback throws an exception, apparently, the  whole program is  terminated.  Remember to call ‘% when you are done with the wrapper,  to avoid leaking memory. M (http://www.sqlite.org/c3ref/errcode.html N &http://www.sqlite.org/c3ref/close.html O %http://www.sqlite.org/c3ref/open.html This sets the ' Ptr CDatabase' even on failure. 56Number of columns, which is the number of elements in  the following arrays. Array of column names 'Array of column values, as returned by  9. Null values are represented  as null pointers. 'If the callback returns non-zero, then  L returns  SQLITE_ABORT  (-). 6789:;<=>?@Warning: If this pointer is NULL, this 6 will bind a null value, rather than an empty text. (Length, in bytes. If this is negative, 4 the value is treated as a NUL-terminated string. A%Index of the SQL parameter to be set  Value to bind to the parameter. Warning: If this pointer is NULL, this 6 will bind a null value, rather than an empty blob. .Length, in bytes. This must not be negative. BCDEFGHIJSQL statement, UTF-8 encoded %Maximum length of the SQL statement, , in bytes. If this is negative, then the ! SQL statement is treated as a  NUL-terminated string. /OUT: Statement handle. This must not be null. 'OUT: Pointer to unused portion of zSql KLSQL statement, UTF-8 encoded /Optional callback function called for each row Context passed to the callback OUT: Error message string MNOP  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOONML5KJIHGFEDCBA@?>=<;:879656789:;<=>?@ABCDEFGHIJKLMNONonePA ’6 containing UTF8-encoded text with no NUL characters. “Like unsafeUseAsCStringLen, but if the string is empty, ) never pass the callback a null pointer. Y %http://www.sqlite.org/c3ref/open.html Z &http://www.sqlite.org/c3ref/close.html [ (http://www.sqlite.org/c3ref/errcode.html ] (http://www.sqlite.org/c3ref/prepare.html 6If the query contains no SQL statements, this returns  ” •. ^ *http://www.sqlite.org/c3ref/db_handle.html _ %http://www.sqlite.org/c3ref/step.html ` &http://www.sqlite.org/c3ref/reset.html  Warning:  If the most recent _ call failed, . this will return the corresponding error. ; This does not reset the bindings on a prepared statement.  Use b to do that. a )http://www.sqlite.org/c3ref/finalize.html Warning: If the most recent _ call failed, + this will return the corresponding error. b /http://www.sqlite.org/c3ref/clear_bindings.html 6Set all parameters in the prepared statement to null. c 5http://www.sqlite.org/c3ref/bind_parameter_count.html MThis returns the index of the largest (rightmost) parameter. Note that this K is not necessarily the number of parameters. If numbered parameters like  ?5* are used, there may be gaps in the list. See   for more information. d 4http://www.sqlite.org/c3ref/bind_parameter_name.html e -http://www.sqlite.org/c3ref/column_count.html – fromString = Utf8 . — . ˜)™PQRSTUVWXš›“œžŸYZ[\]^_`abcdefghijklmno–I  !"#$%&'()*+,-./01PQRSTUVWXYZ[\]^_`abcdefghijklmnoIYZ[\]^_`abcdefghijklmnoWXUVRTS10/.-,+*)('&%$#"! PQ  $™PQRTSUVWXš›“œžŸYZ[\]^_`abcdefghijklmno–Nonep0Exception thrown when SQLite3 reports an error. Idirect-sqlite may throw other types of exceptions if you misuse the API. r Error code returned by API call sText describing the error t+Indicates what action produced this error,  e.g. exec "SELECT * FROM foo" { %http://www.sqlite.org/c3ref/open.html | &http://www.sqlite.org/c3ref/close.html }=Execute zero or more SQL statements delimited by semicolons. ~ (http://www.sqlite.org/c3ref/prepare.html Unlike }, ~0 only executes the first statement, and ignores  subsequent statements. 5If the query string contains no SQL statements, this  s.  %http://www.sqlite.org/c3ref/step.html € &http://www.sqlite.org/c3ref/reset.html Note that in the C API,  sqlite3_reset# returns an error code if the most  recent  sqlite3_step8 indicated an error. We do not replicate that behavior  here. € never throws an exception.  )http://www.sqlite.org/c3ref/finalize.html Like €,  never throws an exception. ‚ 4http://www.sqlite.org/c3ref/bind_parameter_name.html $Return the N-th SQL parameter name. +Named parameters are returned as-is. E.g. ":v" is returned as  Just ":v"1. Unnamed parameters, however, are converted to  Nothing. 2Note that the parameter index starts at 1, not 0. ‰"If the index is not between 1 and c inclusive, this  fails with 3. Otherwise, it succeeds, even if the query skips * this index by using numbered parameters.  Example: +> stmt <- prepare conn "SELECT ?1, ?3, ?5" $> bindSQLData stmt 1 (SQLInteger 1) $> bindSQLData stmt 2 (SQLInteger 2) $> bindSQLData stmt 6 (SQLInteger 6) S*** Exception: SQLite3 returned ErrorRange while attempting to perform bind int64. > step stmt >> columns stmt [SQLInteger 1,SQLNull,SQLNull] ŠFConvenience function for binding values to all parameters. This will   1 if the list has the wrong number of parameters. ‹This will throw a Ą& if the datum contains invalid UTF-8. . If this behavior is undesirable, you can use n from  Database.SQLite3.Direct', which does not perform conversion to Ē. +ĢĪĨĶpqrstuvwxyz§ĻĐŠŦŽ­{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŪŊS  !"#$%&'()*+,-./01RSTUWbceklmopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒS{|}~€bc‚e‰Š…†„ˆƒ‡Œklm‹oWUuzyxwvpqrstRTS10/.-,+*)('&%$#"!   ĢĶĨĪpqrstuzyxwv§ĻĐŠŦŽ­{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŪŊ°         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRRSTUVVWWXYZ[\]^_`abcdefghijklmnnopqrstuvwXY[]^_bgexdhfylz{|}~€~‚ƒ„…†~‡ˆ~‰Š‹ŒŽŒ‘’“”•–—~˜™Œš›ŒœžŸ ĄĒĢĪĨͧĻĐŠŦdirect-sqlite-2.2Database.SQLite3.Bindings.TypesDatabase.SQLite3.BindingsDatabase.SQLite3.DirectDatabase.SQLite3prepare bindSQLData CColumnTypeCError CDestructor CNumBytes ColumnCount ColumnIndex ParamIndex CStatement CDatabase ColumnType NullColumn BlobColumn TextColumn FloatColumn IntegerColumnError ErrorDoneErrorRowErrorNotADatabase ErrorRange ErrorFormatErrorAuthorizationErrorNoLargeFileSupport ErrorMisuse ErrorMismatchErrorConstraint ErrorTooBig ErrorSchema ErrorEmpty ErrorProtocolErrorCan'tOpen ErrorFull ErrorNotFound ErrorCorruptErrorIOErrorInterrupt ErrorReadOnly ErrorNoMemory ErrorLocked ErrorBusy ErrorAbortErrorPermission ErrorInternal ErrorErrorErrorOKc_SQLITE_TRANSIENT decodeErrordecodeColumnType CExecCallbackc_sqlite3_freec_sqlite3_column_doublec_sqlite3_column_int64c_sqlite3_column_textc_sqlite3_column_blobc_sqlite3_column_bytesc_sqlite3_column_typec_sqlite3_bind_nullc_sqlite3_bind_int64c_sqlite3_bind_doublec_sqlite3_bind_textc_sqlite3_bind_blobc_sqlite3_column_countc_sqlite3_bind_parameter_namec_sqlite3_bind_parameter_countc_sqlite3_clear_bindingsc_sqlite3_finalizec_sqlite3_resetc_sqlite3_stepc_sqlite3_db_handlec_sqlite3_prepare_v2mkCExecCallbackc_sqlite3_execc_sqlite3_errmsgc_sqlite3_closec_sqlite3_openUtf8 StepResultDoneRow StatementDatabaseopencloseerrmsgexecgetStatementDatabasestepresetfinalize clearBindingsbindParameterCountbindParameterName columnCount bindInt64 bindDoublebindTextbindBlobbindNull columnType columnInt64 columnDouble columnText columnBlobSQLErrorsqlErrorsqlErrorDetailssqlErrorContextSQLDataSQLNullSQLBlobSQLTextSQLFloat SQLIntegerbindIntbindcolumncolumns$fShowColumnIndex$fShowParamIndexbaseGHC.PtrPtr Foreign.PtrfreeHaskellFunPtrbytestring-0.10.0.0Data.ByteString.Internal ByteStringunsafeUseAsCStringLenNoNull Data.EitherRight Data.MaybeNothing$fIsStringUtf8 text-0.11.2.3Data.Text.Encoding encodeUtf8 Data.TextpackResultpackUtf8packCStringLenwrapNullablePtrtoResult toResultM toStepResultGHC.BasefailData.Text.Encoding.Error DecodeErrorData.Text.InternalText DetailSource DetailMessageDetailStatementDetailDatabasefromUtf8toUtf8renderDetailSource throwSQLError checkError checkErrorMsg appendShow$fExceptionSQLError$fShowSQLError