src/inc/rql.h 1.4
1.4 2009/12/03 19:26:05 kent
Making rqlParser handle arrays and field-separating-dots. Evaluation handles arrays but not dots yet.
Index: src/inc/rql.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/inc/rql.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/inc/rql.h 3 Dec 2009 18:19:29 -0000 1.3
+++ src/inc/rql.h 3 Dec 2009 19:26:05 -0000 1.4
@@ -13,25 +13,23 @@
{
rqlOpUnknown, /* Should not occur */
rqlOpLiteral, /* Literal string or number. */
rqlOpSymbol, /* A symbol name. */
- rqlOpEq, /* An equals comparison */
- rqlOpNe, /* A not equals comparison */
/* Type casts. */
rqlOpStringToBoolean,
rqlOpIntToBoolean,
rqlOpDoubleToBoolean,
rqlOpStringToInt,
- rqlOpStringToDouble,
+ rqlOpDoubleToInt,
rqlOpBooleanToInt,
+ rqlOpStringToDouble,
rqlOpBooleanToDouble,
rqlOpIntToDouble,
- rqlOpUnaryMinusInt,
- rqlOpUnaryMinusDouble,
-
/* Comparisons. */
+ rqlOpEq, /* An equals comparison */
+ rqlOpNe, /* A not equals comparison */
rqlOpGt, /* Greater than comparison. */
rqlOpLt, /* Less than comparison. */
rqlOpGe, /* Greater than or equals comparison. */
rqlOpLe, /* Less than or equals comparison. */
@@ -40,8 +38,16 @@
/* Logic ops. */
rqlOpAnd, /* An and */
rqlOpOr, /* An or */
rqlOpNot, /* A unary not. */
+
+ /* Leading minus. */
+ rqlOpUnaryMinusInt,
+ rqlOpUnaryMinusDouble,
+
+ /* Fancy ops to fetch sub-parts. */
+ rqlOpArrayIx, /* An array with an index. */
+ rqlOpSubDot, /* A field.subfield selection. */
};
char *rqlOpToString(enum rqlOp op);
/* Return string representation of parse op. */