summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/db/backends/base/features.py1
-rw-r--r--django/db/backends/oracle/features.py1
-rw-r--r--django/db/backends/oracle/operations.py3
3 files changed, 2 insertions, 3 deletions
diff --git a/django/db/backends/base/features.py b/django/db/backends/base/features.py
index 7fa8561c95..d749173d51 100644
--- a/django/db/backends/base/features.py
+++ b/django/db/backends/base/features.py
@@ -57,7 +57,6 @@ class BaseDatabaseFeatures(object):
# Is there a REAL datatype in addition to floats/doubles?
has_real_datatype = False
supports_subqueries_in_group_by = True
- supports_bitwise_or = True
# Is there a true datatype for uuid?
has_native_uuid_field = False
diff --git a/django/db/backends/oracle/features.py b/django/db/backends/oracle/features.py
index 83c1bb3cdf..e2840e0fe8 100644
--- a/django/db/backends/oracle/features.py
+++ b/django/db/backends/oracle/features.py
@@ -14,7 +14,6 @@ class DatabaseFeatures(BaseDatabaseFeatures):
supports_subqueries_in_group_by = False
supports_transactions = True
supports_timezones = False
- supports_bitwise_or = False
has_native_duration_field = True
can_defer_constraint_checks = True
supports_partially_nullable_unique_constraints = False
diff --git a/django/db/backends/oracle/operations.py b/django/db/backends/oracle/operations.py
index 58b83d88dc..b800339809 100644
--- a/django/db/backends/oracle/operations.py
+++ b/django/db/backends/oracle/operations.py
@@ -442,7 +442,8 @@ WHEN (new.%(col_name)s IS NULL)
elif connector == '&':
return 'BITAND(%s)' % ','.join(sub_expressions)
elif connector == '|':
- raise NotImplementedError("Bit-wise or is not supported in Oracle.")
+ lhs, rhs = sub_expressions
+ return 'BITAND(-%(lhs)s-1,%(rhs)s)+%(lhs)s' % {'lhs': lhs, 'rhs': rhs}
elif connector == '^':
return 'POWER(%s)' % ','.join(sub_expressions)
return super(DatabaseOperations, self).combine_expression(connector, sub_expressions)