diff --git a/src/main/scala/com/twitter/finagle/postgres/connection/ConnectionStateMachine.scala b/src/main/scala/com/twitter/finagle/postgres/connection/ConnectionStateMachine.scala index e0b79aac..b5e4253f 100644 --- a/src/main/scala/com/twitter/finagle/postgres/connection/ConnectionStateMachine.scala +++ b/src/main/scala/com/twitter/finagle/postgres/connection/ConnectionStateMachine.scala @@ -88,9 +88,8 @@ class ConnectionStateMachine(state: State = AuthenticationRequired, val id: Int) transition { case (EmptyQueryResponse, SimpleQuery) => (None, EmitOnReadyForQuery(SelectResult(Array.empty, List()))) - case (CommandComplete(CreateTable), SimpleQuery) => (None, EmitOnReadyForQuery(CommandCompleteResponse(1))) - case (CommandComplete(CreateType), SimpleQuery) => (None, EmitOnReadyForQuery(CommandCompleteResponse(1))) - case (CommandComplete(CreateExtension), SimpleQuery) => (None, EmitOnReadyForQuery(CommandCompleteResponse(1))) + case (CommandComplete(CreateExtension | CreateFunction | CreateIndex | CreateTable | CreateTrigger | CreateType), SimpleQuery) => + (None, EmitOnReadyForQuery(CommandCompleteResponse(1))) case (CommandComplete(DropTable), SimpleQuery) => (None, EmitOnReadyForQuery(CommandCompleteResponse(1))) case (CommandComplete(Insert(count)), SimpleQuery) => (None, EmitOnReadyForQuery(CommandCompleteResponse(count))) case (CommandComplete(Update(count)), SimpleQuery) => (None, EmitOnReadyForQuery(CommandCompleteResponse(count))) @@ -114,9 +113,8 @@ class ConnectionStateMachine(state: State = AuthenticationRequired, val id: Int) transition { case (EmptyQueryResponse, ExecutePreparedStatement) => (Some(SelectResult(Array.empty, List())), Connected) - case (CommandComplete(CreateTable), ExecutePreparedStatement) => (Some(CommandCompleteResponse(1)), Connected) - case (CommandComplete(CreateType), ExecutePreparedStatement) => (Some(CommandCompleteResponse(1)), Connected) - case (CommandComplete(CreateExtension), ExecutePreparedStatement) => (Some(CommandCompleteResponse(1)), Connected) + case (CommandComplete(CreateExtension | CreateFunction | CreateIndex | CreateTable | CreateType | CreateTrigger), ExecutePreparedStatement) => + (Some(CommandCompleteResponse(1)), Connected) case (CommandComplete(DropTable), ExecutePreparedStatement) => (Some(CommandCompleteResponse(1)), Connected) case (CommandComplete(Insert(count)), ExecutePreparedStatement) => (Some(CommandCompleteResponse(count)), Connected) case (CommandComplete(Update(count)), ExecutePreparedStatement) => (Some(CommandCompleteResponse(count)), Connected) diff --git a/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessageParser.scala b/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessageParser.scala index af639b77..ae14ad5d 100644 --- a/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessageParser.scala +++ b/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessageParser.scala @@ -223,6 +223,9 @@ class BackendMessageParser { case "CREATE TABLE" => CreateTable case "CREATE EXTENSION"=> CreateExtension case "CREATE TYPE" => CreateType + case "CREATE FUNCTION" => CreateFunction + case "CREATE INDEX" => CreateIndex + case "CREATE TRIGGER" => CreateTrigger case "DO" => Do case "DISCARD ALL" => DiscardAll case "DROP TABLE" => DropTable diff --git a/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessages.scala b/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessages.scala index 1ee447e5..d14d3086 100644 --- a/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessages.scala +++ b/src/main/scala/com/twitter/finagle/postgres/messages/BackendMessages.scala @@ -53,6 +53,12 @@ case object CreateType extends CommandCompleteStatus case object CreateExtension extends CommandCompleteStatus +case object CreateFunction extends CommandCompleteStatus + +case object CreateIndex extends CommandCompleteStatus + +case object CreateTrigger extends CommandCompleteStatus + case object DropTable extends CommandCompleteStatus case object DiscardAll extends CommandCompleteStatus