Changes between Initial Version and Version 1 of Ticket #25912, comment 2


Ignore:
Timestamp:
Dec 10, 2015, 5:09:13 PM (9 years ago)
Author:
Josh Smeaton

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #25912, comment 2

    initial v1  
    11There's a slight problem here that we'll probably need to take to the mailing list. Oracle (surprise surprise) is the only supported database that does *not* have a bitshift operator. It doesn't even have a bitshift function that I can find.
    22
    3 We'll need to decide whether we want to leave a backend behind (NotSupportedError or whatever..), figure out a way to support bit shifting by doing the actual math (bitshift by doing [*/] 2**X) in an as_oracle method, or abandon the idea of supporting bitshifting in django core and using a library to implement some monkey patching.
     3We'll need to decide whether we want to leave a backend behind (NotSupportedError or whatever..), figure out a way to support bit shifting by doing the actual math (bitshift by doing [*/] `2**X`) in an as_oracle method, or abandon the idea of supporting bitshifting in django core and using a library to implement some monkey patching.
    44
    55My preferences here are 2 (do the math for oracle), 3 (leave it out), 1 (no support). Doing the math will result in some overhead (a super() method call) for every F() expression on oracle, whether or not you're doing bitshifting. Unsure if doing the math is actually equivalent in all cases or not though, so we'd need some more robust testing for corner cases.
Back to Top