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


-- | PostgreSQL driver for HDBC
--   
--   This package provides a PostgreSQL driver for HDBC
@package HDBC-postgresql
@version 2.5.0.1


-- | HDBC driver interface for PostgreSQL 8.x
--   
--   Written by John Goerzen, jgoerzen@complete.org
--   
--   <i>NOTE ON DATES AND TIMES</i>
--   
--   The recommended correspondence between PostgreSQL date and time types
--   and HDBC SqlValue types is:
--   
--   <ul>
--   <li>SqlLocalDate: DATE</li>
--   <li>SqlLocalTimeOfDay: TIME WITHOUT TIME ZONE</li>
--   <li>SqlZonedLocalTimeOfDay: TIME WITH TIME ZONE</li>
--   <li>SqlLocalTime: TIMESTAMP WITHOUT TIME ZONE</li>
--   <li>SqlZonedTime: TIMESTAMP WITH TIME ZONE</li>
--   <li>SqlUTCTime: TIMESTAMP WITH TIME ZONE</li>
--   <li>SqlDiffTime: INTERVAL</li>
--   <li>SqlPOSIXTime: NUMERIC</li>
--   <li>SqlEpochTime: INTEGER</li>
--   <li>SqlTimeDiff: INTERVAL</li>
--   </ul>
--   
--   Other combinations are possible, and may even be converted
--   automatically. The above simply represents the types that seem the
--   most logical correspondence, and thus are tested by the
--   HDBC-PostgreSQL test suite.
module Database.HDBC.PostgreSQL

-- | Connect to a PostgreSQL server.
--   
--   See
--   <a>http://www.postgresql.org/docs/8.1/static/libpq.html#LIBPQ-CONNECT</a>
--   for the meaning of the connection string.
connectPostgreSQL :: String -> IO Connection

-- | Connect to a PostgreSQL server, and automatically disconnect if the
--   handler exits normally or throws an exception.
withPostgreSQL :: String -> (Connection -> IO a) -> IO a
connectPostgreSQL' :: String -> IO Connection
withPostgreSQL' :: String -> (Connection -> IO a) -> IO a
data Connection
begin :: Connection -> IO ()

-- | Is set to <tt>"58030"</tt>.
ioError :: String

-- | Is set to <tt>"00000"</tt>.
successfulCompletion :: String

-- | Is set to <tt>"01000"</tt>.
warning :: String

-- | Is set to <tt>"0100C"</tt>.
warningDynamicResultSetsReturned :: String

-- | Is set to <tt>"01008"</tt>.
warningImplicitZeroBitPadding :: String

-- | Is set to <tt>"01003"</tt>.
warningNullValueEliminatedInSetFunction :: String

-- | Is set to <tt>"01007"</tt>.
warningPrivilegeNotGranted :: String

-- | Is set to <tt>"01006"</tt>.
warningPrivilegeNotRevoked :: String

-- | Is set to <tt>"01004"</tt>.
warningStringDataRightTruncation :: String

-- | Is set to <tt>"01P01"</tt>.
warningDeprecatedFeature :: String

-- | Is set to <tt>"02000"</tt>.
noData :: String

-- | Is set to <tt>"02001"</tt>.
noAdditionalDynamicResultSetsReturned :: String

-- | Is set to <tt>"03000"</tt>.
sqlStatementNotYetComplete :: String

-- | Is set to <tt>"08000"</tt>.
connectionException :: String

-- | Is set to <tt>"08003"</tt>.
connectionDoesNotExist :: String

-- | Is set to <tt>"08006"</tt>.
connectionFailure :: String

-- | Is set to <tt>"08001"</tt>.
sqlclientUnableToEstablishSqlconnection :: String

-- | Is set to <tt>"08004"</tt>.
sqlserverRejectedEstablishmentOfSqlconnection :: String

-- | Is set to <tt>"08007"</tt>.
transactionResolutionUnknown :: String

