diff options
author | drh <> | 2024-05-23 23:26:04 +0000 |
---|---|---|
committer | drh <> | 2024-05-23 23:26:04 +0000 |
commit | e6d3c572045518a70ff20aaa1ed59d77fc759f40 (patch) | |
tree | a1147e0c55577f5ba93a2454022fa06413931916 /src | |
parent | 294cd87afca712a3fec0506d5cc3af21b73bbd71 (diff) | |
download | sqlite-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.c | 2 |
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); |