Skip to content

Commit d7b6b57

Browse files
committed
Support altering type to decfloat
1 parent ccfb567 commit d7b6b57

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/dsql/DdlNodes.epp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4475,6 +4475,8 @@ void AlterDomainNode::checkUpdate(const dyn_fld& origFld, const dyn_fld& newFld)
44754475
case blr_d_float:
44764476
case blr_double:
44774477
case blr_float:
4478+
case blr_dec64:
4479+
case blr_dec128:
44784480
switch (newFld.dyn_dtype)
44794481
{
44804482
case blr_blob:
@@ -4571,6 +4573,44 @@ void AlterDomainNode::checkUpdate(const dyn_fld& origFld, const dyn_fld& newFld)
45714573
}
45724574
break;
45734575

4576+
case blr_dec64:
4577+
switch (origFld.dyn_dtype)
4578+
{
4579+
case blr_short:
4580+
case blr_long:
4581+
case blr_float:
4582+
case blr_d_float:
4583+
case blr_double:
4584+
case blr_dec64:
4585+
break;
4586+
4587+
default:
4588+
// Cannot change datatype for column %s. Conversion from base type %s to base type %s is not supported.
4589+
errorCode = isc_dyn_invalid_dtype_conversion;
4590+
break;
4591+
}
4592+
break;
4593+
4594+
case blr_dec128:
4595+
switch (origFld.dyn_dtype)
4596+
{
4597+
case blr_short:
4598+
case blr_long:
4599+
case blr_int64:
4600+
case blr_float:
4601+
case blr_d_float:
4602+
case blr_double:
4603+
case blr_dec64:
4604+
case blr_dec128:
4605+
break;
4606+
4607+
default:
4608+
// Cannot change datatype for column %s. Conversion from base type %s to base type %s is not supported.
4609+
errorCode = isc_dyn_invalid_dtype_conversion;
4610+
break;
4611+
}
4612+
break;
4613+
45744614
// If the original field is a numeric field and the new field is a character field,
45754615
// is there enough space in the new field?
45764616
case blr_text:

0 commit comments

Comments
 (0)