From e9b228b4d38283baa098e572a23475935dab0bcb Mon Sep 17 00:00:00 2001 From: KaiGai Kohei Date: Tue, 2 Apr 2024 23:45:04 +0900 Subject: [PATCH] bpchar's write_datum handler follows atttypmod, to add padding space if string is smaller issue reported at #746 --- src/xpu_textlib.cu | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xpu_textlib.cu b/src/xpu_textlib.cu index ef0e71c7d..10d9393be 100644 --- a/src/xpu_textlib.cu +++ b/src/xpu_textlib.cu @@ -170,10 +170,14 @@ xpu_bpchar_datum_write(kern_context *kcxt, } else { - nbytes = VARHDRSZ + arg->length; + int sz = VARHDRSZ + arg->length; + + nbytes = Max(sz, cmeta->atttypmod); if (buffer) { memcpy(buffer+VARHDRSZ, arg->value, arg->length); + if (sz < cmeta->atttypmod) + memset(buffer+sz, ' ', cmeta->atttypmod - sz); SET_VARSIZE(buffer, nbytes); } }