diff --git a/main/datalog.go b/main/datalog.go index 7008a0aa..754a951e 100644 --- a/main/datalog.go +++ b/main/datalog.go @@ -216,19 +216,25 @@ func bulkInsert(tbl string, db *sql.DB) (res sql.Result, err error) { batchVals := insertBatchIfs[tbl] for len(batchVals) > 0 { - i := int(0) // Maximum of 10 rows per INSERT statement. + i := int(0) // Maximum of 25 rows per INSERT statement. stmt := "" vals := make([]interface{}, 0) - for len(batchVals) > 0 && i < 10 { + querySize := uint64(0) // Size of the query in bytes. + for len(batchVals) > 0 && i < 25 { if len(stmt) == 0 { // The first set will be covered by insertString. stmt = insertString[tbl] } else { stmt += ", (" + strings.Join(strings.Split(strings.Repeat("?", len(batchVals[0])), ""), ",") + ")" } + for _, val := range batchVals[0] { + querySize += len(string(val)) + } vals = append(vals, batchVals[0]...) batchVals = batchVals[1:] i++ } + querySize += len(stmt) + log.Printf("inserting. querySize=%d\n", querySize) res, err = db.Exec(stmt, vals...) if err != nil { return @@ -382,6 +388,15 @@ func dataLog() { } defer db.Close() + _, err = db.Exec("PRAGMA journal_mode=WAL") + if err != nil { + log.Printf("db.Exec('PRAGMA journal_mode=WAL') err: %s\n", err.Error()) + } + _, err = db.Exec("PRAGMA synchronous=OFF") + if err != nil { + log.Printf("db.Exec('PRAGMA journal_mode=WAL') err: %s\n", err.Error()) + } + go dataLogWriter(db) // Do we need to create the database? diff --git a/selfupdate/update_header.sh b/selfupdate/update_header.sh index 1e8cbc49..e6266914 100755 --- a/selfupdate/update_header.sh +++ b/selfupdate/update_header.sh @@ -3,5 +3,4 @@ rm -rf /root/stratux-update mkdir -p /root/stratux-update cd /root/stratux-update -service stratux stop mv -f /var/log/stratux.sqlite /var/log/stratux.sqlite.`date +%s`