Skip to content

Commit a330093

Browse files
authored
chore(executor): add type hints in table module (#5113)
Co-authored-by: Emil Sadek <[email protected]>
1 parent a2ba1aa commit a330093

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

sqlglot/executor/table.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@
88

99

1010
class Table:
11-
def __init__(self, columns, rows=None, column_range=None):
11+
def __init__(
12+
self,
13+
columns: t.Iterable,
14+
rows: t.Optional[t.List] = None,
15+
column_range: t.Optional[range] = None,
16+
) -> None:
1217
self.columns = tuple(columns)
1318
self.column_range = column_range
1419
self.reader = RowReader(self.columns, self.column_range)
@@ -25,31 +30,31 @@ def add_columns(self, *columns: str) -> None:
2530
)
2631
self.reader = RowReader(self.columns, self.column_range)
2732

28-
def append(self, row):
33+
def append(self, row: t.List) -> None:
2934
assert len(row) == len(self.columns)
3035
self.rows.append(row)
3136

32-
def pop(self):
37+
def pop(self) -> None:
3338
self.rows.pop()
3439

35-
def to_pylist(self):
40+
def to_pylist(self) -> t.List:
3641
return [dict(zip(self.columns, row)) for row in self.rows]
3742

3843
@property
39-
def width(self):
44+
def width(self) -> int:
4045
return len(self.columns)
4146

42-
def __len__(self):
47+
def __len__(self) -> int:
4348
return len(self.rows)
4449

45-
def __iter__(self):
50+
def __iter__(self) -> TableIter:
4651
return TableIter(self)
4752

48-
def __getitem__(self, index):
53+
def __getitem__(self, index: int) -> RowReader:
4954
self.reader.row = self.rows[index]
5055
return self.reader
5156

52-
def __repr__(self):
57+
def __repr__(self) -> str:
5358
columns = tuple(
5459
column
5560
for i, column in enumerate(self.columns)
@@ -71,29 +76,29 @@ def __repr__(self):
7176

7277

7378
class TableIter:
74-
def __init__(self, table):
79+
def __init__(self, table: Table) -> None:
7580
self.table = table
7681
self.index = -1
7782

78-
def __iter__(self):
83+
def __iter__(self) -> TableIter:
7984
return self
8085

81-
def __next__(self):
86+
def __next__(self) -> RowReader:
8287
self.index += 1
8388
if self.index < len(self.table):
8489
return self.table[self.index]
8590
raise StopIteration
8691

8792

8893
class RangeReader:
89-
def __init__(self, table):
94+
def __init__(self, table: Table) -> None:
9095
self.table = table
9196
self.range = range(0)
9297

93-
def __len__(self):
98+
def __len__(self) -> int:
9499
return len(self.range)
95100

96-
def __getitem__(self, column):
101+
def __getitem__(self, column: str):
97102
return (self.table[i][column] for i in self.range)
98103

99104

0 commit comments

Comments
 (0)