tangled
alpha
login
or
join now
bernsteinbear.com
/
db.py
0
fork
atom
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
authored by
Max Bernstein
and committed by
GitHub
2 years ago
e65d8e7d
d26b3cef
+14
-17
1 changed file
expand all
collapse all
unified
split
db.py
+14
-17
db.py
···
118
118
return Table(table.name, table.rows[offset:])
119
119
120
120
def DISTINCT(self, table, columns):
121
121
-
_distinct = {}
122
122
-
for row in table.rows:
123
123
-
key = US.join(str(row[col]) for col in columns)
124
124
-
_distinct[key] = row
121
121
+
_distinct = {US.join(str(row[col]) for col in columns): row for row in table.rows}
125
122
newRows = []
126
123
for key in _distinct:
127
124
newRow = {}
···
148
145
db.INSERT_INTO("Post", {"id": 1, "user_id": 0, "text": "Hello from Alice"})
149
146
150
147
User = db.FROM("User")
151
151
-
Post = db.FROM("Post")
152
152
-
result = db.INNER_JOIN(User, Post, lambda row: row["User.id"] == row["Post.user_id"])
153
153
-
result = db.SELECT(
154
154
-
result,
155
155
-
["User.age", "User.name", "Post.text"],
156
156
-
{"User.name": "Author", "Post.text": "Message"},
157
157
-
)
158
158
-
result = db.ORDER_BY(result, lambda a, b: a["User.age"] - b["User.age"])
159
159
-
print(result)
148
148
+
# Post = db.FROM("Post")
149
149
+
# result = db.INNER_JOIN(User, Post, lambda row: row["User.id"] == row["Post.user_id"])
150
150
+
# result = db.SELECT(
151
151
+
# result,
152
152
+
# ["User.age", "User.name", "Post.text"],
153
153
+
# {"User.name": "Author", "Post.text": "Message"},
154
154
+
# )
155
155
+
# result = db.ORDER_BY(result, lambda a, b: a["User.age"] - b["User.age"])
156
156
+
# print(result)
160
157
161
158
162
162
-
# result = User
163
163
-
# result = db.UPDATE(User, {"name": "CHUCK"}, lambda row: row["id"] == 2)
164
164
-
# result = db.DISTINCT(result, ["name"])
165
165
-
# print(result)
159
159
+
result = User
160
160
+
result = db.UPDATE(User, {"name": "CHUCK"}, lambda row: row["id"] == 2)
161
161
+
result = db.DISTINCT(result, ["name"])
162
162
+
print(result)