Class JdbcReader

Direct Known Subclasses:
ChRelationsReader, CollationsReader, ConstraintsReader, FtsConfigurationsReader, FtsDictionariesReader, FtsParsersReader, FtsTemplatesReader, FunctionsReader, IndicesReader, MsCheckConstraintsReader, MsExtendedObjectsReader, MsFKReader, MsFPVTReader, MsIndicesAndPKReader, MsSequencesReader, MsStatisticsReader, MsTablesReader, MsTypesReader, OperatorsReader, PoliciesReader, RulesReader, SequencesReader, StatisticsReader, TablesReader, TriggersReader, TypesReader, ViewsReader

public abstract class JdbcReader extends AbstractStatementReader
Abstract base class for JDBC readers that process database objects within schemas. Extends AbstractStatementReader to provide schema-aware processing and dependency management.
  • Method Details

    • checkObjectValidity

      public static void checkObjectValidity(Object object, DbObjType type, String name)
      Checks validity of database objects that may be concurrently modified. Functions that accept OID/object name and return metadata are considered unsafe as they can return null if the object was deleted outside the transaction block.
      Parameters:
      object - the object to check for validity
      type - the database object type
      name - the object name
      Throws:
      ConcurrentModificationException - if the object is null (was deleted)
    • checkTypeValidity

      public static void checkTypeValidity(String type)
      Checks type validity for concurrent modifications. Validates that the type is not null or unknown (???) which can occur when functions process metadata of concurrently modified objects.
      Parameters:
      type - the type string to validate
      Throws:
      ConcurrentModificationException - if the type is invalid
    • getColArray

      public static <T> T[] getColArray(ResultSet rs, String columnName) throws SQLException
      Retrieves an array column from the result set.
      Type Parameters:
      T - the array element type
      Parameters:
      rs - the result set
      columnName - the column name containing the array
      Returns:
      the array values, or null if the column is null
      Throws:
      SQLException - if array retrieval fails
    • setFunctionWithDep

      public static <T extends PgStatement> void setFunctionWithDep(BiConsumer<T,String> setter, T statement, String function, String signature)
      Sets a function reference on a statement and adds appropriate dependencies. Parses the function name to extract schema information and adds schema and function dependencies.
      Type Parameters:
      T - the statement type
      Parameters:
      setter - the setter to apply the function value
      statement - the statement to add dependencies to
      function - the function name (possibly schema-qualified)
      signature - the function signature, or null if not applicable