persistentstorage/sql/SQLite/select.c
branchRCL_3
changeset 24 cc28652e0254
parent 23 26645d81f48d
equal deleted inserted replaced
23:26645d81f48d 24:cc28652e0254
  2465   int addrSelectA;      /* Address of the select-A coroutine */
  2465   int addrSelectA;      /* Address of the select-A coroutine */
  2466   int addrSelectB;      /* Address of the select-B coroutine */
  2466   int addrSelectB;      /* Address of the select-B coroutine */
  2467   int regOutA;          /* Address register for the output-A subroutine */
  2467   int regOutA;          /* Address register for the output-A subroutine */
  2468   int regOutB;          /* Address register for the output-B subroutine */
  2468   int regOutB;          /* Address register for the output-B subroutine */
  2469   int addrOutA;         /* Address of the output-A subroutine */
  2469   int addrOutA;         /* Address of the output-A subroutine */
  2470   int addrOutB = 0;     /* Address of the output-B subroutine */
  2470   int addrOutB;         /* Address of the output-B subroutine */
  2471   int addrEofA;         /* Address of the select-A-exhausted subroutine */
  2471   int addrEofA;         /* Address of the select-A-exhausted subroutine */
  2472   int addrEofB;         /* Address of the select-B-exhausted subroutine */
  2472   int addrEofB;         /* Address of the select-B-exhausted subroutine */
  2473   int addrAltB;         /* Address of the A<B subroutine */
  2473   int addrAltB;         /* Address of the A<B subroutine */
  2474   int addrAeqB;         /* Address of the A==B subroutine */
  2474   int addrAeqB;         /* Address of the A==B subroutine */
  2475   int addrAgtB;         /* Address of the A>B subroutine */
  2475   int addrAgtB;         /* Address of the A>B subroutine */
  2480   int savedOffset;      /* Saved value of p->iOffset */
  2480   int savedOffset;      /* Saved value of p->iOffset */
  2481   int labelCmpr;        /* Label for the start of the merge algorithm */
  2481   int labelCmpr;        /* Label for the start of the merge algorithm */
  2482   int labelEnd;         /* Label for the end of the overall SELECT stmt */
  2482   int labelEnd;         /* Label for the end of the overall SELECT stmt */
  2483   int j1;               /* Jump instructions that get retargetted */
  2483   int j1;               /* Jump instructions that get retargetted */
  2484   int op;               /* One of TK_ALL, TK_UNION, TK_EXCEPT, TK_INTERSECT */
  2484   int op;               /* One of TK_ALL, TK_UNION, TK_EXCEPT, TK_INTERSECT */
  2485   KeyInfo *pKeyDup = 0; /* Comparison information for duplicate removal */
  2485   KeyInfo *pKeyDup;     /* Comparison information for duplicate removal */
  2486   KeyInfo *pKeyMerge;   /* Comparison information for merging rows */
  2486   KeyInfo *pKeyMerge;   /* Comparison information for merging rows */
  2487   sqlite3 *db;          /* Database connection */
  2487   sqlite3 *db;          /* Database connection */
  2488   ExprList *pOrderBy;   /* The ORDER BY clause */
  2488   ExprList *pOrderBy;   /* The ORDER BY clause */
  2489   int nOrderBy;         /* Number of terms in the ORDER BY clause */
  2489   int nOrderBy;         /* Number of terms in the ORDER BY clause */
  2490   int *aPermute;        /* Mapping from ORDER BY terms to result set columns */
  2490   int *aPermute;        /* Mapping from ORDER BY terms to result set columns */