|
| 1 | +import datajoint as dj |
1 | 2 | import numpy as np |
2 | 3 | import uuid |
| 4 | +from . import schema |
3 | 5 | from decimal import Decimal |
4 | 6 | from datetime import datetime |
5 | 7 | from datajoint.blob import pack, unpack |
@@ -129,3 +131,41 @@ def test_complex(): |
129 | 131 |
|
130 | 132 | x = np.int16(np.random.randn(1, 2, 3)) + 1j*np.int16(np.random.randn(1, 2, 3)) |
131 | 133 | assert_array_equal(x, unpack(pack(x)), "Arrays do not match!") |
| 134 | + |
| 135 | + |
| 136 | +def test_insert_longblob(): |
| 137 | + insert_dj_blob = {'id': 1, 'data': [1, 2, 3]} |
| 138 | + schema.Longblob.insert1(insert_dj_blob) |
| 139 | + assert (schema.Longblob & 'id=1').fetch1() == insert_dj_blob |
| 140 | + (schema.Longblob & 'id=1').delete() |
| 141 | + |
| 142 | + query_mym_blob = {'id': 1, 'data': np.array([1, 2, 3])} |
| 143 | + schema.Longblob.insert1(query_mym_blob) |
| 144 | + assert (schema.Longblob & 'id=1').fetch1()['data'].all() == query_mym_blob['data'].all() |
| 145 | + (schema.Longblob & 'id=1').delete() |
| 146 | + |
| 147 | + query_32_blob = ("INSERT INTO djtest_test1.longblob (id, data) VALUES (1, " |
| 148 | + "X'6D596D00530200000001000000010000000400000068697473007369646573007461736B73007374" |
| 149 | + "616765004D000000410200000001000000070000000600000000000000000000000000F8FF00000000" |
| 150 | + "0000F03F000000000000F03F0000000000000000000000000000F03F00000000000000000000000000" |
| 151 | + "00F8FF230000004102000000010000000700000004000000000000006C006C006C006C00720072006C" |
| 152 | + "0023000000410200000001000000070000000400000000000000640064006400640064006400640025" |
| 153 | + "00000041020000000100000008000000040000000000000053007400610067006500200031003000')") |
| 154 | + dj.conn().query(query_32_blob).fetchall() |
| 155 | + dj.blob.use_32bit_dims = True |
| 156 | + assert (schema.Longblob & 'id=1').fetch1() == { |
| 157 | + 'id': 1, 'data': |
| 158 | + np.rec.array( |
| 159 | + [[ |
| 160 | + ( |
| 161 | + np.array([[np.nan, 1., 1., 0., 1., 0., np.nan]]), |
| 162 | + np.array(['llllrrl'], dtype='<U7'), |
| 163 | + np.array(['ddddddd'], dtype='<U7'), |
| 164 | + np.array(['Stage 10'], dtype='<U8') |
| 165 | + ) |
| 166 | + ]], |
| 167 | + dtype=[('hits', 'O'), ('sides', 'O'), ('tasks', 'O'), ('stage', 'O')] |
| 168 | + ) |
| 169 | + } |
| 170 | + (schema.Longblob & 'id=1').delete() |
| 171 | + dj.blob.use_32bit_dims = False |
0 commit comments