Source code for aisdb.database.sqlfcn_callbacks

''' redefinitions of functions in :py:mod:`aisdb.database.sql_query_strings`,
    combined into lambdas for convenience
'''




from aisdb.database.sql_query_strings import (
    has_mmsi,
    in_mmsi,
    in_timerange,
    valid_mmsi,
    in_bbox as in_bbox_plain,
    in_bbox_geom
)

in_time_mmsi = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND {valid_mmsi(**kwargs)}'''
in_timerange_hasmmsi = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND {has_mmsi(**kwargs)}'''
in_timerange_inmmsi = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_mmsi(**kwargs)}'''
in_timerange_validmmsi = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {valid_mmsi(**kwargs)}'''

in_bbox = lambda **kwargs: f'''\
    {in_bbox_plain(**kwargs)}'''
in_bbox_time = lambda **kwargs: f'''\
    {in_bbox_plain(**kwargs)} AND
    {in_timerange(**kwargs)} '''
in_bbox_time_validmmsi = lambda **kwargs: f'''\
    {in_bbox_plain(**kwargs)} AND
    {in_timerange(**kwargs)} AND
    {valid_mmsi(**kwargs)} '''
in_time_bbox_inmmsi = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_bbox_plain(**kwargs)} AND
    {in_mmsi(**kwargs)} '''
in_time_bbox_validmmsi = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_bbox_plain(**kwargs)} AND
    {valid_mmsi(**kwargs)} '''

in_bbox_time_geom = lambda **kwargs: f'''\
    {in_bbox_geom(**kwargs)} AND
    {in_timerange(**kwargs)} '''
in_bbox_time_validmmsi_geom = lambda **kwargs: f'''\
    {in_bbox_geom(**kwargs)} AND
    {in_timerange(**kwargs)} AND
    {valid_mmsi(**kwargs)} '''

in_time_bbox = lambda **kwargs: f'''
    {in_timerange(**kwargs)} AND
    {in_bbox_plain(**kwargs)} '''
in_time_bbox_hasmmsi = lambda **kwargs: f'''
    {in_timerange(**kwargs)} AND
    {in_bbox_plain(**kwargs)} AND
    {has_mmsi(**kwargs)} '''
in_time_bbox_geom = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_bbox_geom(**kwargs)} '''
in_time_bbox_hasmmsi_geom = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_bbox_geom(**kwargs)} AND
    {has_mmsi(**kwargs)}'''
in_time_bbox_inmmsi_geom = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_bbox_geom(**kwargs)} AND
    {in_mmsi(**kwargs)} '''
in_time_bbox_validmmsi_geom = lambda **kwargs: f'''\
    {in_timerange(**kwargs)} AND
    {in_bbox_geom(**kwargs)} AND
    {valid_mmsi(**kwargs)} '''


in_validmmsi_bbox_geom = lambda **kwargs: f'''\
    {valid_mmsi(**kwargs)} AND
    {in_bbox_geom(**kwargs)} '''