(
&self,
request: Request<Action>,
)
| 862 | } |
| 863 | |
| 864 | async fn do_action( |
| 865 | &self, |
| 866 | request: Request<Action>, |
| 867 | ) -> Result<Response<Self::DoActionStream>, Status> { |
| 868 | if request.get_ref().r#type == CREATE_PREPARED_STATEMENT { |
| 869 | let any = Any::decode(&*request.get_ref().body).map_err(decode_error_to_status)?; |
| 870 | |
| 871 | let cmd: ActionCreatePreparedStatementRequest = any |
| 872 | .unpack() |
| 873 | .map_err(arrow_error_to_status)? |
| 874 | .ok_or_else(|| { |
| 875 | Status::invalid_argument( |
| 876 | "Unable to unpack ActionCreatePreparedStatementRequest.", |
| 877 | ) |
| 878 | })?; |
| 879 | let stmt = self |
| 880 | .do_action_create_prepared_statement(cmd, request) |
| 881 | .await?; |
| 882 | let output = futures::stream::iter(vec![Ok(super::super::r#gen::Result { |
| 883 | body: stmt.as_any().encode_to_vec().into(), |
| 884 | })]); |
| 885 | return Ok(Response::new(Box::pin(output))); |
| 886 | } else if request.get_ref().r#type == CLOSE_PREPARED_STATEMENT { |
| 887 | let any = Any::decode(&*request.get_ref().body).map_err(decode_error_to_status)?; |
| 888 | |
| 889 | let cmd: ActionClosePreparedStatementRequest = any |
| 890 | .unpack() |
| 891 | .map_err(arrow_error_to_status)? |
| 892 | .ok_or_else(|| { |
| 893 | Status::invalid_argument( |
| 894 | "Unable to unpack ActionClosePreparedStatementRequest.", |
| 895 | ) |
| 896 | })?; |
| 897 | self.do_action_close_prepared_statement(cmd, request) |
| 898 | .await?; |
| 899 | return Ok(Response::new(Box::pin(futures::stream::empty()))); |
| 900 | } else if request.get_ref().r#type == CREATE_PREPARED_SUBSTRAIT_PLAN { |
| 901 | let any = Any::decode(&*request.get_ref().body).map_err(decode_error_to_status)?; |
| 902 | |
| 903 | let cmd: ActionCreatePreparedSubstraitPlanRequest = any |
| 904 | .unpack() |
| 905 | .map_err(arrow_error_to_status)? |
| 906 | .ok_or_else(|| { |
| 907 | Status::invalid_argument( |
| 908 | "Unable to unpack ActionCreatePreparedSubstraitPlanRequest.", |
| 909 | ) |
| 910 | })?; |
| 911 | self.do_action_create_prepared_substrait_plan(cmd, request) |
| 912 | .await?; |
| 913 | return Ok(Response::new(Box::pin(futures::stream::empty()))); |
| 914 | } else if request.get_ref().r#type == BEGIN_TRANSACTION { |
| 915 | let any = Any::decode(&*request.get_ref().body).map_err(decode_error_to_status)?; |
| 916 | |
| 917 | let cmd: ActionBeginTransactionRequest = any |
| 918 | .unpack() |
| 919 | .map_err(arrow_error_to_status)? |
| 920 | .ok_or_else(|| { |
| 921 | Status::invalid_argument("Unable to unpack ActionBeginTransactionRequest.") |
nothing calls this directly
no test coverage detected