Skip to content

Commit ebda205

Browse files
committed
work on windowed eval
1 parent 09a4b71 commit ebda205

File tree

10 files changed

+27
-27
lines changed

10 files changed

+27
-27
lines changed

build/lib/data_algebra/data_ops.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ def __init__(
867867
reverse=None,
868868
parse_env=None
869869
):
870-
partitioned = False
870+
windowed_situation = False
871871
if ops is None:
872872
ops = {}
873873
ops = data_algebra.expr_rep.parse_assignments_in_context(
@@ -878,25 +878,25 @@ def __init__(
878878
for (k, opk) in ops.items(): # look for aggregation functions
879879
if isinstance(opk, data_algebra.expr_rep.Expression):
880880
if opk.op in data_algebra.expr_rep.fn_names_that_imply_windowed_situation:
881-
partitioned = True
881+
windowed_situation = True
882882
self.ops = ops
883883
if partition_by is None:
884884
partition_by = []
885885
if isinstance(partition_by, numbers.Number):
886886
partition_by = []
887-
partitioned = True
887+
windowed_situation = True
888888
if isinstance(partition_by, str):
889889
partition_by = [partition_by]
890890
if len(partition_by) > 0:
891-
partitioned = True
891+
windowed_situation = True
892892
self.partition_by = partition_by
893893
if order_by is None:
894894
order_by = []
895895
if isinstance(order_by, str):
896896
order_by = [order_by]
897897
if len(order_by) > 0:
898-
partitioned = True
899-
self.partitioned = partitioned
898+
windowed_situation = True
899+
self.windowed_situation = windowed_situation
900900
self.order_by = order_by
901901
if reverse is None:
902902
reverse = []
@@ -935,20 +935,20 @@ def __init__(
935935
if len(bad_overwrite) > 0:
936936
raise ValueError("tried to change: " + str(bad_overwrite))
937937
# check op arguments are very simple: all arguments are column names
938-
if partitioned:
938+
if windowed_situation:
939939
for (k, opk) in ops.items():
940940
if not isinstance(opk, data_algebra.expr_rep.Expression):
941941
raise ValueError(
942942
"non-aggregated expression in windowed/partitoned extend: " +
943943
"'" + k + "': '" + opk.to_pandas() + "'"
944944
)
945945
if len(opk.args) > 1:
946-
raise ValueError("in windowed/partitioned situations only simple operators are allowed, " +
946+
raise ValueError("in windowed situations only simple operators are allowed, " +
947947
"'" + k + "': '" + opk.to_pandas() + "' term is too complex an expression")
948948
if len(opk.args) > 0:
949949
value_name = opk.args[0].to_pandas()
950950
if value_name not in source.column_set:
951-
raise ValueError("in windowed/partitioned situations only simple operators are allowed, " +
951+
raise ValueError("in windowed situations only simple operators are allowed, " +
952952
"'" + k + "': '" + opk.to_pandas() + "' term is too complex an expression")
953953
ViewRepresentation.__init__(self, column_names=column_names, sources=[source])
954954

@@ -994,7 +994,7 @@ def to_python_implementation(self, *, indent=0, strict=True, print_sources=True)
994994
]
995995
flowed = ("," + spacer + " ").join(ops)
996996
s = s + ("extend({" + spacer + " " + flowed + "}")
997-
if self.partitioned:
997+
if self.windowed_situation:
998998
if len(self.partition_by) > 0:
999999
s = s + "," + spacer + "partition_by=" + self.partition_by.__repr__()
10001000
else:

build/lib/data_algebra/db_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def extend_to_sql(self, extend_node, *, using=None, temp_id_source=None):
243243
sub_view_name = "SQ_" + str(temp_id_source[0])
244244
temp_id_source[0] = temp_id_source[0] + 1
245245
window_term = ""
246-
if extend_node.partitioned or (len(extend_node.partition_by) > 0) or (len(extend_node.order_by) > 0):
246+
if extend_node.windowed_situation or (len(extend_node.partition_by) > 0) or (len(extend_node.order_by) > 0):
247247
window_term = " OVER ( "
248248
if len(extend_node.partition_by) > 0:
249249
pt = [self.quote_identifier(ci) for ci in extend_node.partition_by]

build/lib/data_algebra/pandas_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def table_step(self, op, *, data_map, eval_env):
6767
def extend_step(self, op, *, data_map, eval_env):
6868
if not isinstance(op, data_algebra.data_ops.ExtendNode):
6969
raise TypeError("op was supposed to be a data_algebra.data_ops.ExtendNode")
70-
window_situation = op.partitioned or (len(op.partition_by) > 0) or (len(op.order_by) > 0)
70+
window_situation = op.windowed_situation or (len(op.partition_by) > 0) or (len(op.order_by) > 0)
7171
if window_situation:
7272
self.check_extend_window_fns(op)
7373
res = op.sources[0].eval_implementation(

coverage.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,4 @@ data_algebra/yaml.py 123 15 88%
7171
TOTAL 3404 821 76%
7272

7373

74-
============================== 60 passed in 6.27s ==============================
74+
============================== 60 passed in 6.29s ==============================

data_algebra/data_ops.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ def __init__(
867867
reverse=None,
868868
parse_env=None
869869
):
870-
partitioned = False
870+
windowed_situation = False
871871
if ops is None:
872872
ops = {}
873873
ops = data_algebra.expr_rep.parse_assignments_in_context(
@@ -878,25 +878,25 @@ def __init__(
878878
for (k, opk) in ops.items(): # look for aggregation functions
879879
if isinstance(opk, data_algebra.expr_rep.Expression):
880880
if opk.op in data_algebra.expr_rep.fn_names_that_imply_windowed_situation:
881-
partitioned = True
881+
windowed_situation = True
882882
self.ops = ops
883883
if partition_by is None:
884884
partition_by = []
885885
if isinstance(partition_by, numbers.Number):
886886
partition_by = []
887-
partitioned = True
887+
windowed_situation = True
888888
if isinstance(partition_by, str):
889889
partition_by = [partition_by]
890890
if len(partition_by) > 0:
891-
partitioned = True
891+
windowed_situation = True
892892
self.partition_by = partition_by
893893
if order_by is None:
894894
order_by = []
895895
if isinstance(order_by, str):
896896
order_by = [order_by]
897897
if len(order_by) > 0:
898-
partitioned = True
899-
self.partitioned = partitioned
898+
windowed_situation = True
899+
self.windowed_situation = windowed_situation
900900
self.order_by = order_by
901901
if reverse is None:
902902
reverse = []
@@ -935,20 +935,20 @@ def __init__(
935935
if len(bad_overwrite) > 0:
936936
raise ValueError("tried to change: " + str(bad_overwrite))
937937
# check op arguments are very simple: all arguments are column names
938-
if partitioned:
938+
if windowed_situation:
939939
for (k, opk) in ops.items():
940940
if not isinstance(opk, data_algebra.expr_rep.Expression):
941941
raise ValueError(
942942
"non-aggregated expression in windowed/partitoned extend: " +
943943
"'" + k + "': '" + opk.to_pandas() + "'"
944944
)
945945
if len(opk.args) > 1:
946-
raise ValueError("in windowed/partitioned situations only simple operators are allowed, " +
946+
raise ValueError("in windowed situations only simple operators are allowed, " +
947947
"'" + k + "': '" + opk.to_pandas() + "' term is too complex an expression")
948948
if len(opk.args) > 0:
949949
value_name = opk.args[0].to_pandas()
950950
if value_name not in source.column_set:
951-
raise ValueError("in windowed/partitioned situations only simple operators are allowed, " +
951+
raise ValueError("in windowed situations only simple operators are allowed, " +
952952
"'" + k + "': '" + opk.to_pandas() + "' term is too complex an expression")
953953
ViewRepresentation.__init__(self, column_names=column_names, sources=[source])
954954

@@ -994,7 +994,7 @@ def to_python_implementation(self, *, indent=0, strict=True, print_sources=True)
994994
]
995995
flowed = ("," + spacer + " ").join(ops)
996996
s = s + ("extend({" + spacer + " " + flowed + "}")
997-
if self.partitioned:
997+
if self.windowed_situation:
998998
if len(self.partition_by) > 0:
999999
s = s + "," + spacer + "partition_by=" + self.partition_by.__repr__()
10001000
else:

data_algebra/db_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def extend_to_sql(self, extend_node, *, using=None, temp_id_source=None):
243243
sub_view_name = "SQ_" + str(temp_id_source[0])
244244
temp_id_source[0] = temp_id_source[0] + 1
245245
window_term = ""
246-
if extend_node.partitioned or (len(extend_node.partition_by) > 0) or (len(extend_node.order_by) > 0):
246+
if extend_node.windowed_situation or (len(extend_node.partition_by) > 0) or (len(extend_node.order_by) > 0):
247247
window_term = " OVER ( "
248248
if len(extend_node.partition_by) > 0:
249249
pt = [self.quote_identifier(ci) for ci in extend_node.partition_by]

data_algebra/pandas_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def table_step(self, op, *, data_map, eval_env):
6767
def extend_step(self, op, *, data_map, eval_env):
6868
if not isinstance(op, data_algebra.data_ops.ExtendNode):
6969
raise TypeError("op was supposed to be a data_algebra.data_ops.ExtendNode")
70-
window_situation = op.partitioned or (len(op.partition_by) > 0) or (len(op.order_by) > 0)
70+
window_situation = op.windowed_situation or (len(op.partition_by) > 0) or (len(op.order_by) > 0)
7171
if window_situation:
7272
self.check_extend_window_fns(op)
7373
res = op.sources[0].eval_implementation(
5 Bytes
Binary file not shown.

dist/data_algebra-0.3.4.tar.gz

74 Bytes
Binary file not shown.

tests/test_exampe1.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ def test_example1_1_detect_agg():
107107
extend({
108108
'y_mean': 'y.mean()'
109109
})
110-
assert ops.partitioned
110+
assert ops.windowed_situation
111111

112112
ops2 = table_desc. \
113113
extend({
114114
'y_mean': 'y+1'
115115
})
116-
assert not ops2.partitioned
116+
assert not ops2.windowed_situation

0 commit comments

Comments
 (0)