def find(schema, variable, package, override_schema_name = nil)
      variable_upcase = variable.to_s.upcase
      schema.select_all(
        "SELECT text FROM all_source
        WHERE owner = :owner
          AND name = :object_name
          AND type = 'PACKAGE'
          AND UPPER(text) LIKE :variable_name",
            override_schema_name || schema.schema_name, package, "%#{variable_upcase}%").each do |row|
        if row[0] =~ /^\s*#{variable_upcase}\s+(CONSTANT\s+)?([A-Z0-9_. %]+(\([\w\s,]+\))?)\s*(NOT\s+NULL)?\s*((:=|DEFAULT).*)?;\s*(--.*)?$/i
          return new(schema, variable, package, $2.strip, override_schema_name)
        end
      end
      nil
    end
def find(schema, variable, package, override_schema_name = nil)
      variable_upcase = variable.to_s.upcase
      schema.select_all(
        "SELECT text FROM all_source
        WHERE owner = :owner
          AND name = :object_name
          AND type = 'PACKAGE'
          AND UPPER(text) LIKE :variable_name",
            override_schema_name || schema.schema_name, package, "%#{variable_upcase}%").each do |row|
        if row[0] =~ /^\s*#{variable_upcase}\s+(CONSTANT\s+)?([A-Z0-9_. %]+(\([\w\s,]+\))?)\s*(NOT\s+NULL)?\s*((:=|DEFAULT).*)?;\s*(--.*)?$/i
          return new(schema, variable, package, $2.strip, override_schema_name)
        end
      end
      nil
    end
:nodoc: