Browse Source

chatgui: add local_nick TEXT to peers table DDL, remove ALTER TABLE hacks

topo_upd
Evgeny 2 months ago
parent
commit
22db84816e
  1. 7
      src/routing_layer/topo_node_sqlite.c
  2. 2
      tools/chatgui/db/db_manager.cpp
  3. 4
      tools/chatgui/src/memberpropsdialog.cpp

7
src/routing_layer/topo_node_sqlite.c

@ -275,10 +275,11 @@ int topo_node_sqlite_channel_put(sqlite3* db, const char* channel_id,
сейчас: "supernode=yes" → node_type=4 */
" adm_tags_sig BLOB," /* Ed25519 подпись над adm_tags (64 байта) — верификация пока не реализована */
" node_type INTEGER NOT NULL DEFAULT 0," /* вычисляемый тип узла (topo_node_sqlite_nodeinfo_updated):
0=неизвестно 1=прямой(addr_type NETIF/DIRECT/NAT_STRICT)
2=EIM NAT 3=(не исп.) 4=суперузел(DIRECT+"supernode=yes") */
0=неизвестно 1=прямой(addr_type NETIF/DIRECT/NAT_STRICT)
2=EIM NAT 3=(не исп.) 4=суперузел(DIRECT+"supernode=yes") */
" node_RTT INTEGER," /* RTT до узла в мс, часть индекса (node_type, node_RTT) */
" connected INTEGER NOT NULL DEFAULT 0" /* 1 = было активное подключение к узлу */
" connected INTEGER NOT NULL DEFAULT 0," /* 1 = было активное подключение к узлу */
" local_nick TEXT" /* локальный ник (GUI only, не синхронизируется) */
")";
int ddl_sz = snprintf(NULL, 0, ddl_tmpl, peers_tbl);

2
tools/chatgui/db/db_manager.cpp

@ -250,8 +250,6 @@ QMap<quint64, QString> DbManager::getLocalNicknames(const QString& chId) const {
void DbManager::cleanOrphanedPeers(const QString& chId) const {
if (!m_db) return;
QByteArray alt = QString("ALTER TABLE \"%1\" ADD COLUMN local_nick TEXT").arg(peersTableName(chId)).toUtf8();
sqlite3_exec(m_db, alt.constData(), nullptr, nullptr, nullptr);
QString sql = QStringLiteral(
"DELETE FROM \"%1\" WHERE node_id NOT IN (SELECT node_id FROM nodes)"
).arg(peersTableName(chId));

4
tools/chatgui/src/memberpropsdialog.cpp

@ -59,10 +59,6 @@ MemberPropsDialog::MemberPropsDialog(DbManager* db, const QString& channelId,
"ALTER TABLE \"%1\" ADD COLUMN adm_tags_sig BLOB"
).arg(tbl).toUtf8();
sqlite3_exec(m_db->m_db, alt.constData(), nullptr, nullptr, nullptr);
alt = QString(
"ALTER TABLE \"%1\" ADD COLUMN local_nick TEXT"
).arg(tbl).toUtf8();
sqlite3_exec(m_db->m_db, alt.constData(), nullptr, nullptr, nullptr);
}
auto* layout = new QVBoxLayout(this);

Loading…
Cancel
Save