connectors/rocketmq-connect-doris/src/main/java/org/apache/rocketmq/connect/doris/schema/column/ColumnDefinition.java [204:295]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public int precision() {
        return precision;
    }

    /**
     * Gets the column's number of digits to right of the decimal point. 0 is returned for data types
     * where the scale is not applicable.
     *
     * @return scale
     */
    public int scale() {
        return scale;
    }

    /**
     * Retrieves the column's JDBC type.
     *
     * @return SQL type from java.sql.Types
     * @see Types
     */
    public int type() {
        return jdbcType;
    }

    /**
     * Retrieves the designated column's database-specific type name.
     *
     * @return type name used by the database. If the column type is a user-defined type, then a
     * fully-qualified type name is returned.
     */
    public String typeName() {
        return typeName;
    }

    /**
     * Indicates whether the designated column is mutable.
     *
     * @return the mutability; never null
     */
    public Mutability mutability() {
        return mutability;
    }

    /**
     * Returns the fully-qualified name of the Java class whose instances are manufactured if the
     * method {@link java.sql.ResultSet#getObject(int)} is called to retrieve a value from the column.
     * {@link java.sql.ResultSet#getObject(int)} may return a subclass of the class returned by this
     * method.
     *
     * @return the fully-qualified name of the class in the Java programming language that would be
     * used by the method <code>ResultSet.getObject</code> to retrieve the value in the specified
     * column. This is the class name used for custom mapping.
     */
    public String classNameForType() {
        return classNameForType;
    }


    @Override
    public int hashCode() {
        return id.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }
        if (obj instanceof ColumnDefinition) {
            ColumnDefinition that = (ColumnDefinition) obj;
            return Objects.equals(this.id, that.id)
                    && this.jdbcType == that.jdbcType
                    && this.displaySize == that.displaySize
                    && this.precision == that.precision
                    && this.scale == that.scale
                    && this.autoIncremented == that.autoIncremented
                    && this.caseSensitive == that.caseSensitive
                    && this.searchable == that.searchable
                    && this.currency == that.currency
                    && this.signedNumbers == that.signedNumbers
                    && this.nullability == that.nullability
                    && Objects.equals(this.typeName, that.typeName)
                    && Objects.equals(this.classNameForType, that.classNameForType)
                    && Objects.equals(this.isPrimaryKey, that.isPrimaryKey);
        }
        return false;
    }

    @Override
    public String toString() {
        return "Column{'" + id.name() + '\'' + ", isPrimaryKey=" + isPrimaryKey + ", allowsNull="
                + isOptional() + ", sqlType=" + typeName + '}';
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



connectors/rocketmq-connect-jdbc/src/main/java/org/apache/rocketmq/connect/jdbc/schema/column/ColumnDefinition.java [205:296]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public int precision() {
        return precision;
    }

    /**
     * Gets the column's number of digits to right of the decimal point. 0 is returned for data types
     * where the scale is not applicable.
     *
     * @return scale
     */
    public int scale() {
        return scale;
    }

    /**
     * Retrieves the column's JDBC type.
     *
     * @return SQL type from java.sql.Types
     * @see Types
     */
    public int type() {
        return jdbcType;
    }

    /**
     * Retrieves the designated column's database-specific type name.
     *
     * @return type name used by the database. If the column type is a user-defined type, then a
     * fully-qualified type name is returned.
     */
    public String typeName() {
        return typeName;
    }

    /**
     * Indicates whether the designated column is mutable.
     *
     * @return the mutability; never null
     */
    public Mutability mutability() {
        return mutability;
    }

    /**
     * Returns the fully-qualified name of the Java class whose instances are manufactured if the
     * method {@link java.sql.ResultSet#getObject(int)} is called to retrieve a value from the column.
     * {@link java.sql.ResultSet#getObject(int)} may return a subclass of the class returned by this
     * method.
     *
     * @return the fully-qualified name of the class in the Java programming language that would be
     * used by the method <code>ResultSet.getObject</code> to retrieve the value in the specified
     * column. This is the class name used for custom mapping.
     */
    public String classNameForType() {
        return classNameForType;
    }


    @Override
    public int hashCode() {
        return id.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }
        if (obj instanceof ColumnDefinition) {
            ColumnDefinition that = (ColumnDefinition) obj;
            return Objects.equals(this.id, that.id)
                    && this.jdbcType == that.jdbcType
                    && this.displaySize == that.displaySize
                    && this.precision == that.precision
                    && this.scale == that.scale
                    && this.autoIncremented == that.autoIncremented
                    && this.caseSensitive == that.caseSensitive
                    && this.searchable == that.searchable
                    && this.currency == that.currency
                    && this.signedNumbers == that.signedNumbers
                    && this.nullability == that.nullability
                    && Objects.equals(this.typeName, that.typeName)
                    && Objects.equals(this.classNameForType, that.classNameForType)
                    && Objects.equals(this.isPrimaryKey, that.isPrimaryKey);
        }
        return false;
    }

    @Override
    public String toString() {
        return "Column{'" + id.name() + '\'' + ", isPrimaryKey=" + isPrimaryKey + ", allowsNull="
                + isOptional() + ", sqlType=" + typeName + '}';
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



