Class MsParserUtils

java.lang.Object
org.pgcodekeeper.core.database.ms.parser.MsParserUtils

public final class MsParserUtils extends Object
Utility methods for Microsoft SQL parsing with ANTLR.

Provides helper functions for working with Microsoft SQL syntax during ANTLR-based parsing

  • Method Details

    • createSqlParser

      public static TSQLParser createSqlParser(String sql, String parsedObjectName, List<Object> errors)
      Creates a Microsoft SQL parser from string input.
      Parameters:
      sql - T-SQL string to parse
      parsedObjectName - name of the object being parsed (for error reporting)
      errors - list to collect parsing errors
      Returns:
      configured TSQLParser instance
    • createSqlParser

      public static TSQLParser createSqlParser(InputStream is, String charset, String parsedObjectName, List<Object> errors) throws IOException
      Creates a Microsoft SQL parser from input stream.
      Parameters:
      is - input stream containing T-SQL
      charset - character encoding of the stream
      parsedObjectName - name of the object being parsed (for error reporting)
      errors - list to collect parsing errors
      Returns:
      configured TSQLParser instance
      Throws:
      IOException - if there's an error reading the stream
    • parseSqlStream

      public static void parseSqlStream(InputStreamProvider inputStream, String parsedObjectName, DiffSettings diffSettings, int monitoringLevel, IMsContextProcessor listener, Queue<AntlrTask<?>> antlrTasks)
      Parses Microsoft SQL stream asynchronously.
      Parameters:
      inputStream - provider of the input stream
      parsedObjectName - name of the object being parsed
      diffSettings - unified context object containing settings, monitor, and error accumulator
      monitoringLevel - level of parse tree monitoring
      listener - processor for the parsed content
      antlrTasks - queue for parser tasks
    • checkToClean

      public static void checkToClean(long cleaningInterval)
      Checks if parser caches need cleaning based on last usage time.
      Parameters:
      cleaningInterval - time interval in milliseconds after which cache should be cleaned
    • cleanCacheMsParser

      public static void cleanCacheMsParser()
      Clears the MS SQL parser cache.