HHH-14654 Fix for schema validation bug
This commit is contained in:
parent
bdc08af163
commit
7329f444b5
|
@ -42,4 +42,9 @@ public class CockroachDB202SpatialDialect extends CockroachDB201Dialect implemen
|
|||
delegateContributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( isSpatial( typeCode1 ) && isSpatial( typeCode2 ) );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,4 +74,9 @@ public interface CockroachSpatialDialectTrait extends SpatialDialect {
|
|||
return DELEGATE.supports( function );
|
||||
}
|
||||
|
||||
|
||||
default boolean isSpatial(int typeCode) {
|
||||
return DELEGATE.isSpatial( typeCode );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
|
||||
package org.hibernate.spatial.dialect.postgis;
|
||||
|
||||
import java.sql.Types;
|
||||
|
||||
import org.hibernate.spatial.SpatialDialect;
|
||||
import org.hibernate.spatial.SpatialFunction;
|
||||
import org.hibernate.spatial.dialect.SpatialFunctionsRegistry;
|
||||
|
@ -125,4 +127,13 @@ interface PGSpatialDialectTrait extends SpatialDialect {
|
|||
default boolean supports(SpatialFunction function) {
|
||||
return support.supports( function );
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the typeCode is (potentially) the code for a spatial type
|
||||
* @param typeCode the JDBC type code
|
||||
* @return if the typecode corresponds with a spatialt type
|
||||
*/
|
||||
default boolean isSpatial(int typeCode){
|
||||
return support.isSpatial( typeCode );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
package org.hibernate.spatial.dialect.postgis;
|
||||
|
||||
import java.sql.Types;
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.boot.model.TypeContributions;
|
||||
|
@ -36,4 +37,11 @@ public class PostgisPG10Dialect extends PostgreSQL10Dialect implements PGSpatial
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( isSpatial( typeCode1 ) && isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -48,6 +48,11 @@ public class PostgisPG82Dialect extends PostgreSQL82Dialect implements SpatialDi
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( support.isSpatial( typeCode1 ) && support.isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSpatialRelateSQL(String columnName, int spatialRelation) {
|
||||
|
|
|
@ -48,6 +48,12 @@ public class PostgisPG91Dialect extends PostgreSQL91Dialect implements SpatialDi
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( support.isSpatial( typeCode1 ) && support.isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the SQL fragment for the SQL WHERE-clause when parsing
|
||||
* <code>org.hibernatespatial.criterion.SpatialRelateExpression</code>s
|
||||
|
|
|
@ -48,6 +48,12 @@ public class PostgisPG92Dialect extends PostgreSQL92Dialect implements SpatialDi
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( support.isSpatial( typeCode1 ) && support.isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the SQL fragment for the SQL WHERE-clause when parsing
|
||||
* <code>org.hibernatespatial.criterion.SpatialRelateExpression</code>s
|
||||
|
|
|
@ -48,6 +48,12 @@ public class PostgisPG93Dialect extends PostgreSQL93Dialect implements SpatialDi
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( support.isSpatial( typeCode1 ) && support.isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the SQL fragment for the SQL WHERE-clause when parsing
|
||||
* <code>org.hibernatespatial.criterion.SpatialRelateExpression</code>s
|
||||
|
|
|
@ -48,6 +48,12 @@ public class PostgisPG94Dialect extends PostgreSQL94Dialect implements SpatialDi
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( support.isSpatial( typeCode1 ) && support.isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the SQL fragment for the SQL WHERE-clause when parsing
|
||||
* <code>org.hibernatespatial.criterion.SpatialRelateExpression</code>s
|
||||
|
|
|
@ -42,4 +42,9 @@ public class PostgisPG95Dialect extends PostgreSQL95Dialect implements PGSpatial
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( isSpatial( typeCode1 ) && isSpatial( typeCode2 ) );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,6 +48,12 @@ public class PostgisPG9Dialect extends PostgreSQL9Dialect implements SpatialDial
|
|||
support.contributeTypes( typeContributions, serviceRegistry );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equivalentTypes(int typeCode1, int typeCode2) {
|
||||
return super.equivalentTypes( typeCode1, typeCode2 ) ||
|
||||
( support.isSpatial( typeCode1 ) && support.isSpatial( typeCode2 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the SQL fragment for the SQL WHERE-clause when parsing
|
||||
* <code>org.hibernatespatial.criterion.SpatialRelateExpression</code>s
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
package org.hibernate.spatial.dialect.postgis;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Types;
|
||||
|
||||
import org.hibernate.boot.model.TypeContributions;
|
||||
import org.hibernate.service.ServiceRegistry;
|
||||
|
@ -47,6 +48,10 @@ public class PostgisSupport implements SpatialDialect, Serializable {
|
|||
return postgisFunctions;
|
||||
}
|
||||
|
||||
public boolean isSpatial(int typeCode){
|
||||
return typeCode == Types.OTHER || typeCode == PGGeometryTypeDescriptor.INSTANCE_WKB_1.getSqlType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the SQL fragment for the SQL WHERE-clause when parsing
|
||||
* <code>org.hibernatespatial.criterion.SpatialRelateExpression</code>s
|
||||
|
|
Loading…
Reference in New Issue