Bonjour,
Utilisant une base de donnée Postgres, je souhaite "overrider" certaines spécialisation de get_sql_type afin de retourner le bon type (uuid dans mon cas au lieu de TEXT).
Je voudrais le faire de cette façon plutôt que de définir tData->setSqlType("uuid")...
Est-ce possible ?
Merci.
EDIT -------
Je m'en suis sorti de cette façon :
et pour mes types géométriques :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 qx::QxClassX::getAllSqlTypeByClassName()->clear(); qx::QxClassX::getAllSqlTypeByClassName()->insert("bool", "bool"); qx::QxClassX::getAllSqlTypeByClassName()->insert("qx_bool", "bool"); qx::QxClassX::getAllSqlTypeByClassName()->insert("QUuid", "uuid"); // tous les autres types normalement définis dans void QxClassX::initSqlTypeByClassName().... // mes types persos qx::QxClassX::getAllSqlTypeByClassName()->insert("QsPoint", "geometry"); qx::QxClassX::getAllSqlTypeByClassName()->insert("QsLinestring", "geometry"); qx::QxClassX::getAllSqlTypeByClassName()->insert("QsPolygon", "geometry"); qx::QxClassX::getAllSqlTypeByClassName()->insert("QsMultiPointPoint", "geometry"); qx::QxClassX::getAllSqlTypeByClassName()->insert("QsMultiLinestring", "geometry"); qx::QxClassX::getAllSqlTypeByClassName()->insert("QsMultiPolygon", "geometry");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 namespace qx { namespace trait { namespace detail { template<> struct get_sql_type< QsPoint > // QsLinestring, etc... { static inline const char * get() { return "geometry"; } }; } // namespace detail } // namespace trait } // namespace qx
Ca fonctionne, mais je voudrais juste avoir un retour de QxOrm si cela ne "casse" pas quelque chose dans la bibliothèque QxOrm.
Partager