Query Results Suggestion
Hi @smith6,
This is a suggestion for changing the behavior of AISdb whenever we have no results for a query. In an RDBMS, we get an empty set if the query returns no data. I believe this would be more straightforward for general understanding. Otherwise, users will need to add an extra try-catch to their code to treat this on their side.
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/IPython/core/interactiveshell.py", line 3553, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-55-4ae9a9be14b0>", line 1, in <cell line: 1>
for all_tracks in get_tracks(hours2batch=168):
File "<ipython-input-54-7b2bb655fd9e>", line 36, in get_tracks
yield list(tracks)
File "/usr/local/lib/python3.9/dist-packages/aisdb/interp.py", line 29, in interp_time
for track in tracks:
File "/usr/local/lib/python3.9/dist-packages/aisdb/track_gen.py", line 361, in encode_greatcircledistance
for track in tracks:
File "/usr/local/lib/python3.9/dist-packages/aisdb/track_gen.py", line 154, in split_timedelta
for track in tracks:
File "/usr/local/lib/python3.9/dist-packages/aisdb/track_gen.py", line 129, in TrackGen
for rows in rowgen:
File "/usr/local/lib/python3.9/dist-packages/aisdb/database/dbqry.py", line 258, in gen_qry
raise SyntaxError(f'no results for query!\n{qry}')
File "<string>", line unknown
SyntaxError: no results for query!
SELECT
d.mmsi,
d.time,
d.longitude,
d.latitude,
d.sog,
d.cog
FROM esrf_hydrophone_01.ais_201508_dynamic AS d
WHERE
d.time >= 1438387200 AND
d.time <= 1438992000
ORDER BY 1,2
Thanks in advance!