-- | Is set to <tt>"08P01"</tt>.
protocolViolation :: String

-- | Is set to <tt>"09000"</tt>.
triggeredActionException :: String

-- | Is set to <tt>"0A000"</tt>.
featureNotSupported :: String

-- | Is set to <tt>"0B000"</tt>.
invalidTransactionInitiation :: String

-- | Is set to <tt>"0F000"</tt>.
locatorException :: String

-- | Is set to <tt>"0F001"</tt>.
lEInvalidSpecification :: String

-- | Is set to <tt>"0L000"</tt>.
invalidGrantor :: String

-- | Is set to <tt>"0LP01"</tt>.
invalidGrantOperation :: String

-- | Is set to <tt>"0P000"</tt>.
invalidRoleSpecification :: String

-- | Is set to <tt>"21000"</tt>.
cardinalityViolation :: String

-- | Is set to <tt>"22000"</tt>.
dataException :: String

-- | Is set to <tt>"2202E"</tt>.
arrayElementError :: String

-- | Same as <a>arrayElementError</a>.
arraySubscriptError :: String

-- | Is set to <tt>"22021"</tt>.
characterNotInRepertoire :: String

-- | Is set to <tt>"22008"</tt>.
datetimeFieldOverflow :: String

-- | Same as <a>datetimeFieldOverflow</a>.
datetimeValueOutOfRange :: String

-- | Is set to <tt>"22012"</tt>.
divisionByZero :: String

-- | Is set to <tt>"22005"</tt>.
errorInAssignment :: String

-- | Is set to <tt>"2200B"</tt>.
escapeCharacterConflict :: String

-- | Is set to <tt>"22022"</tt>.
indicatorOverflow :: String

-- | Is set to <tt>"22015"</tt>.
intervalFieldOverflow :: String

-- | Is set to <tt>"2201E"</tt>.
invalidArgumentForLog :: String

-- | Is set to <tt>"2201F"</tt>.
invalidArgumentForPowerFunction :: String

-- | Is set to <tt>"2201G"</tt>.
invalidArgumentForWidthBucketFunction :: String

-- | Is set to <tt>"22018"</tt>.
invalidCharacterValueForCast :: String

-- | Is set to <tt>"22007"</tt>.
invalidDatetimeFormat :: String

-- | Is set to <tt>"22019"</tt>.
invalidEscapeCharacter :: String

-- | Is set to <tt>"2200D"</tt>.
invalidEscapeOctet :: String

-- | Is set to <tt>"22025"</tt>.
invalidEscapeSequence :: String

-- | Is set to <tt>"22P06"</tt>.
nonstandardUseOfEscapeCharacter :: String

-- | Is set to <tt>"22010"</tt>.
invalidIndicatorParameterValue :: String

-- | Is set to <tt>"22020"</tt>.
invalidLimitValue :: String

-- | Is set to <tt>"22023"</tt>.
invalidParameterValue :: String

-- | Is set to <tt>"2201B"</tt>.
invalidRegularExpression :: String

-- | Is set to <tt>"22009"</tt>.
invalidTimeZoneDisplacementValue :: String

-- | Is set to <tt>"2200C"</tt>.
invalidUseOfEscapeCharacter :: String

-- | Is set to <tt>"2200G"</tt>.
mostSpecificTypeMismatch :: String

-- | Is set to <tt>"22004"</tt>.
nullValueNotAllowed :: String

-- | Is set to <tt>"22002"</tt>.
nullValueNoIndicatorParameter :: String

-- | Is set to <tt>"22003"</tt>.
numericValueOutOfRange :: String

-- | Is set to <tt>"22026"</tt>.
stringDataLengthMismatch :: String

-- | Is set to <tt>"22001"</tt>.
stringDataRightTruncation :: String

-- | Is set to <tt>"22011"</tt>.
substringError :: String

-- | Is set to <tt>"22027"</tt>.
trimError :: String

