-- 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
--   
--   NOTE ON DATES AND TIMES
--   
--   The recommended correspondence between PostgreSQL date and time types
--   and HDBC SqlValue types is:
--   
--   
--   
- SqlLocalDate: DATE
--   
- SqlLocalTimeOfDay: TIME WITHOUT TIME ZONE
--   
- SqlZonedLocalTimeOfDay: TIME WITH TIME ZONE
--   
- SqlLocalTime: TIMESTAMP WITHOUT TIME ZONE
--   
- SqlZonedTime: TIMESTAMP WITH TIME ZONE
--   
- SqlUTCTime: TIMESTAMP WITH TIME ZONE
--   
- SqlDiffTime: INTERVAL
--   
- SqlPOSIXTime: NUMERIC
--   
- SqlEpochTime: INTEGER
--   
- SqlTimeDiff: INTERVAL
--   
--   
--   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
--   http://www.postgresql.org/docs/8.1/static/libpq.html#LIBPQ-CONNECT
--   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 "58030".
ioError :: String

-- | Is set to "00000".
successfulCompletion :: String

-- | Is set to "01000".
warning :: String

-- | Is set to "0100C".
warningDynamicResultSetsReturned :: String

-- | Is set to "01008".
warningImplicitZeroBitPadding :: String

-- | Is set to "01003".
warningNullValueEliminatedInSetFunction :: String

-- | Is set to "01007".
warningPrivilegeNotGranted :: String

-- | Is set to "01006".
warningPrivilegeNotRevoked :: String

-- | Is set to "01004".
warningStringDataRightTruncation :: String

-- | Is set to "01P01".
warningDeprecatedFeature :: String

-- | Is set to "02000".
noData :: String

-- | Is set to "02001".
noAdditionalDynamicResultSetsReturned :: String

-- | Is set to "03000".
sqlStatementNotYetComplete :: String

-- | Is set to "08000".
connectionException :: String

-- | Is set to "08003".
connectionDoesNotExist :: String

-- | Is set to "08006".
connectionFailure :: String

-- | Is set to "08001".
sqlclientUnableToEstablishSqlconnection :: String

-- | Is set to "08004".
sqlserverRejectedEstablishmentOfSqlconnection :: String

-- | Is set to "08007".
transactionResolutionUnknown :: String

-- | Is set to "08P01".
protocolViolation :: String

-- | Is set to "09000".
triggeredActionException :: String

-- | Is set to "0A000".
featureNotSupported :: String

-- | Is set to "0B000".
invalidTransactionInitiation :: String

-- | Is set to "0F000".
locatorException :: String

-- | Is set to "0F001".
lEInvalidSpecification :: String

-- | Is set to "0L000".
invalidGrantor :: String

-- | Is set to "0LP01".
invalidGrantOperation :: String

-- | Is set to "0P000".
invalidRoleSpecification :: String

-- | Is set to "21000".
cardinalityViolation :: String

-- | Is set to "22000".
dataException :: String

-- | Is set to "2202E".
arrayElementError :: String

-- | Same as arrayElementError.
arraySubscriptError :: String

-- | Is set to "22021".
characterNotInRepertoire :: String

-- | Is set to "22008".
datetimeFieldOverflow :: String

-- | Same as datetimeFieldOverflow.
datetimeValueOutOfRange :: String

-- | Is set to "22012".
divisionByZero :: String

-- | Is set to "22005".
errorInAssignment :: String

-- | Is set to "2200B".
escapeCharacterConflict :: String

-- | Is set to "22022".
indicatorOverflow :: String

-- | Is set to "22015".
intervalFieldOverflow :: String

-- | Is set to "2201E".
invalidArgumentForLog :: String

-- | Is set to "2201F".
invalidArgumentForPowerFunction :: String

-- | Is set to "2201G".
invalidArgumentForWidthBucketFunction :: String

-- | Is set to "22018".
invalidCharacterValueForCast :: String

-- | Is set to "22007".
invalidDatetimeFormat :: String

-- | Is set to "22019".
invalidEscapeCharacter :: String

-- | Is set to "2200D".
invalidEscapeOctet :: String

-- | Is set to "22025".
invalidEscapeSequence :: String

-- | Is set to "22P06".
nonstandardUseOfEscapeCharacter :: String

-- | Is set to "22010".
invalidIndicatorParameterValue :: String

-- | Is set to "22020".
invalidLimitValue :: String

-- | Is set to "22023".
invalidParameterValue :: String

-- | Is set to "2201B".
invalidRegularExpression :: String

-- | Is set to "22009".
invalidTimeZoneDisplacementValue :: String

