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 :

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");
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
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.