-- | Is set to <tt>"22024"</tt>.
unterminatedCString :: String

-- | Is set to <tt>"2200F"</tt>.
zeroLengthCharacterString :: String

-- | Is set to <tt>"22P01"</tt>.
floatingPointException :: String

-- | Is set to <tt>"22P02"</tt>.
invalidTextRepresentation :: String

-- | Is set to <tt>"22P03"</tt>.
invalidBinaryRepresentation :: String

-- | Is set to <tt>"22P04"</tt>.
badCopyFileFormat :: String

-- | Is set to <tt>"22P05"</tt>.
untranslatableCharacter :: String

-- | Is set to <tt>"2200L"</tt>.
notAnXmlDocument :: String

-- | Is set to <tt>"2200M"</tt>.
invalidXmlDocument :: String

-- | Is set to <tt>"2200N"</tt>.
invalidXmlContent :: String

-- | Is set to <tt>"2200S"</tt>.
invalidXmlComment :: String

-- | Is set to <tt>"2200T"</tt>.
invalidXmlProcessingInstruction :: String

-- | Is set to <tt>"23000"</tt>.
integrityConstraintViolation :: String

-- | Is set to <tt>"23001"</tt>.
restrictViolation :: String

-- | Is set to <tt>"23502"</tt>.
notNullViolation :: String

-- | Is set to <tt>"23503"</tt>.
foreignKeyViolation :: String

-- | Is set to <tt>"23505"</tt>.
uniqueViolation :: String

-- | Is set to <tt>"23514"</tt>.
checkViolation :: String

-- | Is set to <tt>"24000"</tt>.
invalidCursorState :: String

-- | Is set to <tt>"25000"</tt>.
invalidTransactionState :: String

-- | Is set to <tt>"25001"</tt>.
activeSqlTransaction :: String

-- | Is set to <tt>"25002"</tt>.
branchTransactionAlreadyActive :: String

-- | Is set to <tt>"25008"</tt>.
heldCursorRequiresSameIsolationLevel :: String

-- | Is set to <tt>"25003"</tt>.
inappropriateAccessModeForBranchTransaction :: String

-- | Is set to <tt>"25004"</tt>.
inappropriateIsolationLevelForBranchTransaction :: String

-- | Is set to <tt>"25005"</tt>.
noActiveSqlTransactionForBranchTransaction :: String

-- | Is set to <tt>"25006"</tt>.
readOnlySqlTransaction :: String

-- | Is set to <tt>"25007"</tt>.
schemaAndDataStatementMixingNotSupported :: String

-- | Is set to <tt>"25P01"</tt>.
noActiveSqlTransaction :: String

-- | Is set to <tt>"25P02"</tt>.
inFailedSqlTransaction :: String

-- | Is set to <tt>"26000"</tt>.
invalidSqlStatementName :: String

-- | Is set to <tt>"27000"</tt>.
triggeredDataChangeViolation :: String

-- | Is set to <tt>"28000"</tt>.
invalidAuthorizationSpecification :: String

-- | Is set to <tt>"2B000"</tt>.
dependentPrivilegeDescriptorsStillExist :: String

-- | Is set to <tt>"2BP01"</tt>.
dependentObjectsStillExist :: String

-- | Is set to <tt>"2D000"</tt>.
invalidTransactionTermination :: String

-- | Is set to <tt>"2F000"</tt>.
sqlRoutineException :: String

-- | Is set to <tt>"2F005"</tt>.
sREFunctionExecutedNoReturnStatement :: String

-- | Is set to <tt>"2F002"</tt>.
sREModifyingSqlDataNotPermitted :: String

-- | Is set to <tt>"2F003"</tt>.
sREProhibitedSqlStatementAttempted :: String

-- | Is set to <tt>"2F004"</tt>.
sREReadingSqlDataNotPermitted :: String

-- | Is set to <tt>"34000"</tt>.
invalidCursorName :: String

