Skip to content

Commit cb6402d

Browse files
committed
Added an update step for allowing commit timestamps and changed to schema to not have that option
1 parent fb7144f commit cb6402d

File tree

1 file changed

+36
-39
lines changed

1 file changed

+36
-39
lines changed

samples/samples/graph_snippets.py

Lines changed: 36 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -38,42 +38,6 @@
3838
OPERATION_TIMEOUT_SECONDS = 240
3939

4040

41-
# [START spanner_create_instance]
42-
def create_instance(instance_id):
43-
"""Creates an instance."""
44-
from google.cloud.spanner_admin_instance_v1.types import \
45-
spanner_instance_admin
46-
47-
spanner_client = spanner.Client()
48-
49-
config_name = "{}/instanceConfigs/regional-us-central1".format(
50-
spanner_client.project_name
51-
)
52-
53-
operation = spanner_client.instance_admin_api.create_instance(
54-
parent=spanner_client.project_name,
55-
instance_id=instance_id,
56-
instance=spanner_instance_admin.Instance(
57-
config=config_name,
58-
display_name="This is a display name.",
59-
node_count=1,
60-
labels={
61-
"cloud_spanner_samples": "true",
62-
"sample_name": "snippets-create_instance-explicit",
63-
"created": str(int(time.time())),
64-
},
65-
),
66-
)
67-
68-
print("Waiting for operation to complete...")
69-
operation.result(OPERATION_TIMEOUT_SECONDS)
70-
71-
print("Created instance {}".format(instance_id))
72-
73-
74-
# [END spanner_create_instance]
75-
76-
7741
# [START spanner_create_database_with_property_graph]
7842
def create_database_with_property_graph(instance_id, database_id):
7943
"""Creates a database, tables and a property graph for sample data."""
@@ -113,8 +77,7 @@ def create_database_with_property_graph(instance_id, database_id):
11377
id INT64 NOT NULL,
11478
to_id INT64 NOT NULL,
11579
amount FLOAT64,
116-
create_time TIMESTAMP NOT NULL OPTIONS
117-
(allow_commit_timestamp=true),
80+
create_time TIMESTAMP NOT NULL,
11881
order_number STRING(MAX),
11982
FOREIGN KEY (to_id) REFERENCES Account (id)
12083
) PRIMARY KEY (id, to_id, create_time),
@@ -149,6 +112,37 @@ def create_database_with_property_graph(instance_id, database_id):
149112
# [END spanner_create_database_with_property_graph]
150113

151114

115+
# [START spanner_update_allow_commit_timestamps]
116+
def update_allow_commit_timestamps(instance_id, database_id):
117+
"""Alters table column(s) to support commit timestamps."""
118+
119+
from google.cloud.spanner_admin_database_v1.types import \
120+
spanner_database_admin
121+
122+
spanner_client = spanner.Client()
123+
database_admin_api = spanner_client.database_admin_api
124+
125+
request = spanner_database_admin.UpdateDatabaseDdlRequest(
126+
database=database_admin_api.database_path(
127+
spanner_client.project, instance_id, database_id
128+
),
129+
statements=[
130+
"""ALTER TABLE AccountTransferAccount
131+
ALTER COLUMN create_time
132+
SET OPTIONS (allow_commit_timestamp = true)"""],
133+
)
134+
135+
operation = database_admin_api.update_database_ddl(request)
136+
137+
print("Waiting for operation to complete...")
138+
operation.result(OPERATION_TIMEOUT_SECONDS)
139+
140+
print("Updated the AccountTransferAccountTable.")
141+
142+
143+
# [END spanner_update_allow_commit_timestamps]
144+
145+
152146
# [START spanner_insert_graph_data]
153147
def insert_data(instance_id, database_id):
154148
"""Inserts sample data into the given database.
@@ -432,10 +426,11 @@ def delete_data(instance_id, database_id):
432426
)
433427

434428
subparsers = parser.add_subparsers(dest="command")
435-
subparsers.add_parser("create_instance", help=create_instance.__doc__)
436429
subparsers.add_parser(
437430
"create_database_with_property_graph",
438431
help=create_database_with_property_graph.__doc__)
432+
subparsers.add_parser("update_allow_commit_timestamps",
433+
help=update_allow_commit_timestamps.__doc__)
439434
subparsers.add_parser("insert_data", help=insert_data.__doc__)
440435
subparsers.add_parser("insert_data_with_dml", help=insert_data_with_dml.__doc__)
441436
subparsers.add_parser("update_data_with_dml", help=update_data_with_dml.__doc__)
@@ -452,6 +447,8 @@ def delete_data(instance_id, database_id):
452447

453448
if args.command == "create_database_with_property_graph":
454449
create_database_with_property_graph(args.instance_id, args.database_id)
450+
elif args.command == "update_allow_commit_timestamps":
451+
update_allow_commit_timestamps(args.instance_id, args.database_id)
455452
elif args.command == "insert_data":
456453
insert_data(args.instance_id, args.database_id)
457454
elif args.command == "insert_data_with_dml":

0 commit comments

Comments
 (0)