From 39de3872ae70efe39c438aa9dec8728acf51bcd9 Mon Sep 17 00:00:00 2001 From: osamahammad21 Date: Thu, 11 Jun 2026 02:50:21 +0300 Subject: [PATCH 1/2] odb: initialize all tables in _dbDatabase::clear() constructor Signed-off-by: osamahammad21 --- src/odb/src/db/dbDatabase.cpp | 52 +++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/src/odb/src/db/dbDatabase.cpp b/src/odb/src/db/dbDatabase.cpp index 9087d7d0269..ffdd650325b 100644 --- a/src/odb/src/db/dbDatabase.cpp +++ b/src/odb/src/db/dbDatabase.cpp @@ -614,8 +614,57 @@ _dbDatabase::_dbDatabase(_dbDatabase* /* unused: db */, int id) dbu_per_micron_ = 0; hierarchy_ = false; + alignment_marker_rule_tbl_ = new dbTable<_dbAlignmentMarkerRule>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbAlignmentMarkerRuleObj); chip_tbl_ = new dbTable<_dbChip, 2>( this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbChipObj); + chip_hash_.setTable(chip_tbl_); + prop_tbl_ = new dbTable<_dbProperty>( + this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbPropertyObj); + chip_inst_tbl_ = new dbTable<_dbChipInst>( + this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbChipInstObj); + chip_region_inst_tbl_ = new dbTable<_dbChipRegionInst>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbChipRegionInstObj); + chip_conn_tbl_ = new dbTable<_dbChipConn>( + this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbChipConnObj); + chip_bump_inst_tbl_ + = new dbTable<_dbChipBumpInst>(this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbChipBumpInstObj); + chip_net_tbl_ = new dbTable<_dbChipNet>( + this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbChipNetObj); + unfolded_chip_inst_tbl_ = new dbTable<_dbUnfoldedChipInst>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbUnfoldedChipInstObj); + unfolded_chip_region_inst_tbl_ = new dbTable<_dbUnfoldedChipRegionInst>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbUnfoldedChipRegionInstObj); + unfolded_chip_bump_inst_tbl_ = new dbTable<_dbUnfoldedChipBumpInst>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbUnfoldedChipBumpInstObj); + unfolded_chip_conn_tbl_ = new dbTable<_dbUnfoldedChipConn>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbUnfoldedChipConnObj); + unfolded_chip_net_tbl_ = new dbTable<_dbUnfoldedChipNet>( + this, + this, + (GetObjTbl_t) &_dbDatabase::getObjectTable, + dbUnfoldedChipNetObj); gds_lib_tbl_ = new dbTable<_dbGDSLib, 2>( this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbGdsLibObj); @@ -626,9 +675,6 @@ _dbDatabase::_dbDatabase(_dbDatabase* /* unused: db */, int id) lib_tbl_ = new dbTable<_dbLib>( this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbLibObj); - prop_tbl_ = new dbTable<_dbProperty>( - this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable, dbPropertyObj); - name_cache_ = new _dbNameCache( this, this, (GetObjTbl_t) &_dbDatabase::getObjectTable); From 58130007dcecc7ae6800cfd3a968e534fa59e87b Mon Sep 17 00:00:00 2001 From: osamahammad21 Date: Thu, 11 Jun 2026 14:55:54 +0300 Subject: [PATCH 2/2] odb: fix dangling logger Signed-off-by: osamahammad21 --- src/odb/src/db/dbDatabase.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/odb/src/db/dbDatabase.cpp b/src/odb/src/db/dbDatabase.cpp index ffdd650325b..a74216ca5f3 100644 --- a/src/odb/src/db/dbDatabase.cpp +++ b/src/odb/src/db/dbDatabase.cpp @@ -609,7 +609,6 @@ _dbDatabase::_dbDatabase(_dbDatabase* /* unused: db */, int id) schema_major_ = kSchemaMajor; schema_minor_ = kSchemaMinor; master_id_ = 0; - logger_ = nullptr; unique_id_ = id; dbu_per_micron_ = 0; hierarchy_ = false;