''' 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)} '''