/ Check-in [dea7d33b]
Login

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

Overview
Comment:Change a comment inside a block of code in parse.y from C++ to C style.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:dea7d33b2d7d25280a31a2b9c1573f4292b81187
User & Date: dan 2010-07-15 11:14:21
Context
2010-07-15
14:59
When creating a journal file on unix, attempt to create it with the same permissions as the associated database file. check-in: a121cd80 user: dan tags: trunk
11:14
Change a comment inside a block of code in parse.y from C++ to C style. check-in: dea7d33b user: dan tags: trunk
2010-07-14
20:51
Fix a typo in a comment in os_unix.c. check-in: e1e73125 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/parse.y.

956
957
958
959
960
961
962
963
964

965
966
967

968
969
970

971
972
973
974
975
976
977
}
%ifndef SQLITE_OMIT_SUBQUERY
  %type in_op {int}
  in_op(A) ::= IN.      {A = 0;}
  in_op(A) ::= NOT IN.  {A = 1;}
  expr(A) ::= expr(X) in_op(N) LP exprlist(Y) RP(E). [IN] {
    if( Y==0 ){
      // Expressions of the form
      //

      //      expr1 IN ()
      //      expr1 NOT IN ()
      //

      // simplify to constants 0 (false) and 1 (true), respectively,
      // regardless of the value of expr1.
      //

      A.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[N]);
      sqlite3ExprDelete(pParse->db, X.pExpr);
    }else{
      A.pExpr = sqlite3PExpr(pParse, TK_IN, X.pExpr, 0, 0);
      if( A.pExpr ){
        A.pExpr->x.pList = Y;
        sqlite3ExprSetHeight(pParse, A.pExpr);







|
<
>
|
|
<
>
|
|
<
>







956
957
958
959
960
961
962
963

964
965
966

967
968
969

970
971
972
973
974
975
976
977
}
%ifndef SQLITE_OMIT_SUBQUERY
  %type in_op {int}
  in_op(A) ::= IN.      {A = 0;}
  in_op(A) ::= NOT IN.  {A = 1;}
  expr(A) ::= expr(X) in_op(N) LP exprlist(Y) RP(E). [IN] {
    if( Y==0 ){
      /* Expressions of the form

      **
      **      expr1 IN ()
      **      expr1 NOT IN ()

      **
      ** simplify to constants 0 (false) and 1 (true), respectively,
      ** regardless of the value of expr1.

      */
      A.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[N]);
      sqlite3ExprDelete(pParse->db, X.pExpr);
    }else{
      A.pExpr = sqlite3PExpr(pParse, TK_IN, X.pExpr, 0, 0);
      if( A.pExpr ){
        A.pExpr->x.pList = Y;
        sqlite3ExprSetHeight(pParse, A.pExpr);