Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit db9cdab

Browse filesBrowse files
RobinRHjsimonweb
authored andcommitted
Add sample to delete data. (GoogleCloudPlatform#1872)
* Update snippets.py * Update snippets_test.py
1 parent da2c559 commit db9cdab
Copy full SHA for db9cdab

File tree

Expand file treeCollapse file tree

2 files changed

+34
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+34
-0
lines changed

‎spanner/cloud-client/snippets.py

Copy file name to clipboardExpand all lines: spanner/cloud-client/snippets.py
+27Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,30 @@ def insert_data(instance_id, database_id):
9393
# [END spanner_insert_data]
9494

9595

96+
# [START spanner_delete_data]
97+
def delete_data(instance_id, database_id):
98+
"""Deletes sample data from the given database.
99+
100+
The database, table, and data must already exist and can be created using
101+
`create_database` and `insert_data`.
102+
"""
103+
spanner_client = spanner.Client()
104+
instance = spanner_client.instance(instance_id)
105+
database = instance.database(database_id)
106+
107+
singers_to_delete = spanner.KeySet(
108+
keys=[[1], [2], [3], [4], [5]])
109+
albums_to_delete = spanner.KeySet(
110+
keys=[[1, 1], [1, 2], [2, 1], [2, 2], [2, 3]])
111+
112+
with database.batch() as batch:
113+
batch.delete('Albums', albums_to_delete)
114+
batch.delete('Singers', singers_to_delete)
115+
116+
print('Deleted data.')
117+
# [END spanner_delete_data]
118+
119+
96120
# [START spanner_query_data]
97121
def query_data(instance_id, database_id):
98122
"""Queries sample data from the database using SQL."""
@@ -1027,6 +1051,7 @@ def delete_data_with_partitioned_dml(instance_id, database_id):
10271051

10281052
subparsers = parser.add_subparsers(dest='command')
10291053
subparsers.add_parser('create_database', help=create_database.__doc__)
1054+
subparsers.add_parser('delete_data', help=delete_data.__doc__)
10301055
subparsers.add_parser('insert_data', help=insert_data.__doc__)
10311056
subparsers.add_parser('query_data', help=query_data.__doc__)
10321057
subparsers.add_parser('read_data', help=read_data.__doc__)
@@ -1100,6 +1125,8 @@ def delete_data_with_partitioned_dml(instance_id, database_id):
11001125
create_database(args.instance_id, args.database_id)
11011126
elif args.command == 'insert_data':
11021127
insert_data(args.instance_id, args.database_id)
1128+
elif args.command == 'delete_data':
1129+
delete_data(args.instance_id, args.database_id)
11031130
elif args.command == 'query_data':
11041131
query_data(args.instance_id, args.database_id)
11051132
elif args.command == 'read_data':

‎spanner/cloud-client/snippets_test.py

Copy file name to clipboardExpand all lines: spanner/cloud-client/snippets_test.py
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ def test_insert_data(capsys):
5959
assert 'Inserted data' in out
6060

6161

62+
def test_delete_data(capsys):
63+
snippets.delete_data(INSTANCE_ID, DATABASE_ID)
64+
snippets.insert_data(INSTANCE_ID, DATABASE_ID)
65+
out, _ = capsys.readouterr()
66+
assert 'Deleted data' in out
67+
68+
6269
def test_query_data(capsys):
6370
snippets.query_data(INSTANCE_ID, DATABASE_ID)
6471
out, _ = capsys.readouterr()

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.