diff --git a/uppsrc/CtrlCore/CtrlCore.h b/uppsrc/CtrlCore/CtrlCore.h index 4cc9d9283..562e2e462 100644 --- a/uppsrc/CtrlCore/CtrlCore.h +++ b/uppsrc/CtrlCore/CtrlCore.h @@ -381,7 +381,7 @@ public: Logc() { data = 0xffffffff; } }; - struct LogPos { + struct LogPos : Moveable { Logc x, y; bool operator==(LogPos b) const { return x == b.x && y == b.y; } diff --git a/uppsrc/Sql/Sql.cpp b/uppsrc/Sql/Sql.cpp index 3cc056a2d..49d420e42 100644 --- a/uppsrc/Sql/Sql.cpp +++ b/uppsrc/Sql/Sql.cpp @@ -704,4 +704,13 @@ SqlR::SqlR(const SqlStatement& s) #endif +void operator*=(ValueMap& map, SqlSelect select) +{ + map.Clear(); + Sql sql; + sql * select; + while(sql.Fetch()) + map.Add(sql[0], sql[1]); +} + END_UPP_NAMESPACE diff --git a/uppsrc/Sql/Sqls.h b/uppsrc/Sql/Sqls.h index 7bc5f564a..b3ed6a211 100644 --- a/uppsrc/Sql/Sqls.h +++ b/uppsrc/Sql/Sqls.h @@ -524,6 +524,8 @@ void SqlLoadColumn(T& t, SqlSelect select) t.Add(sql[0], sql[1]); } +void operator*=(ValueMap& map, SqlSelect select); + template void operator*=(VectorMap& map, SqlSelect select) {