Thanks a lot!
But please, apply this diff:
diff --git a/src/box/sql/select.c b/src/box/sql/select.c
index 7a7728992..0b610dca7 100644
--- a/src/box/sql/select.c
+++ b/src/box/sql/select.c
@@ -1994,8 +1994,10 @@ computeLimitRegisters(Parse * pParse, Select * p, int iBreak)
assert(p->pOffset == 0 || p->pLimit != 0);
if (p->pLimit) {
if((p->pLimit->flags & EP_Collate) != 0 ||
- (p->pOffset && (p->pOffset->flags & EP_Collate) != 0)) {
- sqlite3ErrorMsg(pParse, "near \"COLLATE\": syntax error");
+ (p->pOffset != NULL &&
+ (p->pOffset->flags & EP_Collate) != 0)) {
+ sqlite3ErrorMsg(pParse, "near \"COLLATE\": "\
+ "syntax error");
return;
}
p->iLimit = iLimit = ++pParse->nMem;
In your patch sqlite3ErrorMsg was out of 80 symbols, and pointer p->pOffset must be checked
on != NULL explicitly. (I see, that other SQLite3 code does not this, but we will fix
this gradually).