summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3/base.py
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2020-07-16 23:32:46 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-10-02 06:58:03 +0200
commit06c5d3fafc6aeb96387148726713b611aeba7fa1 (patch)
tree80a366cad2aa8caf22062d6eb5f4487c36a000e2 /django/db/backends/sqlite3/base.py
parentf87b0ecd37e64e7a019d472de37d0789a8790f1f (diff)
Fixed #32060 -- Added Random database function.
Diffstat (limited to 'django/db/backends/sqlite3/base.py')
-rw-r--r--django/db/backends/sqlite3/base.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index 8a105d4f35..608a2b2a95 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -7,6 +7,7 @@ import functools
import hashlib
import math
import operator
+import random
import re
import statistics
import warnings
@@ -254,6 +255,9 @@ class DatabaseWrapper(BaseDatabaseWrapper):
create_deterministic_function('SIN', 1, none_guard(math.sin))
create_deterministic_function('SQRT', 1, none_guard(math.sqrt))
create_deterministic_function('TAN', 1, none_guard(math.tan))
+ # Don't use the built-in RANDOM() function because it returns a value
+ # in the range [2^63, 2^63 - 1] instead of [0, 1).
+ conn.create_function('RAND', 0, random.random)
conn.create_aggregate('STDDEV_POP', 1, list_aggregate(statistics.pstdev))
conn.create_aggregate('STDDEV_SAMP', 1, list_aggregate(statistics.stdev))
conn.create_aggregate('VAR_POP', 1, list_aggregate(statistics.pvariance))