fix ChiselDB core dumped bug

This commit is contained in:
huanglingfeng 2022-08-11 17:21:01 +08:00
parent 29d2584875
commit 91d930c288
1 changed files with 5 additions and 3 deletions

View File

@ -87,13 +87,15 @@ class Table[T <: Record](val tableName: String, val hw: T) extends HasTableUtils
| char * site
|) {
| if(!dump) return;
| char sql[512];
| char * format = "INSERT INTO $tableName(${cols.map(_.toUpperCase).mkString(",")}, STAMP, SITE) " \\
| "VALUES(${cols.map(_ => "%ld").mkString(", ")}, %ld, '%s');";
| char * sql = (char *)malloc(${cols.size + 1} * sizeof(uint64_t) + (strlen(format)+strlen(site)) * sizeof(char));
| sprintf(sql,
| "INSERT INTO $tableName(${cols.map(_.toUpperCase).mkString(",")}, STAMP, SITE) " \\
| "VALUES(${cols.map(_ => "%ld").mkString(", ")}, %ld, '%s');",
| format,
| ${cols.mkString(",")}, stamp, site
| );
| rc = sqlite3_exec(mem_db, sql, callback, 0, &zErrMsg);
| free(sql);
| if(rc != SQLITE_OK) {
| printf("SQL error: %s\\n", zErrMsg);
| exit(0);