SQLite 3.16.0/3.16.1 Status Board

History    Checklist    Baseline

 
1.   Test procedure review. drh ok  *
 
a.   Review the "test/releasetest.tcl" script for completeness and accuracy. drh ok  *
b.   Review "multitest.tcl" and "alignment*.rc" scripts in TH3 for completeness. drh ok  *
c.   Review this checklist for completeness and accuracy. drh ok  *
 
2.   Source code change review. fossil diff --from release --to trunk drh ok  *
 
a.   No stray changes. drh ok  *
b.   All significant changes are mentioned in the "changes" log of the documentation. drh ok  *
c.   New code complies with style guidelines. drh ok  *
d.   New code complies with design rules. drh ok  *
e.   Comments have been updated to reflect code changes. drh ok  *
f.   Variables and functions have been renamed to reflect changes in their use. drh ok  *
g.   Check all calls to sqlite3OsRead() and sqlite3OsWrite() to ensure that offset computations are 64-bit clean. drh ok  *
h.   Check all calls to memory allocation routines to ensure that size computations are 64-bit clean. Suggested regular expression for search: /(Re|M)alloc[FORZa-z]*\(/ drh ok  *
i.   Verify that source code contains no tabs and that surplus whitespace has been removed. drh ok  *
j.   Verify that the list of APIs exposed via the extension header is up-to-date (sqlite3ext.h). drh ok  *
k.   Significant compile-time options are recognized by the sqlite3_compileoption_used() interface. drh ok  *
 
3.   Documentation review: drh ok  *
 
a.   Latest release on the "index.html" page. drh ok  *
b.   Release announcement in "changes.in". drh ok  *
c.   Release accouncement in "news.html". drh ok  *
d.   No unresolved hyperlinks in the documentation build. drh ok  *
e.   Requirements marks are up-to-date in both documentation and source code. drh ok  *
f.   The compile-time options are all up-to-date (compile.html). drh ok  *
g.   Database footprint is up-to-date (features.html). drh ok  *
h.   Test metrics are up-to-date (testing.html). drh ok  *
i.   Check new/changed documentation for spelling and gramatical mistakes. drh ok  *
 
4.   Compiler warning checks. drh ok  *
 
a.   Linux GCC -Wall -Wextra (the "tool/warnings.sh" script) drh ok  *
b.   Mac OS X GCC -Wall -Wextra (the "tool/warnings.sh" script) drh ok  *
c.   OpenBSD GCC using options -Wall drh ok  *
d.   Windows (32-bit) MSVC using option /W4 (nmake /f makefile.msc USE_FULLWARN=1) drh ok  *
e.   Windows (64-bit) MSVC using option /W4 (nmake /f makefile.msc USE_FULLWARN=1) drh ok  *
 
5.   OMIT, ENABLE, and DISABLE options: drh ok  *
 
a.   tclsh ../tool/omittest.tcl -skip_run -target libsqlite3.a drh ok  *
 
6.   Tests for platform Linux x86_64: drh ok  *
 
a.   tclsh multitest.tcl (take care to update ../th3private)
0 failures on 39 th3makes and 175130566 tests in (05:02:03) 3 cores on bella • SQLite 3.16.0 2016-12-30 00:09:14 f57952bac652901e1bd48b68301941efbcf29dc4 • 0 failures on 40 th3makes and 176896500 tests in (05:11:27) 3 cores on bella • SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • 0 failures on 40 th3makes and 176933761 tests in (05:02:27) 3 cores on bella • SQLite 3.16.0 2017-01-01 12:44:07 2c4d167ccd4be591487f404de9ee629fd484c8bf • 0 failures on 40 th3makes and 177257436 tests in (05:14:40) 3 cores on bella • SQLite 3.16.1 2017-01-03 16:03:22 a60b60d6b6ba3e3b17b7bb7d7e19ea0e6b40fa68
drh ok+++  *
b.   Check the "multitest.tcl" log files for undetected errors. drh ok  *
c.   tclsh releasetest.tcl
0 failures out of 9760347 tests in (02:04:42) 2 cores on bella • SQLite 3.16.0 2016-12-29 19:48:46 afcdc4a60e357d171156e0de705bf7ad1b37daab • Later: 4 failures out of 9765790 tests in (01:57:29) 2 cores on bella • SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • Run on a RAM-disk; all failures are the result of insufficient disk space. • Later still: • 0 failures out of 9764392 tests in (01:29:48) 3 cores on bella • SQLite 3.16.0 2017-01-01 12:44:07 2c4d167ccd4be591487f404de9ee629fd484c8bf • 3.16.1: • 0 failures out of 9766045 tests in (01:43:20) 3 cores on darkstar • SQLite 3.16.1 2017-01-03 16:03:22 a60b60d6b6ba3e3b17b7bb7d7e19ea0e6b40fa68
drh ok+++  *
d.   Check the "releasetest.tcl" log files for undetected errors. drh ok  *
e.   tclsh multitest.tcl --scenario failures - all failures detected drh ok  *
f.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
g.   sh tool/symbols.sh - no incorrect exports or dependencies drh ok  *
 
7.   Tests for platform Linux ARM (BeagleBoard) dan ok  *
 
a.   tclsh th3make min.rc
th3: 0 errors in 1630244 tests. 4832.934 seconds on beaglebone 32-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
dan ok  *
b.   Recompile and test Fossil.
[fossil sync] works. [fossil -all rebuild] works.
dan ok  *
 
8.   Tests for platform Mac OS X: drh ok  *
 
a.   tclsh releasetest.tcl
0 failures out of 4718538 tests in (03:50:47) on macpro01 • SQLite 3.16.0 2016-12-29 19:48:46 afcdc4a60e357d171156e0de705bf7ad1b37daab0 • 0 failures out of 4721133 tests in (02:41:42) on macpro01 • SQLite 3.16.0 2017-01-01 12:44:07 2c4d167ccd4be591487f404de9ee629fd484c8bf • 0 failures out of 4720955 tests in (02:43:49) on macpro01 • SQLite 3.16.1 2017-01-03 16:03:22 a60b60d6b6ba3e3b17b7bb7d7e19ea0e6b40fa68
drh ok++  *
b.   tclsh multitest.tcl --omit test-ex (after updating th3private)
0 failures on 35 th3makes and 142464388 tests in (08:57:04) 2 cores on macpro01 • SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • Later using the -quick option: • 0 failures on 13 th3makes and 16221307 tests in (00:41:47) on macpro01 • SQLite 3.16.0 2017-01-01 12:44:07 2c4d167ccd4be591487f404de9ee629fd484c8bf
drh ok+  *
c.   tclsh multitest.tcl --scenario failures - all failures detected drh ok  *
d.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
 
9.   Tests for platform Mac OS X 10.2 (PPC): drh ok  *
 
a.   tclsh th3make quick.rc
th3: 0 errors in 1626801 tests. 5103.281 seconds on crabapple.local. 32-bit big-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
b.   Recompile and test Fossil. drh ok  *
c.   Verify that Fossil repositories are cross-platform with x86/x64. drh ok  *
 
10.   Tests for platform Windows: drh ok  *
 
a.   tclsh multitest.tcl (after updating th3private)
0 failures on 34 th3makes and 133561145 tests in (08:17:16) 3 cores on DESKTOP-8U9G1N8 • SQLite 3.16.0 2016-12-30 15:16:20 a0971e713682a73d8c7c20511db256c20d2f6388 • 0 failures on 34 th3makes and 137777415 tests in (09:24:17) 3 cores on DESKTOP-8U9G1N8 • SQLite 3.16.0 2017-01-01 12:44:07 2c4d167ccd4be591487f404de9ee629fd484c8bf • On 3.16.1 with --quick: • 0 failures on 13 th3makes and 16469167 tests in (01:21:41) on DESKTOP-8U9G1N8 • SQLite 3.16.1 2017-01-03 16:03:22 a60b60d6b6ba3e3b17b7bb7d7e19ea0e6b40fa68
drh ok++  *
b.   tclsh multitest.tcl --quick on x86
0 failures on 12 th3makes and 14844207 tests in (02:32:28) on win7dev • SQLite 3.16.0 2016-12-30 00:09:14 f57952bac652901e1bd48b68301941efbcf29dc4
drh ok  *
c.   tclsh multitest.tcl --scenario failures - verify failures detected drh ok  *
d.   tclsh test/releasetest.tcl --msvc
0 failures out of 1969394 tests in (02:09:52) on DESKTOP-8U9G1N8 • SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
e.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
f.   nmake /f makefile.msc MEMDEBUG=1 DEBUG=3 fulltestonly
SQLite 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • 0 errors out of 1209786 tests on DESKTOP-8U9G1N8 Windows NT 64-bit little-endian
drh ok  *
g.   nmake /f makefile.msc WIN32HEAP=1 DEBUG=4 fulltestonly
SQLite 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • 0 errors out of 1212507 tests on DESKTOP-8U9G1N8 Windows NT 64-bit little-endian
drh ok  *
h.   sh tool/symbols-mingw.sh - no incorrect exports or dependencies drh ok  *
i.   Verify that EXEs and DLLs generated using MSVC contain the correct version number, product name, description, and copyright as resources. drh ok  *
 
11.   Tests for alternative and special-purpose Windows systems mistachkin ok  *
 
a.   th3make msvc.rc winrt.rc min.rc - Windows Runtime 8.0 (x86)
0 errors in 1626271 tests. 817.156 seconds on 32-bit little-endian, SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
mistachkin ok  *
b.   th3make msvc.rc winrt.rc min.rc - Windows Runtime 8.0 (ARM)
0 errors in 1626290 tests. 5221.114 seconds on 32-bit little-endian, SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
mistachkin ok  *
c.   th3make msvc.rc winrt.rc min.rc - Windows Runtime 8.1
0 errors in 1626275 tests. 7313.492 seconds on 32-bit little-endian, SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
mistachkin ok  *
d.   th3make msvc.rc wp80.rc min.rc - Windows Phone 8.0
0 errors in 1625022 tests. 1145.842 seconds on 32-bit little-endian, SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
mistachkin ok  *
e.   th3make msvc.rc wp81.rc min.rc - Windows Phone 8.1
0 errors in 1625022 tests. 3259.299 seconds on 32-bit little-endian, SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
mistachkin ok  *
f.   th3make msvc.rc wince.rc min.rc - Windows Embedded Compact 2013 - When tests are going to be run on the [Hyper-V based] emulator, no-mmap.rc must be used as well.
0 errors in 1632648 tests. 3953.518 seconds on 32-bit little-endian, SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
mistachkin ok  *
 
12.   Tests for platform OpenBSD (x86): drh ok  *
 
a.   make test
SQLite 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • 0 errors out of 140562 tests on wolfman.devio.us OpenBSD 32-bit little-endian
drh ok  *
b.   th3make quick.rc
th3: 0 errors in 1627998 tests. 2420.317 seconds on wolfman.devio.us 32-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
 
13.   Sqllogictest: drh ok  *
 
a.   Checked in latest SQLite amalgamation. drh ok  *
b.   No SQLite compiler warnings. drh ok  *
c.   tclsh run-all.tcl - on unix
0 errors out of 11879758 tests and 1244 invocations in 1043 seconds
drh ok  *
d.   tclsh run-all.tcl - on windows
0 errors out of 11879758 tests and 1244 invocations in 3478 seconds
drh ok  *
 
14.   Build using the configure/make in main source tree. drh ok  *
 
a.   Make sure that autoconf has been run to update the configure script. drh ok  *
b.   Verify the correct version numbers have been installed. drh ok  *
 
15.   Fossil updated to use the latest SQLite. drh ok  *
 
a.   No SQLite compiler warnings. drh ok  *
b.   Used on active websites with no issues. drh ok  *
c.   fossil all dbstat --db-check drh ok  *
 
16.   Rebuild and use Firefox with the latest SQLite drh ok  *
 
a.   ./mach mochitest dom/indexedDB
26725 passed. No errors. SQLite 2017-01-05 13:52:54 ca185808ade195875918b5bad1762bcd8ec39457
drh ok  *
b.   ./mach xpcshell-test dom/indexedDB
203 tests passed (1 skipped) for SQLite 2017-01-05 13:52:54 ca185808ade195875918b5bad1762bcd8ec39457
drh ok  *
c.   ./mach web-platform-tests IndexedDB
1204 passed, no errors. SQLite 2017-01-05 13:52:54 ca185808ade195875918b5bad1762bcd8ec39457
drh ok  *
 
17.   CEROD tests in the "test/" subdirectory. drh ok  *
 
18.   SEE tests using TH3: drh ok  *
 
a.   see.c
th3: 0 errors in 1715055 tests. 1311.666 seconds on win7dev 32-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
b.   see-aes128-ofb.c
th3: 0 errors in 1715076 tests. 1245.665 seconds on win7dev 32-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
c.   see-aes256-ofb.c
th3: 0 errors in 8173328 tests. 4800.608 seconds on bella 64-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
d.   see-rc4.c
th3: 0 errors in 6420271 tests. 6621.476 seconds on sqlite-imac 64-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
e.   see-aes128-ccm.c
th3: 0 errors in 1664474 tests. 357.159 seconds on macpro01 64-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
f.   see-cccrypt.c
th3: 0 errors in 1664244 tests. 277.987 seconds on macpro01 64-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
g.   At least one of the above using "test.rc". drh ok  *
h.   At least one of the above using "memdebug.rc". drh ok  *
i.   At least one of the above on Linux. drh ok  *
j.   At least one of the above on Mac OS X. drh ok  *
k.   At least one of the above on Windows. drh ok  *
 
19.   SEE using configure; make test drh ok  *
 
a.   Linux
SQLite 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • 0 errors out of 140445 tests on darkstar Linux 64-bit little-endian • • Works if (1) build is done in root of source tree and (2) $(SRCROOT)/../sqlite/ is the root of an SQLite source tree in which a build has been run (to generate interim *.h files like parse.h).
dan ok  *
b.   Mac
Works if using the default "any" codec (i.e. sqlite3-see.c). But fails if the CCCrypt() function is detected within -lcccrypt and it attempts to use sqlite3-cccrypt.c instead. • SQLite 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • 0 errors out of 139834 tests on macpro01 Darwin 64-bit little-endian
drh ok  *
 
20.   ZIPVFS tests: dan ok  *
 
a.   testfixture ../zipvfs/test/zipvfs.test (See test/README.txt in the ZIPVFS source tree for details.)
SQLite 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
dan ok  *
b.   th3make zipvfs.rc test.rc
th3: 0 errors in 9989367 tests. 2717.122 seconds on darkstar 64-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
dan ok  *
c.   th3make zipvfs.rc memdebug.rc
th3: 0 errors in 8262353 tests. 15480.046 seconds on Chanphen-Kruatawongs-iMac.local 64-bit little-endian
dan ok  *
d.   th3make zipvfs.rc quick.rc -valgrind
th3: 0 errors in 2782598 tests. 24467.051 seconds on darkstar 64-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d • ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
dan ok  *
e.   th3make zipvfs.rc quick.rc
th3: 0 errors in 2841604 tests. 4015.885 seconds on win7dev 32-bit little-endian • th3: SQLite 3.16.0 2016-12-30 17:40:14 14d855d2b2b5b3485e0673d11405db7266b34c6d
drh ok  *
f.   At least one of the above on Linux.
a, b, d and i.
dan ok  *
g.   At least one of the above on Mac OS X.
20C
dan ok  *
h.   At least one of the above on Windows. drh ok  *
i.   th3make zipvfs-cov.rc - verify full coverage
Statement coverage: 100.00% hit 1573 missed 0 total 1573 • Branch coverage: 100.00% hit 931 missed 0 total 931
dan ok  *
 
21.   NX-Devkit testing dan ok  *
 
a.   Verify that devkit sources are up-to-date with SQLite and ZIPVFS by running update-src.sh and mkdevkit.tcl in the sbin subdirectory of the devkit source tree. Record nds_sqlite3.[ch] hashes in the comment. dan ok  *
b.   Build using: sh mkdevkit.sh; gcc -o nxc.o -c nx_compress.c
-rw-r--r-- 1 dan users 11256 Dec 31 17:03 nxc.o
dan ok  *
c.   Test using: tclsh th3make test.rc nxc.o -DNDS_ENABLE_COMPRESS dan ok  *
d.   Verify failure if run without -DNDS_ENABLE_COMPRESS
Segfaults in first test without that option.
dan ok+  *
 
22.   Amalgamation autoconf tarball. drh ok  *
 
a.   Builds. dan ok  *
b.   Works on Linux. dan ok  *
c.   Works on Mac OS X. dan ok  *
d.   Works on Windows MinGW drh ok  *
e.   Works on Windows MSVC drh ok  *
 
23.   TEA archive builds correctly and runs: dan ok  *
 
a.   Linux dan ok  *
b.   Mac OS X dan ok  *
 
24.   Performance tests using speedtest1 compared against the previous release and a release from about one year ago. drh ok  *
 
a.   Android
3.9.2: 118.319s • 3.15.0: 98.730s • 3.16.0: 94.206s
drh ok+  *
b.   Linux
3.9.2: 5.402s • 3.15.0: 4.635s • 3.16.0: 4.346s
drh ok  *
c.   Mac
3.9.2: 7.895s • 3.15.0: 6.258s • 3.16.0: 5.792s
drh ok  *
d.   Windows
On win7dev with MSVC 32-bit. • 3.9.2: 52.062s • 3.15.0: 41.738s • 3.16.0: 40.576s
drh ok+  *
 
25.   Run make wordcount; bash run-wordcount.bash $OPTIONS with options: drh ok  *
 
a.   bash run-wordcount.sh sqlite3.c
22% faster on Win7. 31% faster on Android. • On android, with --replace --without-rowid 3.15 is 103.596s vs 21.46s for 3.16. Almost 5x faster.
drh ok+  *
b.   bash run-wordcount.sh sqlite3.c --cachesize 5 --nosync
15% faster on Linux
drh ok  *
 
26.   Verify that the performance and size measurement spreadsheet in the documentation (misc/speed-size-graph.ods) is up-to-date. drh ok  *
 
27.   Verify that the amalgamation builds are byte-for-byte identical on all workstation platforms. drh ok  *
 
a.   Linux
911cb36ff8ce628b560f5e44df99193b02f4ed99 sqlite3.c • 4ccb5fd9fc8a0302e955880b38590ee221c3d696 sqlite3.h
drh ok  *
b.   Mac OS X
911cb36ff8ce628b560f5e44df99193b02f4ed99 sqlite3.c • 4ccb5fd9fc8a0302e955880b38590ee221c3d696 sqlite3.h
drh ok  *
c.   OpenBSD
911cb36ff8ce628b560f5e44df99193b02f4ed99 sqlite3.c • 4ccb5fd9fc8a0302e955880b38590ee221c3d696 sqlite3.h
drh ok  *
d.   Windows using native MinGW.
911cb36ff8ce628b560f5e44df99193b02f4ed99 sqlite3.c • 4ccb5fd9fc8a0302e955880b38590ee221c3d696 sqlite3.h
drh ok  *
e.   Windows using NMAKE.
911cb36ff8ce628b560f5e44df99193b02f4ed99 sqlite3.c • 4ccb5fd9fc8a0302e955880b38590ee221c3d696 sqlite3.h
drh ok  *
 
28.   Verify that databases (including FTS3 and RTREE databases), rollback journals, and WAL files created by the release candidate are readable and writeable by historical versions of SQLite (as long as no unsupported features are used) and vice versa.
Tested against 3.7.3 and 3.8.2 using the backcompat.test script.
dan ok  *
 
29.   Build and verify correct operation of sqlite3_analyzer on: drh ok  *
 
a.   Linux drh ok  *
b.   Mac OS X drh ok  *
c.   Windows (MinGW) drh ok  *
d.   Windows (MSVC) drh ok  *
e.   A database containing WITHOUT ROWID tables. drh ok  *
 
30.   Build and verify sqldiff drh ok  *
 
a.   Linux drh ok  *
b.   Mac drh ok  *
c.   Windows drh ok  *
 
31.   Verify that the "sqlite3-all.c" build target works and that the resulting "sqlite3-all.c" file and its include files ("sqlite3-?.c") compile and run the same as the single-file amalgamation. drh ok  *
 
32.   System.Data.SQLite builds and checks out using the SQLite core. mistachkin ok  *
 
a.   Using Microsoft .NET Framework on Windows
14d855d2b2b5b3485e0673d11405db7266b34c6d, Debug NetFx46 x86: 0 errors/568 tests, 1055 seconds, Release NetFx46 x86: 0 errors/568 tests, 932 seconds, Debug NetFx451 x64: 0 errors/568 tests, 936 seconds, Release NetFx451 x64: 0 errors/568 tests, 934 seconds, 0 errors/24 tests (Debug NetCF20-ARM/NetCF35-ARM), 0 errors/24 tests (Release NetCF20-ARM/NetCF35-ARM)
mistachkin ok  *
b.   Using Mono on unix
14d855d2b2b5b3485e0673d11405db7266b34c6d, Debug Mono 4.6.1 on Ubuntu 15.10 x86_64: 0 errors/568 tests, 717 seconds, Release Mono 4.6.1 on Ubuntu 15.10 x86_64: 0 errors/568 tests, 664 seconds
mistachkin ok  *