Skip to content

Commit ef02ac9

Browse files
committed
sqlite: Add node id to data use metadata
1 parent 6d04913 commit ef02ac9

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

metadata_writer_inventory_conn.c

+13-12
Original file line numberDiff line numberDiff line change
@@ -249,29 +249,30 @@ static int32_t md_inventory_execute_insert_usage(struct md_writer_sqlite *mws,
249249
//For modems we need both IMEI and ICCID. ICCID is currently stored in the
250250
//interface_id variable, so some special handling is needed for now
251251
if (mce->imei) {
252-
if (sqlite3_bind_text(stmt, 1, mce->imei, strlen(mce->imei), SQLITE_STATIC) ||
253-
sqlite3_bind_text(stmt, 6, mce->imsi, strlen(mce->imsi), SQLITE_STATIC)) {
252+
if (sqlite3_bind_text(stmt, 2, mce->imei, strlen(mce->imei), SQLITE_STATIC) ||
253+
sqlite3_bind_text(stmt, 7, mce->imsi, strlen(mce->imsi), SQLITE_STATIC)) {
254254
META_PRINT_SYSLOG(mws->parent, LOG_ERR, "Failed to bind IMEI/IMSI\n");
255255
return SQLITE_ERROR;
256256
}
257257

258-
interface_id_idx = 5;
258+
interface_id_idx = 6;
259259
} else {
260-
if (sqlite3_bind_text(stmt, 5, no_iccid_str, strlen(no_iccid_str), SQLITE_STATIC) ||
261-
sqlite3_bind_text(stmt, 6, no_iccid_str, strlen(no_iccid_str), SQLITE_STATIC)) {
260+
if (sqlite3_bind_text(stmt, 6, no_iccid_str, strlen(no_iccid_str), SQLITE_STATIC) ||
261+
sqlite3_bind_text(stmt, 7, no_iccid_str, strlen(no_iccid_str), SQLITE_STATIC)) {
262262
META_PRINT_SYSLOG(mws->parent, LOG_ERR, "Failed to bind empty IMEI/IMSI\n");
263263
return SQLITE_ERROR;
264264
}
265265
}
266266

267-
if (sqlite3_bind_text(stmt, interface_id_idx, mce->interface_id,
267+
if (sqlite3_bind_int(stmt, 1, mws->node_id) ||
268+
sqlite3_bind_text(stmt, interface_id_idx, mce->interface_id,
268269
strlen(mce->interface_id), SQLITE_STATIC) ||
269-
sqlite3_bind_int(stmt, 2, mce->network_address_family) ||
270-
sqlite3_bind_int(stmt, 3, mce->event_type) ||
271-
sqlite3_bind_int(stmt, 4, mce->event_param) ||
272-
sqlite3_bind_int64(stmt, 7, date_start) ||
273-
sqlite3_bind_int64(stmt, 8, mce->rx_bytes) ||
274-
sqlite3_bind_int64(stmt, 9, mce->tx_bytes)) {
270+
sqlite3_bind_int(stmt, 3, mce->network_address_family) ||
271+
sqlite3_bind_int(stmt, 4, mce->event_type) ||
272+
sqlite3_bind_int(stmt, 5, mce->event_param) ||
273+
sqlite3_bind_int64(stmt, 8, date_start) ||
274+
sqlite3_bind_int64(stmt, 9, mce->rx_bytes) ||
275+
sqlite3_bind_int64(stmt, 10, mce->tx_bytes)) {
275276
META_PRINT_SYSLOG(mws->parent, LOG_ERR, "Failed to bind values to INSERT usage query\n");
276277
return SQLITE_ERROR;
277278
}

metadata_writer_sqlite.c

+2
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@ static int md_sqlite_configure(struct md_writer_sqlite *mws,
481481
if (mws->node_id && (md_sqlite_update_nodeid_db(mws, UPDATE_EVENT_ID) ||
482482
md_sqlite_update_nodeid_db(mws, UPDATE_UPDATES_ID) ||
483483
md_sqlite_update_nodeid_db(mws, UPDATE_GPS_ID) ||
484+
md_sqlite_update_nodeid_db(mws, UPDATE_USAGE_ID) ||
484485
md_sqlite_update_nodeid_db(mws, UPDATE_SYSTEM_ID))) {
485486
META_PRINT_SYSLOG(mws->parent, LOG_ERR, "Could not update old ements with id 0\n");
486487
return RETVAL_FAILURE;
@@ -769,6 +770,7 @@ static void md_sqlite_handle_timeout(void *ptr)
769770
if (md_sqlite_update_nodeid_db(mws, UPDATE_EVENT_ID) ||
770771
md_sqlite_update_nodeid_db(mws, UPDATE_UPDATES_ID) ||
771772
md_sqlite_update_nodeid_db(mws, UPDATE_GPS_ID) ||
773+
md_sqlite_update_nodeid_db(mws, UPDATE_USAGE_ID) ||
772774
md_sqlite_update_nodeid_db(mws, UPDATE_SYSTEM_ID)) {
773775
META_PRINT_SYSLOG(mws->parent, LOG_ERR, "Could not update node id in database\n");
774776

metadata_writer_sqlite.h

+7-2
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
"PRIMARY KEY(NodeId,Timestamp,Sequence))"
108108

109109
#define CREATE_USAGE_SQL "CREATE TABLE IF NOT EXISTS DataUse(" \
110+
"NodeId INTEGER NOT NULL," \
110111
"DeviceId TEXT NOT NULL," \
111112
"NetworkAddressFamily INTEGER NOT NULL," \
112113
"EventType INTEGER NOT NULL," \
@@ -152,10 +153,10 @@
152153
",Sequence,Boottime) " \
153154
"VALUES (?,?,?,?)"
154155

155-
#define INSERT_USAGE "INSERT INTO DataUse(DeviceId,NetworkAddressFamily,EventType,EventParam" \
156+
#define INSERT_USAGE "INSERT INTO DataUse(NodeId, DeviceId,NetworkAddressFamily,EventType,EventParam" \
156157
",SimCardIccid" \
157158
",SimCardImsi,Timestamp,RxData,TxData) " \
158-
"VALUES (?,?,?,?,?,?,?,?,?)"
159+
"VALUES (?, ?,?,?,?,?,?,?,?,?)"
159160

160161
#define INSERT_REBOOT_EVENT "INSERT INTO RebootEvent(NodeId, BootCount," \
161162
"BootMultiplier, Timestamp, Sequence, EventType, DeviceId)"\
@@ -205,6 +206,10 @@
205206
"NodeId=? "\
206207
"WHERE NodeId=0"
207208

209+
#define UPDATE_USAGE_ID "UPDATE DataUse SET " \
210+
"NodeId=? " \
211+
"WHERE NodeId=0"
212+
208213
#define UPDATE_EVENT_TSTAMP "UPDATE NetworkEvent SET " \
209214
"Timestamp = (Timestamp - ?) + ? "\
210215
"WHERE Timestamp < ?"

0 commit comments

Comments
 (0)