From af46d0424e0722b49b2dfcc3e6243bb488a59171 Mon Sep 17 00:00:00 2001 From: avsdev-cw Date: Mon, 9 Nov 2020 12:37:21 +0000 Subject: [PATCH] Added length to objects table --- src/modb_database_p.c | 3 ++- src/modb_objects.c | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modb_database_p.c b/src/modb_database_p.c index 5971f51..d854aec 100644 --- a/src/modb_database_p.c +++ b/src/modb_database_p.c @@ -289,7 +289,8 @@ uint64_t createObjectsTable(stored_conn *sconn, modb_ref *modb) OBJECTS_TABLE, STR_LEN(OBJECTS_TABLE), "(" "`mdo_id` INT UNSIGNED NOT NULL, " - "`object` MEDIUMBLOB NULL, " + "`length` INT UNSIGNED NOT NULL, " + "`object` LONGBLOB NULL, " "PRIMARY KEY (`mdo_id`)" ")", 0 ); diff --git a/src/modb_objects.c b/src/modb_objects.c index b5d63bd..a302d9d 100644 --- a/src/modb_objects.c +++ b/src/modb_objects.c @@ -233,9 +233,11 @@ int64_t modbObjectCreate(stored_conn *sconn, modb_ref *modb, strbld_str(sb, "INSERT INTO ", 0); escapeTableName_sb(sb, table, table_len); - strbld_str(sb, " (`mdo_id`, `object`) VALUES (", 0); + strbld_str(sb, " (`mdo_id`, `length`, `object`) VALUES (", 0); db_value_sb(sb, TYPE_ID, 1, object->id); strbld_char(sb, ','); + db_value_sb(sb, TYPE_UINT32, 1, object->data_len); + strbld_char(sb, ','); db_value_sb(sb, TYPE_BLOB, 2, object->data_c, object->data_len); strbld_char(sb, ')'); @@ -270,6 +272,8 @@ int64_t modbObjectUpdate(stored_conn *sconn, modb_ref *modb, unsigned int id, columnSetValueStr_sb(sb, "mdo_id", TYPE_ID, 1, object->id); } if (object->data_c != 0) { + strbld_char(sb, ','); + columnSetValueStr_sb(sb, "length", TYPE_UINT32, 1, object->data_len); strbld_char(sb, ','); columnSetValueStr_sb(sb, "object", TYPE_BLOB, 2, object->data_c, object->data_len); }