|
121 | 121 | ## var id = 1 |
122 | 122 | ## ## Data needs to be converted to seq[byte] to be interpreted as binary by bindParams |
123 | 123 | ## var dbuf = newSeq[byte](orig.len*sizeof(float64)) |
124 | | -## copyMem(unsafeAddr(dbuf[0]), unsafeAddr(orig[0]), dbuf.len) |
| 124 | +## copyMem(addr(dbuf[0]), addr(orig[0]), dbuf.len) |
125 | 125 | ## |
126 | 126 | ## ## Use prepared statement to insert binary data into database |
127 | 127 | ## var insertStmt = db.prepare("INSERT INTO test (id, data) VALUES (?, ?)") |
|
138 | 138 | ## let seqSize = int(dataTest.len*sizeof(byte)/sizeof(float64)) |
139 | 139 | ## ## Copy binary string data in dataTest into a seq |
140 | 140 | ## var res: seq[float64] = newSeq[float64](seqSize) |
141 | | -## copyMem(unsafeAddr(res[0]), addr(dataTest[0]), dataTest.len) |
| 141 | +## copyMem(addr(res[0]), addr(dataTest[0]), dataTest.len) |
142 | 142 | ## |
143 | 143 | ## ## Check datas obtained is identical |
144 | 144 | ## doAssert res == orig |
@@ -827,7 +827,7 @@ proc bindParam*(ps: SqlPrepared, paramIdx: int,val: openArray[byte], copy = true |
827 | 827 | ## binds a blob to the specified paramIndex. |
828 | 828 | ## if copy is true then SQLite makes its own private copy of the data immediately |
829 | 829 | let len = val.len |
830 | | - if bind_blob(ps.PStmt, paramIdx.int32, val[0].unsafeAddr, len.int32, if copy: SQLITE_TRANSIENT else: SQLITE_STATIC) != SQLITE_OK: |
| 830 | + if bind_blob(ps.PStmt, paramIdx.int32, val[0].addr, len.int32, if copy: SQLITE_TRANSIENT else: SQLITE_STATIC) != SQLITE_OK: |
831 | 831 | dbBindParamError(paramIdx, val) |
832 | 832 |
|
833 | 833 | macro bindParams*(ps: SqlPrepared, params: varargs[untyped]): untyped {.since: (1, 3).} = |
|
0 commit comments