(ctx context.Context, request *v1pb.DiffSchemaRequest)
| 952 | } |
| 953 | |
| 954 | func (s *DatabaseService) getParserEngine(ctx context.Context, request *v1pb.DiffSchemaRequest) (storepb.Engine, error) { |
| 955 | var instanceID string |
| 956 | |
| 957 | if strings.Contains(request.Name, common.ChangelogPrefix) { |
| 958 | insID, _, _, err := common.GetInstanceDatabaseChangelogID(request.Name) |
| 959 | if err != nil { |
| 960 | return storepb.Engine_ENGINE_UNSPECIFIED, connect.NewError(connect.CodeInvalidArgument, errors.Errorf("%v", err.Error())) |
| 961 | } |
| 962 | instanceID = insID |
| 963 | } else { |
| 964 | insID, _, err := common.GetInstanceDatabaseID(request.Name) |
| 965 | if err != nil { |
| 966 | return storepb.Engine_ENGINE_UNSPECIFIED, connect.NewError(connect.CodeInvalidArgument, errors.Errorf("%v", err.Error())) |
| 967 | } |
| 968 | instanceID = insID |
| 969 | } |
| 970 | |
| 971 | instance, err := s.store.GetInstance(ctx, &store.FindInstanceMessage{ |
| 972 | Workspace: common.GetWorkspaceIDFromContext(ctx), |
| 973 | ResourceID: &instanceID, |
| 974 | }) |
| 975 | if err != nil { |
| 976 | return storepb.Engine_ENGINE_UNSPECIFIED, errors.Wrapf(err, "failed to get instance %s", instanceID) |
| 977 | } |
| 978 | if instance == nil { |
| 979 | return storepb.Engine_ENGINE_UNSPECIFIED, connect.NewError(connect.CodeNotFound, errors.Errorf("instance %q not found", instanceID)) |
| 980 | } |
| 981 | |
| 982 | return common.ConvertToParserEngine(instance.Metadata.GetEngine()) |
| 983 | } |
| 984 | |
| 985 | func (s *DatabaseService) convertToDatabase(ctx context.Context, database *store.DatabaseMessage) (*v1pb.Database, error) { |
| 986 | instance, err := s.store.GetInstance(ctx, &store.FindInstanceMessage{ |
no test coverage detected