def function_handler(params, within_column_clause): if len(params) > 0: geom_cast = cast_param(params) if geom_cast is not None: return check_comparison(get_function(function, geom_cast, params, returns_geometry, relation_function), within_column_clause, returns_boolean, compare_value) return check_comparison(function(*params), within_column_clause, returns_boolean, compare_value)
def function_handler(params, within_column_clause, **flags): if flags.get('auto_diminfo', True): # insert diminfo for all geometries in params params = list(params) i = 0 length = len(params) while i < length: diminfo = None if isinstance(params[i], (WKBSpatialElement, WKTSpatialElement)) and hasattr(params[i], 'DIMINFO'): # the attribute DIMINFO is set in OracleSpatialDialect.process_result() diminfo = params[i].DIMINFO elif isinstance(params[i], Column) and isinstance(params[i].type, GeometryBase): diminfo = OracleSpatialDialect.get_diminfo_select(params[i]) if diminfo is not None: i += 1 # insert DIMINFO after the geometry params.insert(i, diminfo) length += 1 i += 1 return check_comparison(function(*params), within_column_clause, returns_boolean, compare_value)
def function_handler(params, within_column_clause, **flags): if flags.get('auto_diminfo', True): # insert diminfo for all geometries in params params = list(params) i = 0 length = len(params) while i < length: diminfo = None if isinstance( params[i], (WKBSpatialElement, WKTSpatialElement)) and hasattr( params[i], 'DIMINFO'): # the attribute DIMINFO is set in OracleSpatialDialect.process_result() diminfo = params[i].DIMINFO elif isinstance(params[i], Column) and isinstance( params[i].type, GeometryBase): diminfo = OracleSpatialDialect.get_diminfo_select( params[i]) if diminfo is not None: i += 1 # insert DIMINFO after the geometry params.insert(i, diminfo) length += 1 i += 1 return check_comparison(function(*params), within_column_clause, returns_boolean, compare_value)