!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None $059:;ILOT[\4A type that maps to Khttps://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/c-data-typesUsed to get data.#The handle allocated for any query.1An environment and database connection in one go.A column description.(A step in the streaming process for the  function.Stop with this value.Continue with this value.$A simple newtype wrapper around the ( type to use when you want to mean the binary2 type of SQL, and render to binary literals e.g. 0xFFEF01.The + type is already mapped to the non-Unicode text type.0A value used for input/output with the database.A Unicode text value.YA vector of bytes. It might be binary, or a string, but we don't know the encoding. Use & if the string is UTF-8 encoded, or h if it is UTF-16 encoded. For other encodings, see the Haskell text-icu package. For raw binary, see  . FOnly a vector of bytes. Intended for binary data, not for ASCII text. A simple boolean. $Floating point values that fit in a . $Floating point values that fit in a . Integer values that fit in an .Values that fit in one byte.Date (year, month, day) values.-Time of day (hh, mm, ss + fractional) values.Local date and time.ZA database exception. Any of the functions in this library may throw this exception type.4An ODBC operation failed with the given return code.#Allocating an ODBC resource failed.DAn unsupported/unknown data type was returned from the ODBC driver.=You tried to use the database connection after it was closed.You attempted to  the database twice.'No total length information for column.OThere was a general error retrieving data. String will contain the reason why.Connection to a database. Use of this connection is thread-safe. When garbage collected, the connection will be closed if not done already.*Connect using the given connection string.)Close the connection. Further use of the b will throw an exception. Double closes also throw an exception to avoid architectural mistakes.$Execute a statement on the database. Query and return a list of rows.?Stream results like a fold with the option to stop at any time.,Thread-safely access the connection pointer.-Execute a query directly without preparation."Run the function with a statement.sRun an action in a bound thread. This is neccessary due to the interaction with signals in ODBC and GHC's runtime.'Iterate over the rows in the statement.4Fetch all results from possible multiple statements. Fetch all rows from a statement./Describe the given column by its integer index.Pull data for the given column.*Get the column's data as a vector of CHAR.$Get the column's data as raw binary.'Get the column's data as a text string.%Get some data into the given pointer.*Get only the size of the data, no copying.%Check that the RETCODE is successful.%Check that the RETCODE is successful.0Check that the RETCODE is successful or no data.      An ODBC connection string..A connection to the database. You should call ~ on it when you're done. If you forget to, then the connection will only be closed when there are no more references to the K value in your program, which might never happen. So take care. Use e.g.  from Control.Exception= to do the open/close pattern, which will handle exceptions.A connection to the database.A connection to the database.SQL statement.A connection to the database. SQL query.A strict list of rows. This list is not lazy, so if you are retrieving a large data set, be aware that all of it will be loaded into memory.A connection to the database. SQL query.3A stepping function that gets as input the current state$ and a row, returning either a new state or a final result.QA state that you can use for the computation. Strictly evaluated each iteration./Final result, produced by the stepper function. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !    p        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !None9:;L[g0For producing rows from a list of column values.(You can get a row of a single type like G or a list e.g.  [Maybe Value]> if you don't know what you're dealing with, or a tuple e.g. (Text, Int, Bool).iConvert from a  to a regular Haskell value.jThe H% is used for a helpful error message.IExpect a value to be non-null.=ghijIklmnopqrstuvwxyz{|}~ghijijgh;ghijIklmnopqrstuvwxyz{|}~None059;I[4Handy class for converting values to a query safely. For example: 7query c ("SELECT * FROM demo WHERE id > " <> toSql 123)1WARNING: Note that if you insert a value like an ! (64-bit) into a column that is int9 (32-bit), then be sure that your number fits inside an int. Try using an J instead to be sure.KA part of a query.A query builder. Use 0 to convert Haskell values to this type safely.It's an instance of L, so you can use OverloadedStrings$ to produce plain text values e.g.  "SELECT 123".It's an instance of M-, so you can append fragments together with N e.g. *"SELECT * FROM x WHERE id = " <> toSql 123.:This is meant as a bare-minimum of safety and convenience. Query and return a list of rows.The rowE type is inferred based on use or type-signature. Examples might be (Int, Text, Bool) for concrete types, or  [Maybe Value]q if you don't know ahead of time how many columns you have and their type. See the top section for example use.IRender a query to a plain text string. Useful for debugging and testing.?Stream results like a fold with the option to stop at any time.$Execute a statement on the database.O%Convert a list of parts into a query.PRender a query part to a query.QRender a value to a query.RWObviously, this is not fast. But it is correct. A faster version can be written later.S%A very conservative character escape.T%A very conservative character escape.UIs the character allowed to be printed unescaped? We only print a small subset of ASCII just for visually debugging later on. Everything else is escaped.5Corresponds to DATETIME/DATETIME2 type of SQL Server.The V! type has more accuracy than the datetime type and the  datetime2= types can hold; so you will lose precision when you insert.'Corresponds to TIME type of SQL Server.W" supports more precision than the timeT type of SQL server, so you will lose precision and not get back what you inserted.'Corresponds to DATE type of SQL Server.*Corresponds to TINYINT type of SQL Server.&Corresponds to INT type of SQL Server.+Corresponds to SMALLINT type of SQL Server.)Corresponds to BIGINT type of SQL Server.'Corresponds to REAL type of SQL Server.(Corresponds to FLOAT type of SQL Server.&Corresponds to BIT type of SQL Server.GCorresponds to TEXT (non-Unicode) of SQL Server. For Unicode, use the G type.MCorresponds to TEXT (non-Unicode) of SQL Server. For proper BINARY, see the Binary type.Corresponds to NTEXT (Unicode) of SQL Server. Note that if your character exceeds the range supported by a wide-char (16-bit), that cannot be sent to the server.Corresponds to NTEXT (Unicode) of SQL Server. Note that if your character exceeds the range supported by a wide-char (16-bit), that cannot be sent to the server.Converts whatever the  is to SQL.&KXYZA connection to the database. SQL query.A connection to the database. SQL query.3A stepping function that gets as input the current state$ and a row, returning either a new state or a final result.QA state that you can use for the computation. Strictly evaluated each iteration./Final result, produced by the stepper function.A connection to the database.SQL statement.OPQRSTU( ghij( ijgh"KXYZOPQRSTU[       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$%#       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKDLMNOPQRSTUVWXVYZ[\]!odbc-0.0.4-IxjhblpRvks6o4JGMnt1HUDatabase.ODBC.InternalDatabase.ODBC.ConversionDatabase.ODBC.SQLServerData.Text.Encoding decodeUtf8 decodeUtf16LEStepStopContinueBinaryunBinaryValue TextValueByteStringValue BinaryValue BoolValue DoubleValue FloatValueIntValue ByteValueDayValueTimeOfDayValueLocalTimeValue ODBCExceptionUnsuccessfulReturnCodeAllocationReturnedNullUnknownDataTypeDatabaseIsClosedDatabaseAlreadyClosedNoTotalInformationDataRetrievalError Connectionconnectcloseexecquerystream $fNFDataValue$fExceptionODBCException$fShowODBCException$fEqODBCException $fShowBinary $fEqBinary $fOrdBinary $fDataBinary$fGenericBinary$fNFDataBinary $fEqValue $fShowValue $fOrdValue$fGenericValue $fDataValue $fShowStep$fShowSQLCTYPE $fEqSQLCTYPE$fStorableSQLCTYPE$fIntegralSQLCTYPE$fEnumSQLCTYPE$fRealSQLCTYPE $fNumSQLCTYPE $fOrdSQLCTYPE $fShowRETCODE $fEqRETCODE$fShowSQLUSMALLINT$fEqSQLUSMALLINT$fStorableSQLUSMALLINT$fIntegralSQLUSMALLINT$fEnumSQLUSMALLINT$fRealSQLUSMALLINT$fNumSQLUSMALLINT$fOrdSQLUSMALLINT$fShowSQLUCHAR $fEqSQLUCHAR$fStorableSQLUCHAR $fShowSQLCHAR $fEqSQLCHAR$fStorableSQLCHAR$fShowSQLSMALLINT$fEqSQLSMALLINT$fStorableSQLSMALLINT$fNumSQLSMALLINT$fIntegralSQLSMALLINT$fEnumSQLSMALLINT$fOrdSQLSMALLINT$fRealSQLSMALLINT $fShowSQLLEN $fEqSQLLEN$fStorableSQLLEN $fNumSQLLEN $fShowSQLULEN $fEqSQLULEN$fStorableSQLULEN $fShowColumn$fShowSQLINTEGER$fEqSQLINTEGER$fStorableSQLINTEGER$fNumSQLINTEGER$fShowSQLUINTEGER$fEqSQLUINTEGER$fStorableSQLUINTEGER$fNumSQLUINTEGER$fIntegralSQLUINTEGER$fEnumSQLUINTEGER$fOrdSQLUINTEGER$fRealSQLUINTEGER$fShowSQLWCHAR $fEqSQLWCHAR$fStorableSQLWCHARFromRowfromRow FromValue fromValue#$fFromRow(,,,,,,,,,,,,,,,,,,,,,,,,)"$fFromRow(,,,,,,,,,,,,,,,,,,,,,,,)!$fFromRow(,,,,,,,,,,,,,,,,,,,,,,) $fFromRow(,,,,,,,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,,)$fFromRow(,,,,,,,,,,,)$fFromRow(,,,,,,,,,,)$fFromRow(,,,,,,,,,)$fFromRow(,,,,,,,,)$fFromRow(,,,,,,,)$fFromRow(,,,,,,)$fFromRow(,,,,,)$fFromRow(,,,,)$fFromRow(,,,) $fFromRow(,,) $fFromRow(,) $fFromRowBool$fFromRowWord8$fFromRowFloat$fFromRowDouble$fFromRowLocalTime$fFromRowTimeOfDay $fFromRowDay $fFromRowInt$fFromRowByteString$fFromRowBinary$fFromRowByteString0 $fFromRowText$fFromRowText0$fFromRowValue $fFromRow[]$fFromRowIdentity$fFromRowMaybe$fFromValueLocalTime$fFromValueTimeOfDay$fFromValueDay$fFromValueBool$fFromValueWord8$fFromValueFloat$fFromValueDouble$fFromValueInt$fFromValueByteString$fFromValueBinary$fFromValueByteString0$fFromValueText$fFromValueText0$fFromValueValue$fFromValueMaybeToSqltoSqlQuery renderQuery$fToSqlLocalTime$fToSqlTimeOfDay $fToSqlDay $fToSqlWord8 $fToSqlInt32 $fToSqlInt16 $fToSqlInt $fToSqlFloat $fToSqlDouble $fToSqlBool$fToSqlByteString $fToSqlBinary$fToSqlByteString0 $fToSqlText $fToSqlText0 $fToSqlValue$fIsStringPart $fNFDataPart$fIsStringQuery $fNFDataQuery$fEqPart $fShowPart $fOrdPart $fGenericPart $fDataPart $fMonoidQuery $fEqQuery $fShowQuery $fOrdQuery$fGenericQuery $fDataQuery$fSemigroupQuerySQLCTYPE SQLPOINTERSQLHSTMT EnvAndDbcColumnbytestring-0.10.8.1Data.ByteString.Internal ByteStringghc-prim GHC.TypesDoubleFloatIntwithHDBCwithExecDirectwithStmt withBound fetchIteratorfetchAllResultsfetchStatementRowsdescribeColumngetData getBytesData getBinaryData getTextData getTypedDatagetSize assertNotNull assertSuccessassertSuccessOrNoDataTIMESTAMP_STRUCT TIME_STRUCT DATE_STRUCTSQLWCHAR SQLUINTEGER SQLINTEGERSQLULENSQLLEN SQLSMALLINTSQLCHARSQLUCHAR SQLUSMALLINTRETCODE columnType columnSize columnDigits columnNullconnectionMVarodbc_TIMESTAMP_STRUCT_fractionodbc_TIMESTAMP_STRUCT_secondodbc_TIMESTAMP_STRUCT_minuteodbc_TIMESTAMP_STRUCT_hourodbc_TIMESTAMP_STRUCT_dayodbc_TIMESTAMP_STRUCT_monthodbc_TIMESTAMP_STRUCT_yearodbc_TIME_STRUCT_secondodbc_TIME_STRUCT_minuteodbc_TIME_STRUCT_hourodbc_DATE_STRUCT_dayodbc_DATE_STRUCT_monthodbc_DATE_STRUCT_yearodbc_SQLDescribeColWodbc_SQLGetDataodbc_SQLNumResultColsodbc_SQLMoreResults odbc_SQLFetchodbc_SQLExecDirectWodbc_SQLFreeStmtodbc_SQLAllocStmtodbc_SQLDisconnectodbc_SQLDriverConnectodbc_FreeEnvAndDbcodbc_AllocEnvAndDbc odbc_errorbaseControl.Exception.Basebracket withMallocwithMallocByteswithCallocBytes sql_successsql_success_with_info sql_no_data sql_null_data sql_no_totalsql_char sql_decimal sql_integer sql_smallint sql_floatsql_real sql_double sql_type_date sql_ss_time2 sql_varchar sql_wchar sql_wvarcharsql_wlongvarcharsql_timesql_type_timestampsql_longvarchar sql_binary sql_varbinary sql_bigint sql_tinyintsql_bit sql_c_wchar sql_c_binary sql_c_double sql_c_long sql_c_bigint sql_c_short sql_c_bit sql_c_datesql_c_type_timestamp sql_c_time#text-1.2.2.2-9UQZjEJZQFSGMffj1Z5g00Data.Text.InternalTextGHC.BaseString withNonNullGHC.IntInt32Part Data.StringIsStringMonoid Data.Monoid<> renderParts renderPart renderValuerenderFractional escapeChar8 escapeChar allowedChar time-1.6.0.1Data.Time.LocalTime.LocalTime LocalTimeData.Time.LocalTime.TimeOfDay TimeOfDayTextPart ValuePart