In order to use the new squeak PostgresV2 client
which uses the MD5 authentication on the new version
of Postgres you need to update the state table with
the following method and run the self
resetStateTransitionTable method. You can find the
squeak postgresV2 client on www.squeaksource.com
Ron Teitelbaum
US Medical Record Specialists
Ron@USMedRec.com
PGConnection class>>buildStateTransitionTable
"self resetStateTransitionTable"
"rh 6/8/2005 23:02 added handling of empty response
EmptyQueryResponse"
^#(
(Created (
(Startup Startup)))
(Startup (
(AuthenticationKerberosV4
UnsupportedAuthentication)
(AuthenticationKerberosV5
UnsupportedAuthentication)
(AuthenticationCleartextPassword
SendingCleartextPassword)
(AuthenticationCryptPassword
UnsupportedAuthentication)
(AuthenticationMD5Password
SendingMD5Password)
(AuthenticationSCMCredential
UnsupportedAuthentication)
(AuthenticationOk AuthenticationOk)
(ConnectionFailed ConnectionFailed)
(Terminate Terminated)
(ErrorResponse TerminalError)))
(SendingCleartextPassword (
(AuthenticationOk AuthenticationOk)
(Terminate Terminated)
(ErrorResponse TerminalError)))
(SendingMD5Password (
(AuthenticationOk AuthenticationOk)
(Terminate Terminated)
(ErrorResponse TerminalError)))
(UnsupportedAuthentication (
(Terminate Terminated)))
(AuthenticationOk (
(BackendKeyData GotBackendKeyData)
(Terminate Terminated)
(ErrorResponse TerminalError)))
(GotBackendKeyData (
(ReadyForQuery ReadyForQuery)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(ReadyForQuery (
(Query Querying)
(FunctionCall FunctionCall)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(Querying (
(CursorResponse GotCursor)
(CopyOutResponse GotCopyOut)
(CopyInResponse GotCopyIn)
(CompletedResponse GotCompleted)
(EmptyQueryResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(FunctionCall (
(FunctionResultResponse
GotFunctionResult)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotCursor (
(RowDescription GotRowDescription)
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotRowDescription (
(AsciiRow GotRow)
(BinaryRow GotRow)
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotRow (
(AsciiRow GotRow)
(BinaryRow GotRow)
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotCopyOut (
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotCopyIn (
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotFunctionResult (
(ReadyForQuery ReadyForQuery)
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(GotCompleted (
(ReadyForQuery ReadyForQuery)
(CursorResponse GotCursor)
(CompletedResponse GotCompleted)
(Terminate Terminated)
(ErrorResponse ErrorResponse)))
(Terminated (
(Startup Startup)))
(ConnectionFailed (
(Startup Startup)
(Query EventIgnored)
(FunctionCall EventIgnored)
(Terminate EventIgnored)))
(ErrorResponse (
(Terminate Terminated)
(ReadyForQuery ReadyForQuery)
(CompletedResponse GotCompleted)))
(TerminalError (
))
)
inject: Dictionary new
into: [:table :each |
table
at: (each at: 1)
put: ((each at: 2)
inject:
Dictionary new
into:
[:stateTransitions :transition |
stateTransitions at: (transition at: 1) put:
(transition at: 2).
stateTransitions]).
table].
Nobody/Anonymous
None
None
Public
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use