def _extract_sql_from_text()

in tools/hologres_text2data.py [0:0]


    def _extract_sql_from_text(self, text: str) -> str:
        import re
        """Intelligently extract SQL content (compatible with cases with or without code block wrapping)"""
        # Match cases wrapped in code blocks
        code_block_pattern = r'(?s)```sql(.*?)```'
        code_match = re.search(code_block_pattern, text)
        if code_match:
            return code_match.group(1).strip()
        
        # Match pure SQL not wrapped
        sql_pattern = r'(?si)^\s*((?:SELECT|INSERT|UPDATE|DELETE|WITH|CREATE|ALTER|DROP).+?)(;|$|\n\s*$)'
        sql_match = re.search(sql_pattern, text, re.DOTALL)
        if sql_match:
            # Remove possible non-statement terminators at the end
            sql = sql_match.group(1).rstrip(';').strip()
            return f"{sql};" if sql_match.group(2) == ';' else sql
        
        # Fallback: return SQL-like parts from the original text
        clean_text = re.sub(r'[\n\r\t]+', ' ', text).strip()
        return clean_text if any(kw in clean_text.upper() for kw in ['SELECT', 'FROM', 'WHERE']) else ""