-- | Is set to "2200C".
invalidUseOfEscapeCharacter :: String

-- | Is set to "2200G".
mostSpecificTypeMismatch :: String

-- | Is set to "22004".
nullValueNotAllowed :: String

-- | Is set to "22002".
nullValueNoIndicatorParameter :: String

-- | Is set to "22003".
numericValueOutOfRange :: String

-- | Is set to "22026".
stringDataLengthMismatch :: String

-- | Is set to "22001".
stringDataRightTruncation :: String

-- | Is set to "22011".
substringError :: String

-- | Is set to "22027".
trimError :: String

-- | Is set to "22024".
unterminatedCString :: String

-- | Is set to "2200F".
zeroLengthCharacterString :: String

-- | Is set to "22P01".
floatingPointException :: String

-- | Is set to "22P02".
invalidTextRepresentation :: String

-- | Is set to "22P03".
invalidBinaryRepresentation :: String

-- | Is set to "22P04".
badCopyFileFormat :: String

-- | Is set to "22P05".
untranslatableCharacter :: String

-- | Is set to "2200L".
notAnXmlDocument :: String

-- | Is set to "2200M".
invalidXmlDocument :: String

-- | Is set to "2200N".
invalidXmlContent :: String

-- | Is set to "2200S".
invalidXmlComment :: String

-- | Is set to "2200T".
invalidXmlProcessingInstruction :: String

-- | Is set to "23000".
integrityConstraintViolation :: String

-- | Is set to "23001".
restrictViolation :: String

-- | Is set to "23502".
notNullViolation :: String

-- | Is set to "23503".
foreignKeyViolation :: String

-- | Is set to "23505".
uniqueViolation :: String

-- | Is set to "23514".
checkViolation :: String

-- | Is set to "24000".
invalidCursorState :: String

-- | Is set to "25000".
invalidTransactionState :: String

-- | Is set to "25001".
activeSqlTransaction :: String

-- | Is set to "25002".
branchTransactionAlreadyActive :: String

-- | Is set to "25008".
heldCursorRequiresSameIsolationLevel :: String

-- | Is set to "25003".
inappropriateAccessModeForBranchTransaction :: String

-- | Is set to "25004".
inappropriateIsolationLevelForBranchTransaction :: String

-- | Is set to "25005".
noActiveSqlTransactionForBranchTransaction :: String

-- | Is set to "25006".
readOnlySqlTransaction :: String

-- | Is set to "25007".
schemaAndDataStatementMixingNotSupported :: String

-- | Is set to "25P01".
noActiveSqlTransaction :: String

-- | Is set to "25P02".
inFailedSqlTransaction :: String

-- | Is set to "26000".
invalidSqlStatementName :: String

-- | Is set to "27000".
triggeredDataChangeViolation :: String

-- | Is set to "28000".
invalidAuthorizationSpecification :: String

-- | Is set to "2B000".
dependentPrivilegeDescriptorsStillExist :: String

-- | Is set to "2BP01".
dependentObjectsStillExist :: String

-- | Is set to "2D000".
invalidTransactionTermination :: String

-- | Is set to "2F000".
sqlRoutineException :: String

-- | Is set to "2F005".
sREFunctionExecutedNoReturnStatement :: String

-- | Is set to "2F002".
sREModifyingSqlDataNotPermitted :: String

-- | Is set to "2F003".
sREProhibitedSqlStatementAttempted :: String

-- | Is set to "2F004".
sREReadingSqlDataNotPermitted :: String

-- | Is set to "34000".
invalidCursorName :: String

-- | Is set to "38000".
externalRoutineException :: String

-- | Is set to "38001".
eREContainingSqlNotPermitted :: String

-- | Is set to "38002".
eREModifyingSqlDataNotPermitted :: String

-- | Is set to "38003".
eREProhibitedSqlStatementAttempted :: String

-- | Is set to "38004".
eREReadingSqlDataNotPermitted :: String

-- | Is set to "39000".
externalRoutineInvocationException :: String

-- | Is set to "39001".
eRIEInvalidSqlstateReturned :: String

-- | Is set to "39004".
eRIENullValueNotAllowed :: String

-- | Is set to "39P01".
eRIETriggerProtocolViolated :: String

-- | Is set to "39P02".
eRIESrfProtocolViolated :: String

-- | Is set to "3B000".
savepointException :: String

-- | Is set to "3B001".
sEInvalidSpecification :: String

-- | Is set to "3D000".
invalidCatalogName :: String

-- | Is set to "3F000".
invalidSchemaName :: String

-- | Is set to "40000".
transactionRollback :: String

