@@ -119,6 +119,27 @@ def read_data(instance_id, database_id):
119
119
print (u'SingerId: {}, AlbumId: {}, AlbumTitle: {}' .format (* row ))
120
120
121
121
122
+ def read_stale_data (instance_id , database_id ):
123
+ """Reads sample data from the database. The data is exactly 10 seconds
124
+ stale."""
125
+ import datetime
126
+
127
+ spanner_client = spanner .Client ()
128
+ instance = spanner_client .instance (instance_id )
129
+ database = instance .database (database_id )
130
+ staleness = datetime .timedelta (seconds = 10 )
131
+
132
+ with database .snapshot (exact_staleness = staleness ) as snapshot :
133
+ keyset = spanner .KeySet (all_ = True )
134
+ results = snapshot .read (
135
+ table = 'Albums' ,
136
+ columns = ('SingerId' , 'AlbumId' , 'AlbumTitle' ,),
137
+ keyset = keyset )
138
+
139
+ for row in results :
140
+ print (u'SingerId: {}, AlbumId: {}, AlbumTitle: {}' .format (* row ))
141
+
142
+
122
143
def query_data_with_new_column (instance_id , database_id ):
123
144
"""Queries sample data from the database using SQL.
124
145
@@ -424,6 +445,7 @@ def read_only_transaction(instance_id, database_id):
424
445
subparsers .add_parser ('insert_data' , help = insert_data .__doc__ )
425
446
subparsers .add_parser ('query_data' , help = query_data .__doc__ )
426
447
subparsers .add_parser ('read_data' , help = read_data .__doc__ )
448
+ subparsers .add_parser ('read_stale_data' , help = read_stale_data .__doc__ )
427
449
subparsers .add_parser ('add_column' , help = add_column .__doc__ )
428
450
subparsers .add_parser ('update_data' , help = update_data .__doc__ )
429
451
subparsers .add_parser (
@@ -454,6 +476,8 @@ def read_only_transaction(instance_id, database_id):
454
476
query_data (args .instance_id , args .database_id )
455
477
elif args .command == 'read_data' :
456
478
read_data (args .instance_id , args .database_id )
479
+ elif args .command == 'read_stale_data' :
480
+ read_stale_data (args .instance_id , args .database_id )
457
481
elif args .command == 'add_column' :
458
482
add_column (args .instance_id , args .database_id )
459
483
elif args .command == 'update_data' :
0 commit comments