bool PgSQLType::canCastTo(PgSQLType type) { // If the types are the same of belongs to the same category they naturally can be casted if(this->type_idx==type.type_idx || (isCharacterType() && type.isCharacterType()) || (isDateTimeType() && type.isDateTimeType()) || (isNumericType() && type.isNumericType()) || (isNetworkType() && type.isNetworkType()) || //Polymorphics anyarray, anyrange, anynoarray, anyenum to anyelement ((isPolymorphicType() && type==QString("anyelement")) || ((*this)==QString("anyelement") && type.isPolymorphicType())) || //Character to network address ((isCharacterType() || isNetworkType()) && (type.isCharacterType() || type.isNetworkType())) || //Integer to OID ((isIntegerType() || isOIDType()) && (type.isIntegerType() || type.isOIDType())) || //abstime to integer ((((*this)==QString("integer") || (*this)==QString("int4")) && type==QString("abstime")) || (((*this)==QString("abstime") && (type==QString("integer") || type==QString("int4")))))) return(true); return(false); }
bool PgSQLType::acceptsPrecision(void) { return(isNumericType() || (!isUserType() && type_list[this->type_idx]!=QString("date") && isDateTimeType())); }
bool PgSQLType::acceptsPrecision(void) { return(isNumericType() || (type_list[this->type_idx]!="date" && isDateTimeType())); }