-- | Is set to "40002".
tRIntegrityConstraintViolation :: String

-- | Is set to "40001".
tRSerializationFailure :: String

-- | Is set to "40003".
tRStatementCompletionUnknown :: String

-- | Is set to "40P01".
tRDeadlockDetected :: String

-- | Is set to "42000".
syntaxErrorOrAccessRuleViolation :: String

-- | Is set to "42601".
syntaxError :: String

-- | Is set to "42501".
insufficientPrivilege :: String

-- | Is set to "42846".
cannotCoerce :: String

-- | Is set to "42803".
groupingError :: String

-- | Is set to "42830".
invalidForeignKey :: String

-- | Is set to "42602".
invalidName :: String

-- | Is set to "42622".
nameTooLong :: String

-- | Is set to "42939".
reservedName :: String

-- | Is set to "42804".
datatypeMismatch :: String

-- | Is set to "42P18".
indeterminateDatatype :: String

-- | Is set to "42809".
wrongObjectType :: String

-- | Is set to "42703".
undefinedColumn :: String

-- | Same as invalidCursorName.
undefinedCursor :: String

-- | Same as invalidCatalogName.
undefinedDatabase :: String

-- | Is set to "42883".
undefinedFunction :: String

-- | Same as invalidSqlStatementName.
undefinedPstatement :: String

-- | Same as invalidSchemaName.
undefinedSchema :: String

-- | Is set to "42P01".
undefinedTable :: String

-- | Is set to "42P02".
undefinedParameter :: String

-- | Is set to "42704".
undefinedObject :: String

-- | Is set to "42701".
duplicateColumn :: String

-- | Is set to "42P03".
duplicateCursor :: String

-- | Is set to "42P04".
duplicateDatabase :: String

-- | Is set to "42723".
duplicateFunction :: String

-- | Is set to "42P05".
duplicatePstatement :: String

-- | Is set to "42P06".
duplicateSchema :: String

-- | Is set to "42P07".
duplicateTable :: String

-- | Is set to "42712".
duplicateAlias :: String

-- | Is set to "42710".
duplicateObject :: String

-- | Is set to "42702".
ambiguousColumn :: String

-- | Is set to "42725".
ambiguousFunction :: String

-- | Is set to "42P08".
ambiguousParameter :: String

-- | Is set to "42P09".
ambiguousAlias :: String

-- | Is set to "42P10".
invalidColumnReference :: String

-- | Is set to "42611".
invalidColumnDefinition :: String

-- | Is set to "42P11".
invalidCursorDefinition :: String

-- | Is set to "42P12".
invalidDatabaseDefinition :: String

-- | Is set to "42P13".
invalidFunctionDefinition :: String

-- | Is set to "42P14".
invalidPstatementDefinition :: String

-- | Is set to "42P15".
invalidSchemaDefinition :: String

-- | Is set to "42P16".
invalidTableDefinition :: String

-- | Is set to "42P17".
invalidObjectDefinition :: String

-- | Is set to "44000".
withCheckOptionViolation :: String

-- | Is set to "53000".
insufficientResources :: String

-- | Is set to "53100".
diskFull :: String

-- | Is set to "53200".
outOfMemory :: String

-- | Is set to "53300".
tooManyConnections :: String

-- | Is set to "54000".
programLimitExceeded :: String

-- | Is set to "54001".
statementTooComplex :: String

-- | Is set to "54011".
tooManyColumns :: String

-- | Is set to "54023".
tooManyArguments :: String

-- | Is set to "55000".
objectNotInPrerequisiteState :: String

-- | Is set to "55006".
objectInUse :: String

-- | Is set to "55P02".
cantChangeRuntimeParam :: String

-- | Is set to "55P03".
lockNotAvailable :: String

-- | Is set to "57000".
operatorIntervention :: String

-- | Is set to "57014".
queryCanceled :: String

-- | Is set to "57P01".
adminShutdown :: String

-- | Is set to "57P02".
crashShutdown :: String

-- | Is set to "57P03".
cannotConnectNow :: String

-- | Is set to "58P01".
undefinedFile :: String

-- | Is set to "58P02".
duplicateFile :: String

-- | Is set to "F0000".
configFileError :: String

-- | Is set to "F0001".
lockFileExists :: String

-- | Is set to "P0000".
plpgsqlError :: String

-- | Is set to "P0001".
raiseException :: String

-- | Is set to "P0002".
noDataFound :: String

-- | Is set to "P0003".
tooManyRows :: String

-- | Is set to "XX000".
internalError :: String

-- | Is set to "XX001".
dataCorrupted :: String

-- | Is set to "XX002".
indexCorrupted :: String
