Skip to content

Commit 0190764

Browse files
committed
feat!: remove deprecated DeviceSize and MemorySize expressions in favor of RecordSize. There is still a test case for RecordSize
1 parent 8af24f2 commit 0190764

2 files changed

Lines changed: 1 addition & 67 deletions

File tree

aerospike_helpers/expressions/base.py

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -501,61 +501,12 @@ def __init__(self):
501501
super().__init__()
502502

503503

504-
class DeviceSize(_BaseExpr):
505-
"""
506-
.. deprecated:: 17.2.0 :py:class:`RecordSize` should be used instead.
507-
508-
Create an expression that returns record size on disk. If server storage-engine is
509-
memory, then zero is returned. This expression usually evaluates quickly
510-
because record meta data is cached in memory.
511-
512-
This expression should only be used for server versions less than 7.0. Use
513-
:py:class:`RecordSize` for server version 7.0+.
514-
"""
515-
516-
_op = _ExprOp.META_DEVICE_SIZE
517-
_rt = ResultType.INTEGER
518-
519-
def __init__(self):
520-
""":return: (integer value): Uncompressed storage size of the record.
521-
522-
Example:
523-
524-
.. testcode::
525-
526-
# Record device size >= 100 KB.
527-
expr = exp.GE(exp.DeviceSize(), 100 * 1024).compile()
528-
"""
529-
super().__init__()
530-
531-
532-
class MemorySize(_BaseExpr):
533-
"""
534-
.. deprecated:: 17.2.0 :py:class:`RecordSize` should be used instead.
535-
536-
Returns the records memory size in bytes as an integer when either the namespace
537-
is configured data-in-memory true or storage-engine memory, otherwise returns 0.
538-
539-
Requires server version between 5.3 inclusive and 7.0 exclusive.
540-
Use :py:class:`RecordSize` for server version 7.0+.
541-
"""
542-
543-
_op = _ExprOp.META_MEMORY_SIZE
544-
_rt = ResultType.INTEGER
545-
546-
def __init__(self):
547-
""":return: (integer value)
548-
"""
549-
super().__init__()
550-
551-
552504
class RecordSize(_BaseExpr):
553505
"""
554506
Create expression that returns the record size. This expression usually evaluates
555507
quickly because record meta data is cached in memory.
556508
557-
Requires server version 7.0+. This expression replaces :py:class:`DeviceSize()` and
558-
:py:class:`MemorySize()`.
509+
Requires server version 7.0+.
559510
"""
560511
_op = _ExprOp.META_RECORD_SIZE
561512
_rt = ResultType.INTEGER

test/new_tests/test_expressions_base.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
BoolBin,
1212
Cond,
1313
Def,
14-
DeviceSize,
1514
DigestMod,
1615
Eq,
1716
Exclusive,
@@ -27,7 +26,6 @@
2726
LastUpdateTime,
2827
Let,
2928
ListBin,
30-
MemorySize,
3129
NE,
3230
Not,
3331
Or,
@@ -180,12 +178,6 @@ def test_val_pos(self):
180178
expr = Eq(IntBin("extra"), Val(4))
181179
self.as_connection.get(("test", "demo", _NUM_RECORDS), policy={"expressions": expr.compile()})
182180

183-
@pytest.mark.xfail(reason="Will fail on storage engine device.")
184-
def test_device_size_pos(self):
185-
expr = Eq(DeviceSize(), 0)
186-
record = self.as_connection.get(("test", "demo", _NUM_RECORDS), policy={"expressions": expr.compile()})
187-
assert record[2]["extra"] == "record"
188-
189181
def test_TTL_pos(self):
190182
expr = NE(TTL(), 0)
191183
record = self.as_connection.get(("test", "demo", _NUM_RECORDS), policy={"expressions": expr.compile()})
@@ -196,15 +188,6 @@ def test_void_time_pos(self):
196188
record = self.as_connection.get(("test", "demo", _NUM_RECORDS), policy={"expressions": expr.compile()})
197189
assert record[2]["extra"] == "record"
198190

199-
@pytest.mark.skip("MemorySize() value depends on whether server is configured to store data in memory or not.\
200-
QE tests #1 and #2 are failing because some of their server scenarios have this configured\
201-
where some nodes have it configured and some don't. It's also hard to figure out\
202-
which node the record belongs to.")
203-
def test_memory_size_pos(self):
204-
# The Docker Aerospike image uses storage-memory device by default
205-
expr = Eq(MemorySize(), 0)
206-
self.as_connection.get(("test", "demo", _NUM_RECORDS), policy={"expressions": expr.compile()})
207-
208191
def test_remove_with_expressions_neg(self):
209192
self.as_connection.put(("test", "demo", 25), {"test": "test_data"})
210193

0 commit comments

Comments
 (0)