Add support for the MATCH operator. (CVS 3231)

FossilOrigin-Name: 815b84d5273b42978edcee0d4afe7f91a7933f4e
diff --git a/manifest b/manifest
index db750a3..551994b 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Get\sthe\scode\sto\scompile\swith\s-DSQLITE_OMIT_VIRTUALTABLE=1\s(CVS\s3230)
-D 2006-06-13T15:36:07
+C Add\ssupport\sfor\sthe\sMATCH\soperator.\s(CVS\s3231)
+D 2006-06-13T15:37:26
 F Makefile.in 56fd6261e83f60724e6dcd764e06ab68cbd53909
 F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -64,7 +64,7 @@
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
 F src/pager.c ddd05666bb89808a516baef2c186d6a75887ae90
 F src/pager.h 43f32f3847421f7502cfbb66f4eb2302b8033818
-F src/parse.y 05cd1419b625df99ea9776e2c767d2a792d84345
+F src/parse.y 14ce6fb228b5a06fd5c10999aed2cbbfafe630a7
 F src/pragma.c 27d5e395c5d950931c7ac4fe610e7c2993e2fa55
 F src/prepare.c 6dc945dab34cf97364c661d2b7a12be65d338267
 F src/printf.c 7029e5f7344a478394a02c52837ff296ee1ab240
@@ -363,7 +363,7 @@
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 0bcec95963603270ee053c83b1f6960b2029d378
-R b10d238a92b39f83ee40dd1156a4642c
+P ea4bc5a0be6cfc81ef1e9405f396c43205fe9cd8
+R 3c35da63c52751c585cf9cb6b2473575
 U drh
-Z fda6c445ee74204475ea68b334d7f609
+Z a4bc00b43637d2bd30e6651aa4a937df
diff --git a/manifest.uuid b/manifest.uuid
index 4db45d4..c37238b 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-ea4bc5a0be6cfc81ef1e9405f396c43205fe9cd8
\ No newline at end of file
+815b84d5273b42978edcee0d4afe7f91a7933f4e
\ No newline at end of file
diff --git a/src/parse.y b/src/parse.y
index ce3a69d..9b760ec 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -14,7 +14,7 @@
 ** the parser.  Lemon will also generate a header file containing
 ** numeric codes for all of the tokens.
 **
-** @(#) $Id: parse.y,v 1.202 2006/06/11 23:41:55 drh Exp $
+** @(#) $Id: parse.y,v 1.203 2006/06/13 15:37:26 drh Exp $
 */
 
 // All token codes are small integers with #defines that begin with "TK_"
@@ -198,7 +198,7 @@
 %left OR.
 %left AND.
 %right NOT.
-%left IS LIKE_KW BETWEEN IN ISNULL NOTNULL NE EQ.
+%left IS MATCH LIKE_KW BETWEEN IN ISNULL NOTNULL NE EQ.
 %left GT LE LT GE.
 %right ESCAPE.
 %left BITAND BITOR LSHIFT RSHIFT.
@@ -690,6 +690,8 @@
 %type likeop {struct LikeOp}
 likeop(A) ::= LIKE_KW(X).     {A.eOperator = X; A.not = 0;}
 likeop(A) ::= NOT LIKE_KW(X). {A.eOperator = X; A.not = 1;}
+likeop(A) ::= MATCH(X).       {A.eOperator = X; A.not = 0;}
+likeop(A) ::= NOT MATCH(X).   {A.eOperator = X; A.not = 1;}
 %type escape {Expr*}
 %destructor escape {sqlite3ExprDelete($$);}
 escape(X) ::= ESCAPE expr(A). [ESCAPE] {X = A;}