/ Check-in [a97804620a]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Enhance treeview to show SOFT-COLLATE for TK_COLLATE operators that omit the EP_Collate flag.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: a97804620a27acc30bebd2aaa04e38f2f36de48b0931038ca8bdc9cb0c36b8f4
User & Date: drh 2019-09-10 17:51:27
Context
2019-09-11
15:25
Fix typo for one instance of line number handling in the Lemon tool. check-in: 980be1730d user: mistachkin tags: trunk
2019-09-10
17:51
Enhance treeview to show SOFT-COLLATE for TK_COLLATE operators that omit the EP_Collate flag. check-in: a97804620a user: drh tags: trunk
15:33
Ensure the columns of views and sub-queries maintain their implicit collation sequences when the "push-down" optimization is applied. Fix for [18458b1a]. check-in: 36997c4ade user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/treeview.c.

   532    532       case TK_SPAN: {
   533    533         sqlite3TreeViewLine(pView, "SPAN %Q", pExpr->u.zToken);
   534    534         sqlite3TreeViewExpr(pView, pExpr->pLeft, 0);
   535    535         break;
   536    536       }
   537    537   
   538    538       case TK_COLLATE: {
   539         -      sqlite3TreeViewLine(pView, "COLLATE %Q", pExpr->u.zToken);
          539  +      /* COLLATE operators without the EP_Collate flag are intended to
          540  +      ** emulate collation associated with a table column.  Explicit
          541  +      ** COLLATE operators that appear in the original SQL always have
          542  +      ** the EP_Collate bit set */
          543  +      sqlite3TreeViewLine(pView, "%sCOLLATE %Q%s",
          544  +        !ExprHasProperty(pExpr, EP_Collate) ? "SOFT-" : "",
          545  +        pExpr->u.zToken, zFlgs);
   540    546         sqlite3TreeViewExpr(pView, pExpr->pLeft, 0);
   541    547         break;
   542    548       }
   543    549   
   544    550       case TK_AGG_FUNCTION:
   545    551       case TK_FUNCTION: {
   546    552         ExprList *pFarg;       /* List of function arguments */