)
def test_unicode_round_trip(self):
- s = select([
- cast(
+ with config.db.connect() as conn:
+ conn.execute(
+ self.tables.data_table.insert(),
+ {
+ "name": "r1",
+ "data": {
+ util.u('réveillé'): util.u('réveillé'),
+ "data": {"k1": util.u('drôle')}
+ }
+ }
+ )
+
+ eq_(
+ conn.scalar(select([self.tables.data_table.c.data])),
{
util.u('réveillé'): util.u('réveillé'),
"data": {"k1": util.u('drôle')}
},
- self.datatype
)
- ])
- eq_(
- config.db.scalar(s),
- {
- util.u('réveillé'): util.u('réveillé'),
- "data": {"k1": util.u('drôle')}
- },
- )
def test_eval_none_flag_orm(self):
from sqlalchemy.ext.declarative import declarative_base
@property
def json_type(self):
+ return only_on([
+ lambda config:
+ against(config, "mysql") and (
+ (
+ not config.db.dialect._is_mariadb and
+ against(config, "mysql >= 5.7")
+ )
+ or (
+ config.db.dialect._mariadb_normalized_version_info >=
+ (10, 2, 7)
+ )
+ ),
+ "postgresql >= 9.3"
+ ])
+
+ @property
+ def reflects_json_type(self):
return only_on([
lambda config: against(config, "mysql >= 5.7") and
not config.db.dialect._is_mariadb,