-- | Is set to <tt>"38000"</tt>.
externalRoutineException :: String

-- | Is set to <tt>"38001"</tt>.
eREContainingSqlNotPermitted :: String

-- | Is set to <tt>"38002"</tt>.
eREModifyingSqlDataNotPermitted :: String

-- | Is set to <tt>"38003"</tt>.
eREProhibitedSqlStatementAttempted :: String

-- | Is set to <tt>"38004"</tt>.
eREReadingSqlDataNotPermitted :: String

-- | Is set to <tt>"39000"</tt>.
externalRoutineInvocationException :: String

-- | Is set to <tt>"39001"</tt>.
eRIEInvalidSqlstateReturned :: String

-- | Is set to <tt>"39004"</tt>.
eRIENullValueNotAllowed :: String

-- | Is set to <tt>"39P01"</tt>.
eRIETriggerProtocolViolated :: String

-- | Is set to <tt>"39P02"</tt>.
eRIESrfProtocolViolated :: String

-- | Is set to <tt>"3B000"</tt>.
savepointException :: String

-- | Is set to <tt>"3B001"</tt>.
sEInvalidSpecification :: String

-- | Is set to <tt>"3D000"</tt>.
invalidCatalogName :: String

-- | Is set to <tt>"3F000"</tt>.
invalidSchemaName :: String

-- | Is set to <tt>"40000"</tt>.
transactionRollback :: String

-- | Is set to <tt>"40002"</tt>.
tRIntegrityConstraintViolation :: String

-- | Is set to <tt>"40001"</tt>.
tRSerializationFailure :: String

-- | Is set to <tt>"40003"</tt>.
tRStatementCompletionUnknown :: String

-- | Is set to <tt>"40P01"</tt>.
tRDeadlockDetected :: String

-- | Is set to <tt>"42000"</tt>.
syntaxErrorOrAccessRuleViolation :: String

-- | Is set to <tt>"42601"</tt>.
syntaxError :: String

-- | Is set to <tt>"42501"</tt>.
insufficientPrivilege :: String

-- | Is set to <tt>"42846"</tt>.
cannotCoerce :: String

-- | Is set to <tt>"42803"</tt>.
groupingError :: String

-- | Is set to <tt>"42830"</tt>.
invalidForeignKey :: String

-- | Is set to <tt>"42602"</tt>.
invalidName :: String

-- | Is set to <tt>"42622"</tt>.
nameTooLong :: String

-- | Is set to <tt>"42939"</tt>.
reservedName :: String

-- | Is set to <tt>"42804"</tt>.
datatypeMismatch :: String

-- | Is set to <tt>"42P18"</tt>.
indeterminateDatatype :: String

-- | Is set to <tt>"42809"</tt>.
wrongObjectType :: String

-- | Is set to <tt>"42703"</tt>.
undefinedColumn :: String

-- | Same as <a>invalidCursorName</a>.
undefinedCursor :: String

-- | Same as <a>invalidCatalogName</a>.
undefinedDatabase :: String

-- | Is set to <tt>"42883"</tt>.
undefinedFunction :: String

-- | Same as <a>invalidSqlStatementName</a>.
undefinedPstatement :: String

-- | Same as <a>invalidSchemaName</a>.
undefinedSchema :: String

-- | Is set to <tt>"42P01"</tt>.
undefinedTable :: String

-- | Is set to <tt>"42P02"</tt>.
undefinedParameter :: String

-- | Is set to <tt>"42704"</tt>.
undefinedObject :: String

-- | Is set to <tt>"42701"</tt>.
duplicateColumn :: String

-- | Is set to <tt>"42P03"</tt>.
duplicateCursor :: String

-- | Is set to <tt>"42P04"</tt>.
duplicateDatabase :: String

-- | Is set to <tt>"42723"</tt>.
duplicateFunction :: String

