Making changes for "OR IS NOT NULL" as per the truth tables below --

Truth Table (a IS b) --
----------------------------------------------------------
| a    |  b    | (sqllite3) IS |  =   |  (sql) |  IS NULL |
----------------------------------------------------------
| null | null  |  1            | 1    |  NULL  | 1        |
| null | x     |  0            | 0    |  NULL  | 1        |
----------------------------------------------------------
| x    | null  |  0            | 0    |  NULL  | 0        |
| x    | x     |  =            | =    |  =     | 0        |
----------------------------------------------------------
a. only last two combinations are valid in case of pcc genie
b. (a IS ?) in sqllite3 will translate into (a = b) in sql (for last two combinations)
c. (a = b OR a IS NULL) (for last two combinations) is also equivalent

Truth Table (a IS NOT b) --
------------------------------------------------------------------
| a    |  b    | (sqllite3) IS NOT | !=   |  (sql) |  IS NOT NULL |
------------------------------------------------------------------
| null | null  |  0                | 0    |  NULL  | 0            |
| null | x     |  1                | 1    |  NULL  | 0            |
------------------------------------------------------------------
| x    | null  |  1                | 1    |  NULL  | 1            |
| x    | x     |  !=               | !=   |  !=    | 1            |
------------------------------------------------------------------
a. only last two combinations are valid in case of pcc genie
b. (a IS NOT ?) in sqllite3 will translate into (a != b OR b IS NULL) in sql (for last two combinations)

References -
http://www.sqlite.org/lang_expr.html#isisnot
http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html