| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import flashdb
- import struct
- import time
- import os
- DB_PATH = "test/out/fdb_tsdb"
- tsdb = flashdb.TSDB("env", DB_PATH, max_len=512)
- tic = time.time() * 1000
- for i in range(10):
- blob_i = struct.pack('i', i)
- time.sleep(0.001)
- ret = tsdb.tsl_append(blob_i)
- toc = time.time() * 1000
- assert ret == 0
- sum_by_time = 0
- def callback(tsl, user_data) -> int:
- global sum_by_time
- # print(tsl.get_time(), tsl.to_blob())
- t = tsl.get_time()
- blob_i = tsl.to_blob()
- i = struct.unpack('i', blob_i)[0]
- print(t, i, user_data)
- if user_data == 'user_data_by_time':
- sum_by_time += i
- return False # False: continue, True: stop
- assert tsdb.tsl_iter(callback, 'user_data') == 0
- assert tsdb.tsl_iter_reverse(callback, 'user_data_reverse') == 0
- print('toc - tic', toc - tic)
- assert tsdb.tsl_iter_by_time(tic, toc, callback, 'user_data_by_time') == 0
- assert sum_by_time == 45
- print('PASS')
|