Merge pull request #95 from huanglingfeng/chisel-db-fixed

fix ChiselDB core dumped bug
This commit is contained in:
Jiawei Lin 2022-08-12 12:43:03 +08:00 committed by GitHub
commit 5e4f5c01a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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);