-- | Is set to <tt>"42P05"</tt>.
duplicatePstatement :: String

-- | Is set to <tt>"42P06"</tt>.
duplicateSchema :: String

-- | Is set to <tt>"42P07"</tt>.
duplicateTable :: String

-- | Is set to <tt>"42712"</tt>.
duplicateAlias :: String

-- | Is set to <tt>"42710"</tt>.
duplicateObject :: String

-- | Is set to <tt>"42702"</tt>.
ambiguousColumn :: String

-- | Is set to <tt>"42725"</tt>.
ambiguousFunction :: String

-- | Is set to <tt>"42P08"</tt>.
ambiguousParameter :: String

-- | Is set to <tt>"42P09"</tt>.
ambiguousAlias :: String

-- | Is set to <tt>"42P10"</tt>.
invalidColumnReference :: String

-- | Is set to <tt>"42611"</tt>.
invalidColumnDefinition :: String

-- | Is set to <tt>"42P11"</tt>.
invalidCursorDefinition :: String

-- | Is set to <tt>"42P12"</tt>.
invalidDatabaseDefinition :: String

-- | Is set to <tt>"42P13"</tt>.
invalidFunctionDefinition :: String

-- | Is set to <tt>"42P14"</tt>.
invalidPstatementDefinition :: String

-- | Is set to <tt>"42P15"</tt>.
invalidSchemaDefinition :: String

-- | Is set to <tt>"42P16"</tt>.
invalidTableDefinition :: String

-- | Is set to <tt>"42P17"</tt>.
invalidObjectDefinition :: String

-- | Is set to <tt>"44000"</tt>.
withCheckOptionViolation :: String

-- | Is set to <tt>"53000"</tt>.
insufficientResources :: String

-- | Is set to <tt>"53100"</tt>.
diskFull :: String

-- | Is set to <tt>"53200"</tt>.
outOfMemory :: String

-- | Is set to <tt>"53300"</tt>.
tooManyConnections :: String

-- | Is set to <tt>"54000"</tt>.
programLimitExceeded :: String

-- | Is set to <tt>"54001"</tt>.
statementTooComplex :: String

-- | Is set to <tt>"54011"</tt>.
tooManyColumns :: String

-- | Is set to <tt>"54023"</tt>.
tooManyArguments :: String

-- | Is set to <tt>"55000"</tt>.
objectNotInPrerequisiteState :: String

-- | Is set to <tt>"55006"</tt>.
objectInUse :: String

-- | Is set to <tt>"55P02"</tt>.
cantChangeRuntimeParam :: String

-- | Is set to <tt>"55P03"</tt>.
lockNotAvailable :: String

-- | Is set to <tt>"57000"</tt>.
operatorIntervention :: String

-- | Is set to <tt>"57014"</tt>.
queryCanceled :: String

-- | Is set to <tt>"57P01"</tt>.
adminShutdown :: String

-- | Is set to <tt>"57P02"</tt>.
crashShutdown :: String

-- | Is set to <tt>"57P03"</tt>.
cannotConnectNow :: String

-- | Is set to <tt>"58P01"</tt>.
undefinedFile :: String

-- | Is set to <tt>"58P02"</tt>.
duplicateFile :: String

-- | Is set to <tt>"F0000"</tt>.
configFileError :: String

-- | Is set to <tt>"F0001"</tt>.
lockFileExists :: String

-- | Is set to <tt>"P0000"</tt>.
plpgsqlError :: String

-- | Is set to <tt>"P0001"</tt>.
raiseException :: String

-- | Is set to <tt>"P0002"</tt>.
noDataFound :: String

-- | Is set to <tt>"P0003"</tt>.
tooManyRows :: String

-- | Is set to <tt>"XX000"</tt>.
internalError :: String

-- | Is set to <tt>"XX001"</tt>.
dataCorrupted :: String

-- | Is set to <tt>"XX002"</tt>.
indexCorrupted :: String
