aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2024-05-23 23:26:04 +0000
committerdrh <>2024-05-23 23:26:04 +0000
commite6d3c572045518a70ff20aaa1ed59d77fc759f40 (patch)
treea1147e0c55577f5ba93a2454022fa06413931916 /src
parent294cd87afca712a3fec0506d5cc3af21b73bbd71 (diff)
downloadsqlite-e6d3c572045518a70ff20aaa1ed59d77fc759f40.tar.gz
sqlite-e6d3c572045518a70ff20aaa1ed59d77fc759f40.zip
Fix the window-function group_concat() so that it returns an empty string
if it has one or more empty string inputs. This fixes a bug introduced by [c6da39115d3e2b0f] on 2019-03-26 (version 3.28.0) and reported by [forum/forumpost/bf8f43aa522c2299|forum post bf8f43aa522c2299]. FossilOrigin-Name: cec6bb3fc9932ea78ec8e63d9c2d4e56a4d94b8973b9ea46033cc4baa87c0476
Diffstat (limited to 'src')
-rw-r--r--src/func.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/func.c b/src/func.c
index 18004984d..058f71cb6 100644
--- a/src/func.c
+++ b/src/func.c
@@ -2206,6 +2206,8 @@ static void groupConcatValue(sqlite3_context *context){
sqlite3_result_error_toobig(context);
}else if( pAccum->accError==SQLITE_NOMEM ){
sqlite3_result_error_nomem(context);
+ }else if( pGCC->nAccum>0 && pAccum->nChar==0 ){
+ sqlite3_result_text(context, "", 1, SQLITE_STATIC);
}else{
const char *zText = sqlite3_str_value(pAccum);
sqlite3_result_text(context, zText, pAccum->nChar, SQLITE_TRANSIENT);