Source code for data_access_api.utils.sql_parsers

# Copyright (c) Guy's and St Thomas' NHS Foundation Trust & King's College London
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#     http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

import re


[docs] def extract_missing_identifier(error_msg: str, pattern: str) -> str: """ Extracts the missing table or column name using a regex pattern. Args: error_msg (str): The original error message from psycopg2. pattern (str): The regex pattern to extract the identifier. Returns: str: The extracted identifier or fallback message. """ match = re.search(pattern, error_msg) if match: return match.group(1) return "unknown"