SQLite

Check-in [dea7d33b2d]
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
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: dea7d33b2d7d25280a31a2b9c1573f4292b81187
User & Date: dan 2010-07-15 11:14:21.000
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: a121cd80c5 user: dan tags: trunk)
11:14
Change a comment inside a block of code in parse.y from C++ to C style. (check-in: dea7d33b2d user: dan tags: trunk)
2010-07-14
20:51
Fix a typo in a comment in os_unix.c. (check-in: e1e7312580 user: drh tags: trunk)
Changes
Unified Diff 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);