cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (Closed) (JIRA)" <>
Subject [jira] [Closed] (CAY-1693) Initial support for bitwise operators in Expression and SelectQuery - MySQL
Date Wed, 04 Apr 2012 19:40:22 GMT


Andrus Adamchik closed CAY-1693.

       Resolution: Fixed
    Fix Version/s: 3.1M4

There's still a lot to be done (and will be done in separate Jiras). Specifically:

* ExpressionFactory support, 
* parser support
* all DBs other than MySQL (I suspect it will work on PostgreSQL, but haven't tested yet)
* unit tests for in-memory eval of bitwise ops
* maybe implement more ops (shifts, etc)

Some current usage examples: notes

+        Expression left = new ASTBitwiseAnd(new ASTObjPath(
+                ReturnTypesMap1.INTEGER_COLUMN_PROPERTY), new ASTScalar(1));
+        Expression right = new ASTScalar(0);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);

> Initial support for bitwise operators in Expression and SelectQuery - MySQL
> ---------------------------------------------------------------------------
>                 Key: CAY-1693
>                 URL:
>             Project: Cayenne
>          Issue Type: Task
>          Components: Core Library
>    Affects Versions: 3.1M3
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>             Fix For: 3.1M4
> I need to use some bitmasks as query criteria. It appears that most DBs support bitwise
> I am going to add support in Expressions, SelectQueries and the underlying stack for
&, ~, |, ^... For now a very basic implementation with no parser support, no ExpressionFactory
support, and probably just MySQL adapter support. It will stay under the radar, hopefully
useful to people who need them until we have the time to expand it to cover all DBs and all
use cases.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message