!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~SafeS Test for M or NV]maximum message lenth Vendors may increase this constant but its value must be at lieast 512Wmaximum identifier length_environment attribute`connection attributea connection and schema attributesc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! c  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abSafe/c"information in a diagnostic recordhgconcise information about a column of a result set, mapping the result of SQL CLI API call DescribeColoinformation about column in the database; the meaning of fields is detailed in the SQL CLI specification in the documenation of Columns API call?configuration values dependent on the actual CLI implementationJposition of TABLE_CAT column in the resultset returned by Columns API callLposition of TABLE_SCHEM column in the resultset returned by Columns API callKposition of TABLE_NAME column in the resultset returned by Columns API callLposition of COLUMN_NAME column in the resultset returned by Columns API callJposition of DATA_TYPE column in the resultset returned by Columns API callJposition of TYPE_NAME column in the resultset returned by Columns API callLposition of COLUMN_SIZE column in the resultset returned by Columns API callNposition of BUFFER_LENGTH column in the resultset returned by Columns API callOposition of DECIMAL_DIGITS column in the resultset returned by Columns API callOposition of NUM_PREC_RADIX column in the resultset returned by Columns API callIposition of NULLABLE column in the resultset returned by Columns API callHposition of REMARKS column in the resultset returned by Columns API callKposition of COLUMN_DEF column in the resultset returned by Columns API callNposition of DATETIME_CODE column in the resultset returned by Columns API callRposition of CHAR_OCTET_LENGTH column in the resultset returned by Columns API callQposition of ORDINAL_POSITION column in the resultset returned by Columns API callLposition of IS_NULLABLE column in the resultset returned by Columns API callRRead columns information for a given table on a database connection. It returns a u value that will get implementation dependent fieled numbers in the result set returned by Columns API call from a  value.3Checks if a table exists on the current connection.(wrapper for DescribeCol SQL CLI API call$wrapper for SQL CLI Columns API call#wrapper for SQL CLI Tables API callapplies a function through all the records in a statment, passing an accumulator value and combining the actions returned by the function@Read data from a column and checks the diagnostics, returning a  or , value inside a monadic action. It returns ) if more data is available for read, and  otherwise. It fails in  \ monad if an error occured. It displays the diagnostics on the error on the standard error.Read data available in a column of a fetched database record inside a monadic. It fails if an error occurs, displaying the diagnostics on the standard error. It receives 2 monadic actions parameters:moreendIt executes the more action if there is more data available and it executes the end action if all data in the column has been read.UCreate a monadic action to fetch the next record in an executed statement producing ( if there are more records available or # if all the records have been read.gIf an error occurs, the monadic action fails, displaying the error diagnostics on the standard error.Create a monadic action to fetch the next record in an excecuted statement. It, then, executes one of the 2 actions received as parameters -- more and end -- depending on if there are more records available or if the last record has been fetched.bIf an error occrus, the monadic action fails, displaying error diagnostics on the standard error.)helper function to bind a SMALLINT column)helper function to bind an INTEGER columnzhelper function to bind a VARCHAR column. The buffer length parameter must include the NULL terminating character of the .wrapper for BindCol SQL CLI API call; if an error occurs the computation is stopped and diagnostics are displayed on the standard errorwrapper for SQL CLI ExecDirect API call; if an error occurs, the computation exits displaying diagnostics on the standard error[utility function that allocates a database connection handle and connects to the database.KOn success, the computation returns the handle to the database conncection.NOn error, the computation exits, displaying diagnostics on the standard error.Uwrapper for SQL CLI Disconnect API call; displays diagnostics on the standard error.wrapper to SQL CLI AllocHandle API call; it displays diagnostics info on the standard error and fails if the handle could not be allocatediwrapper for SQL CLI FreeHandle API call; it displays diagnostics on the standard error; it does not fail create an m action that displays diagnostic records for a given handle on the standard error; this action will not failcreate a monadic action to display the diagnostic records for a given handle on the standard error; it fails if an error occurs while reading diagnostic records.create a monadic action to read the number of the diagnostic records for a given handle; it fails if an error occurs and it displays diagnostics on standard errorwrapper for SQL CLI GetDiagRec API call; the computation fails if an error occurs and it displays diagnostics on standard errorhelper function to allocate a ; it calls the function received as parameter with the address of the allocated string or with a null pointer if no string was received as input (i.e. )Qhelper function to read a nullable column; returns Nothing if the column is nullVhelper function to read a nullable text column; returns Nothing if the column is nullLcdefghijklmnopqrstuvwxyz{|}~statement handlecolumn number (starting with 1)buffer to receive the value9buffer to receive the indicator or length; it can be nullstatement handlecolumn number (starting with 1)buffer to receive the value9buffer to receive the indicator or length; it can be nullstatement handlecolumn number (starting with 1)/buffer to receive the null terminated text data@buffer length in bytes, including the null terminating character.pointer to indicator or length; it can be nullLcdefghijklmnopqrstuvwxyz{|}~Lopqrstuvwxyz{|}~hijklmncdefgcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijjklmnoppqrstuvwxyz{|}~%sqlcli-0.1.0.0-26EuFPbUKj9ID3lYLiOUreSQL.CLI SQL.CLI.UtilsSQLHDESCSQLHSTMTSQLHDBCSQLHENV SQLRETURN SQLNUMERIC SQLDECIMAL SQLVARCHAR SQLTIMESTAMPSQLTIMESQLDATE SQLPOINTERSQLREALSQLFLOAT SQLDOUBLE SQLSMALLINT SQLINTEGERSQLCHAR sqltransact sqltables sqlstatisticssqlspecialcolumnssqlsetstmtoptionsqlsetstmtattr sqlsetparam sqlsetenvattr sqlsetdescrecsqlsetdescfieldsqlsetcursornamesqlsetconnectoptionsqlsetconnectattr sqlrowcount sqlputdata sqlprepare sqlparamdatasqlnumresultcolssqlgettypeinfosqlgetstmtoptionsqlgetstmtattr sqlgetinfosqlgetfunctions sqlgetenvattr sqlgetdiagrecsqlgetdiagfield sqlgetdescrecsqlgetdescfield sqlgetdatasqlgetcursornamesqlgetconnectoptionsqlgetconnectattr sqlfreestmt sqlfreehandle sqlfreeenvsqlfreeconnectsqlfetchscrollsqlfetch sqexecute sqlexecdirectsqlerror sqlendtran sqldisconnectsqldescribecolsqldatasources sqlopydesc sqlconnect sqlcolumnssqlcolattributesqlclosecursor sqlcancel sqlbindparam sqlbindcol sqlallocstmtsqlallochandle sqlallocenvsqlallocconnect sql_null_datasql_data_at_exec sql_successsql_success_with_info sql_no_data sql_errorsql_invalid_handle sql_need_data sql_succeededsql_ntssql_ntslsql_max_message_lengthsql_max_id_length sql_date_len sql_time_lensql_timestamp_lensql_handle_envsql_handle_dbcsql_handle_stmtsql_handle_descsql_attr_output_ntssql_attr_auto_ipdsql_attr_metadata_idsql_attr_app_row_descsql_attr_app_param_descsql_attr_imp_row_descsql_attr_imp_param_descsql_attr_cursor_scrollablesql_attr_cursor_sensitivitysql_desc_count sql_desc_typesql_desc_lengthsql_desc_octet_lenth_ptrsql_desc_precisionsql_desc_scalesql_desc_datetime_interval_codesql_desc_nullablesql_desc_indicator_ptrsql_desc_data_ptr sql_desc_namesql_desc_unnamedsql_desc_octet_lengthsql_desc_alloc_typesql_diag_returncodesql_diag_numbersql_diag_row_countsql_diag_sqlstatesql_diag_nativesql_diag_message_textsql_diag_dynamic_functionsql_diag_class_originsql_diag_subclass_originsql_diag_connection_namesql_diag_server_namesql_diag_dynamic_function_codesql_diag_alter_tablesql_diag_create_indexsql_diag_create_tablesql_diag_create_viewsql_diag_delete_wheresql_diag_drop_indexsql_diag_drop_tablesql_diag_drop_viewsql_diag_dynamic_delete_cursorsql_diag_dynamic_update_cursorsql_diag_grantsql_diag_insertsql_diag_revokesql_diag_select_cursorsql_diag_unknown_statementsql_diag_update_wheresql_char sql_numeric sql_decimal sql_integer sql_smallint sql_floatsql_real sql_double sql_datetime sql_varchar sql_type_date sql_type_timesql_type_timestampsql_unspecifiedsql_insensitive sql_sensitive sql_all_types sql_default sql_ard_type sql_code_date sql_code_timesql_code_timestamp sql_falsesql_true sql_no_nulls sql_nullablesql_nullable_unknown sql_pred_none sql_pred_charsql_pred_basic sql_named sql_unnamedsql_desc_alloc_autosql_desc_alloc_user sql_closesql_drop sql_unbindsql_reset_paramssql_fetch_nextsql_fetch_firstsql_fetch_lastsql_fetch_priorsql_fetch_absolutesql_fetch_relative sql_commit sql_rollback sql_null_henv sql_null_hdbcsql_null_hstmtsql_null_hdescsql_null_handlesql_scope_currowsql_scope_transactionsql_scope_sessionsql_pc_unknownsql_pc_non_pseudo sql_pc_pseudosql_row_identifiersql_index_unique sql_index_allsql_index_clusteredsql_index_hashedsql_index_othersql_api_sqlallocconnectsql_api_sqlallocenvsql_api_sqlallochandlesql_api_sqlallocstmtsql_api_sqlbindcolsql_api_sqlbindparamsql_api_sqlcancelsql_api_sqlclosecursorsql_api_sqlcolattributesql_api_sqlcolumnssql_api_sqlconnectsql_api_sqlcopydescsql_api_sqldatasourcessql_api_sqldescribecolsql_api_sqldisconnectsql_api_sqlendtransql_api_sqlerrorsql_api_sqlexecdirectsql_api_sqlexecutesql_api_sqlfetchsql_api_sqlfetchscrollsql_api_sqlfreeconnectsql_api_sqlfreeenvsql_api_sqlfreehandlesql_api_sqlfreestmtsql_api_sqlgetconnectattrsql_api_sqlgetconnectoptionsql_api_sqlgetcursornamesql_api_sqlgetdatasql_api_sqlgetdescfieldsql_api_sqlgetdescrecsql_api_sqlgetdiagfieldsql_api_sqlgetdiagrecsql_api_sqlgetenvattrsql_api_sqlgetfunctionssql_api_sqlgetinfosql_api_sqlgetstmtattrsql_api_sqlgetstmtoptionsql_api_sqlgettypeinfosql_api_sqllanguagessql_api_sqlnumresultcolssql_api_sqlparamdatasql_api_sqlpreparesql_api_sqlputdatasql_api_sqlreleaseenvsql_api_sqlrowcountsql_api_sqlserverinfosql_api_sqlsetconnectattrsql_api_sqlsetconnectoptionsql_api_sqlsetcursornamesql_api_sqlsetdescfieldsql_api_sqlsetdescrecsql_api_sqlsetenvattrsql_api_sqlsetparamsql_api_sqlsetstmtattrsql_api_sqlsetstmtoptionsql_api_sqlspecialcolumnssql_api_sqlstatisticssql_api_sqltablessql_api_sqltransactsql_max_driver_connectionssql_max_concurrent_activitiessql_data_source_namesql_fetch_directionsql_server_namesql_search_pattern_escape sql_dbms_name sql_dbms_versql_accessible_tablessql_cursor_commit_behaviorsql_data_source_read_onlysql_default_txn_isolationsql_identifier_casesql_identifier_quote_charsql_max_column_name_lensql_max_cursor_name_lensql_max_schema_name_lensql_max_catalog_name_lensql_max_table_name_lensql_scroll_concurrencysql_txn_capable sql_user_namesql_txn_isolation_option sql_integritysql_getdata_extensionssql_null_collationsql_alter_tablesql_order_by_columns_in_selectsql_special_characterssql_max_columns_in_group_bysql_max_columns_in_indexsql_max_columns_in_order_bysql_max_columns_in_selectsql_max_columns_in_tablesql_max_index_sizesql_max_row_sizesql_max_statement_lensql_max_tables_in_selectsql_max_user_name_lensql_oj_capabilitiessql_xopen_cli_yearsql_cursor_sensitivitysql_describe_parametersql_catalog_namesql_collation_seqsql_max_identifier_lensql_at_add_columnsql_at_drop_columnsql_at_alter_columnsql_at_add_constraintsql_at_drop_constraint sql_cb_delete sql_cb_closesql_cb_preservesql_fd_fetch_nextsql_fd_fetch_firstsql_fd_fetch_lastsql_fd_fetch_priorsql_fd_fetch_absolutesql_fd_fetch_relativesql_gd_any_columnsql_gd_any_order sql_ic_upper sql_ic_lowersql_ic_sensitive sql_ic_mixed sql_oj_left sql_oj_right sql_oj_full sql_oj_nestedsql_oj_not_ordered sql_oj_innersql_oj_all_comparison_opssql_scco_read_only sql_scco_locksql_scco_opt_rowversql_scco_opt_values sql_tc_none sql_tc_dml sql_tc_allsql_tc_ddl_commitsql_tc_ddl_ignoresql_txn_read_uncommittedsql_txn_read_committedsql_txn_repeatable_readsql_txn_serializable DiagRecordsqlstate nativeError messageTextConciseColInfocci_ColumnName cci_DataTypecci_ColumnSizecci_DecimalDigits cci_Nullable ColumnInfo ci_TableCat ci_TableSchem ci_TableName ci_ColumnName ci_DataType ci_TypeName ci_ColumnSizeci_BufferLengthci_DecimalDigitsci_NumPrecRadix ci_Nullable ci_Remarks ci_ColumnDefci_DatetimeCodeci_CharOctetLengthci_OrdinalPosition ci_IsNullable SQLConfigsql_cli_flds_table_catsql_cli_flds_table_schemsql_cli_flds_table_namesql_cli_flds_column_namesql_cli_flds_data_typesql_cli_flds_type_namesql_cli_flds_column_sizesql_cli_flds_buffer_lengthsql_cli_flds_decimal_digitssql_cli_flds_num_prec_radixsql_cli_flds_nullablesql_cli_flds_remarkssql_cli_flds_column_defsql_cli_flds_datetime_codesql_cli_flds_char_octet_lengthsql_cli_flds_ordinal_positionsql_cli_flds_is_nullablecollectColumnsInfo tableExists describeColcolumnstables forAllRecordsgetData getDataAndRunfetch fetchAndRunbindSmallIntColbindIntegerColbindVarcharColbindCol execDirectconnect disconnect allocHandle freeHandledisplayDiagInfodisplayDiagInfo'getCountOfDiagRecs getDiagRecwithMaybeCStringLen peekMaybeColpeekMaybeTextCol$fShowColumnInfotransformers-0.5.2.0Control.Monad.Trans.ReaderReaderTghc-prim GHC.TypesTrueFalseControl.Monad.Trans.MaybeMaybeTIObaseForeign.C.StringCString CStringLenGHC.BaseNothing