File tree Expand file tree Collapse file tree 4 files changed +31
-10
lines changed
Expand file tree Collapse file tree 4 files changed +31
-10
lines changed Original file line number Diff line number Diff line change 2121 BatchCreateSessionsRequest ,
2222 ExecuteSqlRequest ,
2323 CommitRequest ,
24- GetSessionRequest ,
2524 BeginTransactionRequest ,
2625)
2726from test .mockserver_tests .mock_server_test_base import (
@@ -128,10 +127,8 @@ def test_insert_row(self):
128127 session .commit ()
129128 # Verify the requests that we got.
130129 requests = self .spanner_service .requests
131- eq_ (5 , len (requests ))
130+ eq_ (4 , len (requests ))
132131 is_instance_of (requests [0 ], BatchCreateSessionsRequest )
133- # We should get rid of this extra round-trip for GetSession....
134- is_instance_of (requests [1 ], GetSessionRequest )
135- is_instance_of (requests [2 ], BeginTransactionRequest )
136- is_instance_of (requests [3 ], ExecuteSqlRequest )
137- is_instance_of (requests [4 ], CommitRequest )
132+ is_instance_of (requests [1 ], BeginTransactionRequest )
133+ is_instance_of (requests [2 ], ExecuteSqlRequest )
134+ is_instance_of (requests [3 ], CommitRequest )
Original file line number Diff line number Diff line change 2727from google .cloud .spanner_v1 import RequestOptions , Client
2828
2929import sqlalchemy
30- from sqlalchemy import create_engine
30+ from sqlalchemy import create_engine , literal , FLOAT
3131from sqlalchemy import inspect
3232from sqlalchemy import testing
3333from sqlalchemy import ForeignKey
5252from sqlalchemy import Float
5353from sqlalchemy import LargeBinary
5454from sqlalchemy import String
55+ from sqlalchemy .sql .expression import cast
5556from sqlalchemy .ext .declarative import declarative_base
5657from sqlalchemy .orm import relation
5758from sqlalchemy .orm import Session
@@ -1300,6 +1301,13 @@ def test_float_as_float(self):
13001301 filter_ = lambda n : n is not None and round (n , 5 ) or None ,
13011302 )
13021303
1304+ @testing .requires .literal_float_coercion
1305+ def test_float_coerce_round_trip (self , connection ):
1306+ expr = 15.7563
1307+
1308+ val = connection .scalar (select (cast (literal (expr ), FLOAT )))
1309+ eq_ (val , expr )
1310+
13031311 @requires .precision_numerics_general
13041312 def test_precision_decimal (self ):
13051313 """
Original file line number Diff line number Diff line change 2727from google .cloud .spanner_v1 import RequestOptions , Client
2828
2929import sqlalchemy
30- from sqlalchemy import create_engine
30+ from sqlalchemy import create_engine , literal , FLOAT
3131from sqlalchemy import inspect
3232from sqlalchemy import testing
3333from sqlalchemy import ForeignKey
5353from sqlalchemy import Float
5454from sqlalchemy import LargeBinary
5555from sqlalchemy import String
56+ from sqlalchemy .sql .expression import cast
5657from sqlalchemy .ext .declarative import declarative_base
5758from sqlalchemy .orm import relation
5859from sqlalchemy .orm import Session
@@ -1650,6 +1651,13 @@ def test_float_as_float(self, do_numeric_test):
16501651 filter_ = lambda n : n is not None and round (n , 5 ) or None ,
16511652 )
16521653
1654+ @testing .requires .literal_float_coercion
1655+ def test_float_coerce_round_trip (self , connection ):
1656+ expr = 15.7563
1657+
1658+ val = connection .scalar (select (cast (literal (expr ), FLOAT )))
1659+ eq_ (val , expr )
1660+
16531661 @requires .precision_numerics_general
16541662 def test_precision_decimal (self , do_numeric_test ):
16551663 """
Original file line number Diff line number Diff line change 2626
2727from google .cloud .spanner_v1 import RequestOptions , Client
2828import sqlalchemy
29- from sqlalchemy import create_engine
29+ from sqlalchemy import create_engine , literal , FLOAT
3030from sqlalchemy .engine import Inspector
3131from sqlalchemy import inspect
3232from sqlalchemy import testing
5555from sqlalchemy import Float
5656from sqlalchemy import LargeBinary
5757from sqlalchemy import String
58+ from sqlalchemy .sql .expression import cast
5859from sqlalchemy .ext .declarative import declarative_base
5960from sqlalchemy .orm import relationship
6061from sqlalchemy .orm import Session
@@ -2455,6 +2456,13 @@ def test_float_as_float(self, do_numeric_test):
24552456 filter_ = lambda n : n is not None and round (n , 5 ) or None ,
24562457 )
24572458
2459+ @testing .requires .literal_float_coercion
2460+ def test_float_coerce_round_trip (self , connection ):
2461+ expr = 15.7563
2462+
2463+ val = connection .scalar (select (cast (literal (expr ), FLOAT )))
2464+ eq_ (val , expr )
2465+
24582466 @requires .precision_numerics_general
24592467 def test_precision_decimal (self , do_numeric_test ):
24602468 """
You can’t perform that action at this time.
0 commit comments