@@ -119,6 +119,27 @@ def read_data(instance_id, database_id):
119119 print (u'SingerId: {}, AlbumId: {}, AlbumTitle: {}' .format (* row ))
120120
121121
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+
122143def query_data_with_new_column (instance_id , database_id ):
123144 """Queries sample data from the database using SQL.
124145
@@ -424,6 +445,7 @@ def read_only_transaction(instance_id, database_id):
424445 subparsers .add_parser ('insert_data' , help = insert_data .__doc__ )
425446 subparsers .add_parser ('query_data' , help = query_data .__doc__ )
426447 subparsers .add_parser ('read_data' , help = read_data .__doc__ )
448+ subparsers .add_parser ('read_stale_data' , help = read_stale_data .__doc__ )
427449 subparsers .add_parser ('add_column' , help = add_column .__doc__ )
428450 subparsers .add_parser ('update_data' , help = update_data .__doc__ )
429451 subparsers .add_parser (
@@ -454,6 +476,8 @@ def read_only_transaction(instance_id, database_id):
454476 query_data (args .instance_id , args .database_id )
455477 elif args .command == 'read_data' :
456478 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 )
457481 elif args .command == 'add_column' :
458482 add_column (args .instance_id , args .database_id )
459483 elif args .command == 'update_data' :
0 commit comments