You are not logged in.
AFAIR it is a common issue when the tests are run on a non-Win1252 version of Windows...
I know the test failed is, but at last has exception, this make test stopped, before not see this, need scroll to the end to see it, thanks!
2.2. File based memory map:
! Exception ESQLite3Exception raised with messsage:
! Error SQLITE_BUSY (5) - "database is locked"
Synopse framework used: 1.18
SQlite3 engine used: 3.8.6
Generated with: Delphi XE compiler
Time elapsed for all tests: 51.78s
Tests performed at 2014-8-16 17:43:41
Total assertions failed for all test suits: 213 / 6,983,127
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exitseem run multi-times, will get exception, no exact times, this is the full output
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 642us
- TRawUTF8List: 70,005 assertions passed 130.72ms
- TDynArray: 1,027,703 assertions passed 435.78ms
- TDynArrayHashed: 1,200,629 assertions passed 382.39ms
- TObjectListHashed: 999,879 assertions passed 1.04s
- TObjectDynArrayWrapper: 167,501 assertions passed 68.48ms
- Fast string compare: 7 assertions passed 1.01ms
- IdemPropName: 30 assertions passed 1.00ms
- Url encoding: 130 assertions passed 3.64ms
- GUID: 9,007 assertions passed 12.02ms
- IsMatch: 599 assertions passed 1.21ms
- Soundex: 35 assertions passed 1.11ms
- Numerical conversions: 1,092,575 assertions passed 531.06ms
- crc32c: 20,020 assertions passed 158.98ms
pas 48.79ms 122.2 MB/s fast 10.08ms 591.4 MB/s
- Curr 64: 20,053 assertions passed 3.77ms
- CamelCase: 11 assertions passed 928us
- Bits: 4,774 assertions passed 1.75ms
- Ini files: 7,004 assertions passed 62.27ms
- UTF8: 79,126 assertions passed 3.06s
- Iso 8601 date and time: 36,015 assertions passed 14.23ms
- Url decoding: 1,100 assertions passed 1.81ms
- Mime types: 20 assertions passed 1.06ms
! - TSynTable: 201 / 875 FAILED 35.28ms
- TSynCache: 404 assertions passed 1.54ms
- TSynFilter: 1,005 assertions passed 8.78ms
- TSynValidate: 677 assertions passed 3.75ms
- TSynLogFile: 42 assertions passed 4.93ms
Total failed: 201 / 4,739,248 - Low level common FAILED 6.03s
1.2. Low level types:
- RTTI: 58 assertions passed 1us
- Url encoding: 200 assertions passed 3.19ms
- Encode decode JSON: 262,292 assertions passed 394.27ms
- Variants: 5 assertions passed 358us
- Mustache renderer: 142 assertions passed 5.33ms
- TDocVariant: 71,670 assertions passed 298.17ms
! - BSON: 8 / 245,035 FAILED 7.63ms
Total failed: 8 / 579,402 - Low level types FAILED 721.88ms
1.3. Big table:
- TSynBigTable: 19,144 assertions passed 175.36ms
- TSynBigTableString: 16,091 assertions passed 74.67ms
- TSynBigTableMetaData: 384,060 assertions passed 3.64s
- TSynBigTableRecord: 452,185 assertions passed 8.08s
Total failed: 0 / 871,480 - Big table PASSED 11.98s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 25.31ms
- TPdfDocumentGDI: 5 assertions passed 550.03ms
Total failed: 1 / 7 - Synopse PDF FAILED 607.76ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 5.22ms
- MD5: 1 assertion passed 8.33ms
- SHA1: 5 assertions passed 6.62ms
- SHA256: 5 assertions passed 975us
- AES256: 16,815 assertions passed 1.16s
- RC4: 1 assertion passed 1.09ms
- Base64: 11,994 assertions passed 271.83ms
- CompressShaAes: 1,683 assertions passed 16.43ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 1.52s
1.6. Compression:
- In memory compression: 12 assertions passed 249.82ms
- GZIP format: 19 assertions passed 757.84ms
- ZIP format: 36 assertions passed 2.10s
- SynLZO: 3,006 assertions passed 181.41ms
- SynLZ: 30,019 assertions passed 1.39s
Total failed: 0 / 33,092 - Compression PASSED 4.72s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 475.98ms
- Virtual table direct access: 12 assertions passed 9.58ms
- TSQLTableJSON: 111,074 assertions passed 246.94ms
- TSQLRestClientDB: 608,165 assertions passed 25.17s
! - Regexp function: 3 / 4 FAILED 19.29ms
Total failed: 3 / 729,393 - File based FAILED 25.94s
2.2. File based memory map:
! Exception ESQLite3Exception raised with messsage:
! Error SQLITE_BUSY (5) - "database is locked"
Synopse framework used: 1.18
SQlite3 engine used: 3.8.6
Generated with: Delphi XE compiler
Time elapsed for all tests: 51.78s
Tests performed at 2014-8-16 17:43:41
Total assertions failed for all test suits: 213 / 6,983,127
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exitthis is the log content
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002547E1 SynSelfTests.TTestLowLevelCommon._TSynTable (2924) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00254BB8 SynSelfTests.TTestLowLevelCommon._TSynTable (2939) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425545 warn Test failed
20140816 17425545 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 00255209 SynSelfTests.TTestLowLevelCommon._TSynTable (2964) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425546 warn Test failed
20140816 17425546 fail TTestLowLevelCommon(01196840) Low level common: TSynTable "" stack trace API 002555F7 SynSelfTests.TTestLowLevelCommon._TSynTable (2979) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026AB12 SynSelfTests.TTestLowLevelTypes._BSON (5204) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C547 SynSelfTests.TTestLowLevelTypes._BSON (5297) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C5A9 SynSelfTests.TTestLowLevelTypes._BSON (5298) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C60B SynSelfTests.TTestLowLevelTypes._BSON (5299) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C6B3 SynSelfTests.TTestLowLevelTypes._BSON (5300) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C78B SynSelfTests.TTestLowLevelTypes._BSON (5301) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C847 SynSelfTests.TTestLowLevelTypes._BSON (5302) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17425632 warn Test failed
20140816 17425632 fail TTestLowLevelTypes(01196888) Low level types: BSON "" stack trace API 0026C8F3 SynSelfTests.TTestLowLevelTypes._BSON (5303) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17430832 warn Test failed
20140816 17430832 fail TTestSynopsePDF(011968D0) Synopse PDF: TPdfDocument "" stack trace API 0027C1F5 SynSelfTests.TTestSynopsePDF._TPdfDocument (6779) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434118 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 00005FC4 System.@HandleAnyException 000CD8F7 SynSQLite3.sqlite3_check (4512) 000CD118 SynSQLite3.TSQLRequest.Prepare (4403) 000CC527 SynSQLite3.TSQLRequest.Execute (4068) 000CA0F9 SynSQLite3.TSQLDatabase.Execute (3320) 000CA3BC SynSQLite3.TSQLDatabase.ExecuteNoException (3392) 000CB72E SynSQLite3.TSQLDatabase.DBOpen (3806) 000C9D11 SynSQLite3.TSQLDatabase.Create (3246) 001BDF1C mORMotSQLite3.TSQLRestClientDB.Create (1474) 00281366 SynSelfTests.TTestSQLite3Engine.RegexpFunction (7239) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434118 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 0000614C System.@HandleOnException
20140816 17434118 warn Test failed
20140816 17434118 fail TTestFileBased(0114CE68) File based: Regexp function "" stack trace API 0028142F SynSelfTests.TTestSQLite3Engine.RegexpFunction (7246) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434118 EXC ESQLite3Exception ("TSQLRequest.Reset called with no previous Request") at 000CD228 SynSQLite3.TSQLRequest.Reset (4430) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 0000614C System.@HandleOnException
20140816 17434118 warn Test failed
20140816 17434118 fail TTestFileBased(0114CE68) File based: Regexp function "" stack trace API 0028142F SynSelfTests.TTestSQLite3Engine.RegexpFunction (7246) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434118 EXC ESQLite3Exception ("TSQLRequest.Reset called with no previous Request") at 000CD228 SynSQLite3.TSQLRequest.Reset (4430) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 0000614C System.@HandleOnException
20140816 17434118 warn Test failed
20140816 17434118 fail TTestFileBased(0114CE68) File based: Regexp function "" stack trace API 0028142F SynSelfTests.TTestSQLite3Engine.RegexpFunction (7246) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434120 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 00005FC4 System.@HandleAnyException 000CD8F7 SynSQLite3.sqlite3_check (4512) 000CD118 SynSQLite3.TSQLRequest.Prepare (4403) 000CC527 SynSQLite3.TSQLRequest.Execute (4068) 000CA0F9 SynSQLite3.TSQLDatabase.Execute (3320) 000CA3BC SynSQLite3.TSQLDatabase.ExecuteNoException (3392) 000CB72E SynSQLite3.TSQLDatabase.DBOpen (3806) 000C9D11 SynSQLite3.TSQLDatabase.Create (3246) 0027FE0C SynSelfTests.TTestSQLite3Engine.DatabaseDirectAccess (7100) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434120 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 00005FC4 System.@HandleAnyException 000CD8F7 SynSQLite3.sqlite3_check (4512) 000CD118 SynSQLite3.TSQLRequest.Prepare (4403) 000CC527 SynSQLite3.TSQLRequest.Execute (4068) 000CA0F9 SynSQLite3.TSQLDatabase.Execute (3320) 000CA3BC SynSQLite3.TSQLDatabase.ExecuteNoException (3392) 000CBB96 SynSQLite3.TSQLDatabase.SetSynchronous (3836) 0027FE1F SynSelfTests.TTestSQLite3Engine.DatabaseDirectAccess (7102) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434130 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 00005FC4 System.@HandleAnyException 000CD8F7 SynSQLite3.sqlite3_check (4512) 000CD118 SynSQLite3.TSQLRequest.Prepare (4403) 000CC527 SynSQLite3.TSQLRequest.Execute (4068) 000CA0F9 SynSQLite3.TSQLDatabase.Execute (3320) 000CA3BC SynSQLite3.TSQLDatabase.ExecuteNoException (3392) 000CBED7 SynSQLite3.TSQLDatabase.SetWALMode (3876) 0028027B SynSelfTests.TTestSQLite3Engine.DatabaseDirectAccess (7138) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434130 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 00005FC4 System.@HandleAnyException 000CD8F7 SynSQLite3.sqlite3_check (4512) 000CD118 SynSQLite3.TSQLRequest.Prepare (4403) 000CC6F2 SynSQLite3.TSQLRequest.Execute (4116) 000CA354 SynSQLite3.TSQLDatabase.Execute (3382) 000CA480 SynSQLite3.TSQLDatabase.ExecuteNoException (3410) 000CBF4F SynSQLite3.TSQLDatabase.GetWALMode (3882) 0028029E SynSelfTests.TTestSQLite3Engine.DatabaseDirectAccess (7138) 002A71EF mORMotSelfTests.SQLite3ConsoleTests (205)
20140816 17434130 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 000CD8F7 SynSQLite3.sqlite3_check (4512) stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 0000614C System.@HandleOnException
20140816 17434136 EXCOS EAccessViolation (C0000005) at stack trace API 0009E8BC SynCommons.SynRtlUnwind (40922) 0000614C System.@HandleOnException not regardless the test failed, Just the exception make TestSQL3 not complete, thanks!
Synopse framework used: 1.18
SQlite3 engine used: 3.8.6
Generated with: Delphi XE compilerRun TestSQL3 as stand-alone, Sorry, after a machine reboot, then TestSQL can run complete, exception is gone, if can reproduce, I will repost here, thanks!
run TestSQL3 second time, will has exception, some log is below, thanks!
20140816 10132610 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 00406FC4 7C958723 7C95863C 7C80BEE7 004CE8F7 004CE118 004CD527 004CB0F9 004CB3BC 004CC72E 004CAD11 005BC64D 006840B5 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132610 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 00406FC4 7C958723 7C95863C 7C80BEE7 004CE8F7 004CE118 004CD527 004CB0F9 004CB3BC 004CCB96 006840CE 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132612 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132612 warn Test failed
20140816 10132612 fail TTestClientServerAccess(0119DC28) Client server access: TSQLHttpClient "" stack trace API 004A0BBE 004A542A 004906C5 00683E98 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132612 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132612 warn Test failed
20140816 10132612 fail TTestClientServerAccess(0119DC28) Client server access: HTTP client keep alive "" stack trace API 004A0BBE 004A542A 004906C5 0068459B 0068531A 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132612 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132612 warn Test failed
20140816 10132612 fail TTestClientServerAccess(0119DC28) Client server access: HTTP client multi connect "" stack trace API 004A0BBE 004A542A 004906C5 0068459B 00685367 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132612 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132612 warn Test failed
20140816 10132612 fail TTestClientServerAccess(0119DC28) Client server access: HTTP client encrypted "" stack trace API 004A0BBE 004A542A 004906C5 0068459B 006853B6 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132628 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132628 warn Test failed
20140816 10132628 fail TTestClientServerAccess(0119DC28) Client server access: Named pipe access "" stack trace API 004A0BBE 004A542A 004906C5 0068459B 006859C8 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132641 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132641 warn Test failed
20140816 10132641 fail TTestClientServerAccess(0119DC28) Client server access: Local window messages "" stack trace API 004A0BBE 004A542A 004906C5 0068459B 00685B2F 0049155E 006A81EF 006AE4B5 7C82F23B
20140816 10132641 EXC ESQLite3Exception ("Error SQLITE_BUSY (5) - \"database is locked\"") at 004CE8F7 stack trace API 0049F8BC 0040714C
20140816 10132641 EXCOS EAccessViolation (C0000005) at 005BF267 stack trace API 0049F8BC 0040714C perhaps interrelated the boolean value in json, i remember before Mongo integration, boolean value in json is true or false, but now is 0 or 1.
Confirm now it's worked, thank you for this quick fix, Best regards!
Just download the Last daily build, build TestSQL3, run it, has exception:
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 12.35ms
- TRawUTF8List: 70,005 assertions passed 136.00ms
! Exception EExternalException raised with messsage:
! External exception C000001D
Synopse framework used: 1.18
Generated with: Delphi XE compiler
Time elapsed for all tests: 350.34ms
Tests performed at 2014-5-27 8:52:23
Total assertions failed for all test suits: 0 / 0
! Some tests FAILED: please correct the code.
Done - Press ENTER to ExitThen Debug in IDE, when Project TestSQL3.exe raised exception class EExternalException with message 'External exception C000001D'. Click break, line at 21585.
function crc32csse42(crc: cardinal; buf: PAnsiChar; len: cardinal): cardinal;
...
{$ifdef ISDELPHI2010}
crc32 dword ptr eax,dword ptr [edx] //Line 21585 ==> at this line
{$else}DelphiXE in VmwareWorkstation, host is AMD64 cpu.
Found some link:
http://forums.vso-software.fr/error-ext … t4799.html
Update, Problem resoved, the javscript crc32 function work on ascii char, so before computer the crc32 value, need first utf8 encode the string, then computer result will same, thanks!
in web client, use below link crc32 function in
http://synopse.info/forum/viewtopic.php?pid=9485#p9485
computer such string:
ShipAgent/ShipSpecification?select=*&where=Name like :('%海洋皇后%'): OR ChineseName LIKE :('%海洋皇后%'):function(str, init)
init is 1725494238,
the result is 450260155
but in delphi test:
procedure TForm5.Button2Click(Sender: TObject);
var
url: RawUTF8;
fPrivateSaltHash: Cardinal;
aTimeStamp, aSignature, fLastTimeStamp: cardinal;
PTimeStamp: PAnsiChar;
aURLlength: Integer;
URISessionSignaturePos: integer;
s: RawUtf8;
c,c2: Cardinal;
begin
url := 'ShipAgent/ShipSpecification?select=*&where=Name like :(''%海洋皇后%''): OR ChineseName LIKE :(''%海洋皇后%''):&session_signature=0051C0FA00D9AABE1AD66CBB';
URISessionSignaturePos := length(url)-(17+24+1);
aURLlength := URISessionSignaturePos - 1;
PTimeStamp := @url[aURLLength+(20+8)]; // P^ points to Hexa8(TimeStamp)
fPrivateSaltHash := 407090865;
fLastTimeStamp := 14264847;
if not HexDisplayToCardinal(PTimeStamp,aTimeStamp) then s := s + 'Error1,';
if not (aTimeStamp>=fLastTimeStamp) then s := s + 'Error2,';
if not HexDisplayToCardinal(PTimeStamp+8,aSignature) then s := s + 'Error3,';
// if not (crc32(crc32(fPrivateSaltHash,PTimeStamp,8),pointer(url),aURLlength)=aSignature) then s := s + 'Error4,';
c := crc32(fPrivateSaltHash,PTimeStamp,8);
c2 := crc32(c,pointer(url),aURLlength);
if not (crc32(c,pointer(url),aURLlength)=aSignature) then s := s + 'Error4,';
showmessage(inttostr(c2));
end;the result is 1201321865,
this will cause TAuthSession.IsValidURL return false, then the web client will not pass Auth,
if no chinese word, then two crc32 result is same, which result is right, any help much appreciated, thanks!
Why on earth would you decode the URI at THttpApiServer level?
IMHO this is not the right place to do it.
This is up to the HTTP consumer service to decode the URI.
Sorry, I not follow this, when we Signature some url string, after encode, send to server, the server will response a 403 forbidden error, so any url has url escape char will not pass the default Auth, this is the reason.
For method service or interface service, I think if pass the decode url will better, we pass bababa url to server, then we get bababa url, not every service need implement decode, then get the original content, but current, I needn't do this, since mORMot has already make this parameter convert transparent, this is why interface service better than method service, thanks!
After further debug, in THttpApiServer
procedure THttpApiServer.Execute;
Context.fURL := Req^.pRawUrl; //change to ==> Context.fURL := UrlDecode(Req^.pRawUrl);
//since there has sock server, in THttpServer
procedure THttpServer.Process(ClientSock: THttpServerSocket; aCallingThread: TNotifiedThread);
with ClientSock do begin
//here set parameter Together, need also adjustment
Context.Prepare(URL,Method,HeaderGetText,Content,ContentType);if add this decode to url, after this will pass auth,
but there is problem in function UrlDecodeNextValue
procedure TSQLRestServerURIContext.ExecuteORMGet;
...
//here Parameters is the decode value such this: 'select=*&where=name like :('%OCEAN QUEEN%'):&session_signature=00588A9D00CF4CE662476C36'
repeat
UrlDecodeValue(Parameters,Sort,SQLSort);
UrlDecodeValue(Parameters,Dir,SQLDir);
UrlDecodeInteger(Parameters,StartIndex,SQLStartIndex);
UrlDecodeInteger(Parameters,Results,SQLResults);
UrlDecodeValue(Parameters,Select,SQLSelect);
if NonStandardSQLSelectParameter and (SQLSelect='') then
UrlDecodeValue(Parameters,PAGINGPARAMETERS_YAHOO.Select,SQLSelect);
if NonStandardSQLWhereParameter and (SQLWhere='') then
UrlDecodeValue(Parameters,PAGINGPARAMETERS_YAHOO.Where,SQLWhere);
UrlDecodeValue(Parameters,Server.URIPagingParameters.Where,SQLWhere,@Parameters);
until Parameters=nil;
...since value has decode, in function UrlDecodeNextValue, '%', '+' should be normal content, don't need escape,
function UrlDecodeNextValue(U: PUTF8Char; out Value: RawUTF8): PUTF8Char;
var Beg, V: PUTF8Char;
len, i: PtrInt;
begin
while not(U^ in [#0,'&']) do begin
if U^='%' then
if (U[1]=#0) or (U[2]=#0) then // avoid buffer overflow
break else
inc(U,3) else
inc(U);
inc(len);
end;
...
if U^='%' then begin
V^ := AnsiChar(ConvertHexToBin[ord(U[1])] shl 4+ConvertHexToBin[ord(U[2])]);
inc(V);
inc(U,3);
end else begin
if U^='+' then
V^ := ' ' else
V^ := U^;
inc(V);
inc(U);
end;
result := U;
end;Ab, you are an expert, sorry my poor english, hope you can understand my meaning, thanks!
Your URI are weird.
I suppose the client do always encode the URI, when sending to the server - any browser is doing this.
Yes encode is after the url Signature, the original url just is string:
"ShipAgent/ShipSpecification?select=*&where=name like :('%OCEAN QUEEN%'):"after Signature, the url is
ShipAgent/ShipSpecification?select=*&where=name like :('%OCEAN QUEEN%'):&session_signature=016BDD8E00CC6F32C5FB36E1then after encode, the url is
ShipAgent/ShipSpecification?select=*&where=name%20like%20:('%25OCEAN%20QUEEN%25'):&session_signature=016BDD8E00CC6F32C5FB36E1I found the problem, since Signature is before the encode uri, so client computer is base the original string, but server get the encode url, in TAuthSession.IsValidURL call, the Ctxt.Call^.url content is not decode, is this:
ShipAgent/ShipSpecification?select=*&where=name%20like%20:(%27%25OCEAN%20QUEEN%25%27):&session_signature=016BDD8E00CC6F32C5FB36E1here has another escape, the ' is escape to %27, server Signature is compare by this:
(crc32(crc32(fPrivateSaltHash,PTimeStamp,8),pointer(Ctxt.Call^.url),aURLlength) = aSignature)so server Signature is computer by the encode url content, of course will not pass auth,
if I change the url to:""ShipAgent/ShipSpecification?select=*", because original and encode url is the same, so will pass auth, PS use the deault auth schema, ShipAgent is the root name, ShipSpecification is TSQLShipSpecification(inherited TSQLRecord), thanks!
I use a web front, when client call '/auth?UserName=XXX&Password=XX&ClientNonce=XXX' to login, server will return a json object with "logonname" and private key, since logonname is just equal UserName, I have already know it, i need the user's DisplayName, then I need make a service interface to get this info, if when call /auth?, have return the DisplayName, then will don't need make this interface, hope it clear, thanks!
a url string:ShipAgent/ShipSpecification?select=*&where=name like :('%OCEAN QUEEN%'):
use a web front Signature, after Signature, url string is:
/ShipAgent/ShipSpecification?select=*&where=name like :('%OCEAN QUEEN%'):&session_signature=016BDD8E00CC6F32C5FB36E1,
then use javascript function encodeURI encode to:
/ShipAgent/ShipSpecification?select=*&where=name%20like%20:('%25OCEAN%20QUEEN%25'):&session_signature=016BDD8E00CC6F32C5FB36E1,
a get request send to the server, in TAuthSession.IsValidURL, the Ctxt.Call^.url is:
'ShipAgent/ShipSpecification?select=*&where=name%20like%20:(%27%25OCEAN%20QUEEN%25%27):&session_signature=016BDD8E00CC6F32C5FB36E1', here Signature is computer according the encode
value, then (crc32(crc32(fPrivateSaltHash,PTimeStamp,8),pointer(Ctxt.Call^.url),aURLlength) = aSignature) judge
will be false, then client return 403 forbidden error, is here need first decode, then check, or else i need adjust, any help is very appreciate!procedure TSQLRestServerAuthentication.SessionCreate(Ctxt: TSQLRestServerURIContext;
var User: TSQLAuthUser);
var Session: TAuthSession;
begin
if User<>nil then
try
// now client is authenticated -> create a session
fServer.SessionCreate(User,Ctxt,Session);
if Session<>nil then
Ctxt.Returns(['result',Session.fPrivateSalt,'logonname',Session.User.LogonName]);
finally
User.Free;
end;
end;a little request, after success login, can also return user's DisplayName in return JSON object, thanks!
thank your reply ab, I now convert the value in front, I prefer use the default backend, this is so fast, thank you!
I still have a question about the JSON generate in mORMot, I prefer use the default REST API, use root/test/1, we can auto quick get the response, where can I hook to transform the date/time value to this milliseconds values, thank you ab!
Later I think, if there has some uniform control how the date store(txt, TimeLogBits, UnixTime), how the date transfer(txt, TimeLogBits, UnixTime), only make TDateTime, TCreateTime, TModTime different at ORM level(the Middle tier), then will ideal.
I'm assess using Ewb as a front-end web development tool, since it's dataset json format a date/time column request a integer value, [http://www.elevatesoft.com/manual?actio … _Reference],
for it's 'rows' prefix, I think can manual add it to the responseText, but for date/time column, since it use Javascript Date Object, "Specify any valid integer value (positive or negative) for non-null values. If not null, the incoming value represents the number of milliseconds since midnight on January 1, 1970, and can be negative for time values", but in mORMot, we have TDateTime(a UTC string), TCreateTime/TModTime(a property int64), when use REST interface, such as root/test/1 or root/test?select=*&where=XX, where can we do this conversion is appropriate, any suggest is greatly appreciated!
see blog, perhaps your code is converse,
fProperties := TSQLDBSQLite3ConnectionProperties.Create(
SQLITE_MEMORY_DATABASE_NAME,'','','');
VirtualTableExternalRegister(fExternalModel,
TSQLRecordPeopleExt,fProperties,'PeopleExternal');
fExternalModel.Props[TSQLRecordPeopleExt].ExternalDB.
MapField('ID','Key').
MapField('YearOfDeath','YOD');Thank you for your guidance, continue to read the documentation.
Later I think in some cases this mode is ideal for a site for different corporations, in one site, we can make root1(model1) for corporationA, root2(model2) for corporationB, in Model1 we can use sub-class TAuthGroup1 and TAuthUser1, in Model2 we can use sub-class TAuthGroup2 and TAuthUser2, then in one external DB, we can server two different corporation, great! If share and separate two mode all support, that would be great!
Sorry, Ab, I not say clear, I mean external db, I know the order of TSQLRecord should not change, for this reason and organise, I think make more than one model to organise application, since these models all need authentication, then where put TAuthUser and TAuthGroup is a problem, demo code like below, is two model all need put TAuthGroup and TAutoUser or only one model need? thank you!
procedure TForm1.FormCreate(Sender: TObject);
begin
fProps := TOleDBMSSQLConnectionProperties.Create('localhost', 'testdb', '', '');
fModel := CreateModel;
VirtualTableExternalRegisterAll(fModel, fProps);
fDBServer := TSQLRestServerDB.Create(fModel, ChangeFileExt(paramstr(0),'.db3'), true);
fDBServer.CreateMissingTables();
fModel2 := CreateModel2;
VirtualTableExternalRegisterAll(fModel2, fProps);
fDBServer2 := TSQLRestServerDB.Create(fModel2, 'test2.db3', true);
fDBServer2.CreateMissingTables();
fHttpServer := TSQLHttpServer.Create('80', [fDBServer, fDBServer2], '+', useHttpApiRegisteringURI);
fHttpServer.AccessControlAllowOrigin := '*';
end;I am learning, since TSQLHttpServer can have multiple TSQLRestServerDB, a TSQLRestServerDB can only has a TSQLMode, so if we have two or more TSQLRestServerDB, how can we use the Same TAuthUser and TAuthGroup?
function CreateModel: TSQLModel;
begin
result := TSQLModel.Create([TSQLAuthGroup, TSQLAuthUser, TSQLTest], 'root');
end;
function CreateModel2: TSQLModel;
begin
result := TSQLModel.Create([TSQLAuthGroup, TSQLAuthUser, TSQLTest2], 'root2');
end;
or make a sub class of TSQLAuthGroup and TSQLAuthUser like this:
function CreateModel2: TSQLModel;
begin
result := TSQLModel.Create([TSQLAuthGroup2, TSQLAuthUser2, TSQLTest2], 'root2');
end;this method a same user will need two entry, if more model, then more user entry, is there some method only has one entry for a user, the import thing is the AuthGroup's AccessRights, is it can set more than one Model's privilege? thanks!
If external db serer down, connection can not recover after the db restart,
test code is below, when db is on, click button1 is ok, then shutdown db, click button1
will exception, this is ok, restart db, click button1, still exception, can enhance the connection pool to check the break connection then clear the pool or recover the connection, thanks!
TForm3 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
fProps: TSQlDBConnectionProperties;
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
fProps := TOleDBMSSQLConnectionProperties.Create('localhost', 'testdb', '', '');
end;
procedure TForm3.FormDestroy(Sender: TObject);
begin
fProps.Free;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Memo1.Text := UTF8ToString(
fProps.Execute('select * from test1', []).FetchAllAsJSON(TRUE)
);
end;After update, the Exception is gone, i run the test ten times, thank you very much, the better mORMot framework, the better Test framework and the best support! I run TestSQL3 every time after update, so is the Test framework found the problem, thank you!
In TTextWriter.AddDynArrayJSON, exception is generate at call AddJSONEscape,
this call into RawUnicodeToUtf8, so the log content
EXCOS EAccessViolation (C0000005) at 00064C76 SynCommons.RawUnicodeToUtf8 (11410)
is correct.
procedure TTextWriter.AddDynArrayJSON(const aDynArray: TDynArray);
djWideString, djSynUnicode:
if PPtrIntArray(P)^[i]<>0 then begin
Len := PInteger(PPtrIntArray(P)^[i]-sizeof(Integer))^;
if Len*2>length(tmp) then
SetLength(tmp,Len*2+2048);
AddJSONEscape(pointer(tmp),
RawUnicodeToUtf8(pointer(tmp),length(tmp),PPointerArray(P)^[i],Len)); <==Exception generateafter many times step, seems the Exception is because fInvoke Call return false,
then RaiseError raise the Exception,
function TInterfacedObjectFake.FakeCall(var aCall: TFakeCallStack): Int64;
var method: ^TServiceMethod;
procedure RaiseError(const Msg: RawUTF8);
begin
raise EInterfaceFactoryException.CreateFmt('Invalid fake %s.%s interface call: %s',
[fFactory.fInterfaceTypeInfo^.Name,method^.URI,Msg]);
end;
...
if not fInvoke(method^,Params.Text,@ResArray,@Error,@fClientDrivenID,
ServiceCustomAnswerPoint) then
RaiseError(Error); <== here exception raisedstep the fInvoke call, can success after CallMethod(r), exception is cause by call
AddJSON(Res,Values[a]);
where it internal call TTextWriter.AddDynArrayJSON.
function TServiceMethod.InternalExecute(Instances: array of pointer;
...
end else
{$endif}
CallMethod(r);
end;
// 4. send back any result
if Res<>nil then begin
// 4.1 handle custom content (not JSON object answer)
if (r.resKind=smvRecord) and ArgsResultIsServiceCustomAnswer then
with PServiceCustomAnswer(Values[ArgsResultIndex])^ do
if Header<>'' then begin
aHead := Header;
Res.ForceContent(Content);
Result := true;
exit;
end;
// 4.2 write the '{"result":[...' array or object
for a := ArgsOutFirst to ArgsOutLast do
with Args[a] do
if ValueDirection in [smdVar,smdOut,smdResult] then begin
if ResultAsJSONObject then
Res.AddPropName(ParamName^);
AddJSON(Res,Values[a]); <==******sometime when a=3, generate exception*********
end;
Res.CancelLastComma;
end;
Result := true;
finally // manual release memory for Records[], Objects[] and DynArrays[]
...after success CallMethod(r), normal should step to goto result := true, but sometime when a = 3, call into
TTextWriter.AddDynArrayJSON, then will go direct to finally block, not to result := true,
so exception is cause at TTextWriter.AddDynArrayJSON, since code is very complex,
can't find the actual reason, later is a call stack and variable after a exception:
SynCommons.TTextWriter.AddDynArrayJSON($12E5A8)
SynCommons.TTextWriter.AddDynArrayJSON($454304,(no value))
mORMot.TServiceMethodArgument.AddJSON($1087360,$12E708)
mORMot.TServiceMethod.InternalExecute((...),nil {#0},$1087360,'',[],False,nil)
mORMot.TServiceFactoryServer.ExecuteMethod($FA0E00)
mORMot.TSQLRestServerURIContext.InternalExecuteSOAByInterface
mORMot.TSQLRestRoutingREST.ExecuteSOAByInterface
mORMot.TSQLRestServer.URI($12F31B)
mORMotSQLite3.TSQLRestClientDB.InternalURI($12F31B)
mORMot.TSQLRestClientURI.URI('root/Calculator.ComplexCall','POST',$12F3F4 {''},$12F3F0 {''},$12F3F8 {'[[338510102'#0'205211555'#0',["one'#0#0'"two'#0#0'"three'#0#0',["ABC'#0#0'"DEF'#0#0'"GHIJK'#0#0',"BgAAAAAAAAAAAAAAAAAAAE5DADoAXABEAGUAbABwAGgAaQBYAEUAXABtAE8AUgBNAG8AdABcAFMAUQBMAGkAdABlADMAXABUAGUAcwB0AFMAUQBMADMALgBlAHgAZQA='#0#0'{"ID'#0#0'338510102'#0'"JSON'#0#0'"abc'#0#0'"TimeStamp64'#0#0'205211556'#0',-1.2609443240799E-9'#0'-7.02632789070805E-10'#0})
mORMot.TServiceFactoryClient.InternalInvoke('ComplexCall','[338510102,205211555],["one","two","three"],["ABC","DEF","GHIJK"],"锟癇gAAAAAAAAAAAAAAAAAAAE5DADoAXABEAGUAbABwAGgAaQBYAEUAXABtAE8AUgBNAG8AdABcAFMAUQBMAGkAdABlADMAXABUAGUAcwB0AFMAUQBMADMALgBlAHgAZQA=",{"ID":338510102,"JSON":"abc","TimeStamp64":205211556},-1.2609443240799E-9,-7.02632789070805E-10',$12F9C8 {''},$12F9CC {''},$108B748,nil)
mORMot.TServiceFactoryClient.Invoke($1940F10,'[338510102,205211555],["one","two","three"],["ABC","DEF","GHIJK"],"锟癇gAAAAAAAAAAAAAAAAAAAE5DADoAXABEAGUAbABwAGgAaQBYAEUAXABtAE8AUgBNAG8AdABcAFMAUQBMAGkAdABlADMAXABUAGUAcwB0AFMAUQBMADMALgBlAHgAZQA=",{"ID":338510102,"JSON":"abc","TimeStamp64":205211556},-1.2609443240799E-9,-7.02632789070805E-10',$12F9C8 {''},$12F9CC {''},$108B748,nil)
mORMot.InternalProcess
mORMot.TInterfacedObjectFake.FakeCall($12FA00)
:017e00a1
SynSelfTests.TestCalculator(Pointer($108B72C) as ICalculator)
SynSelfTests.TTestServiceOrientedArchitecture.Test($12FD94,700)
SynSelfTests.TTestServiceOrientedArchitecture.ClientTest(TSQLRestRoutingREST,False,False,[])
SynSelfTests.TTestServiceOrientedArchitecture.ClientSideREST
SynCommons.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:7c82f23b ; C:\WINDOWS\system32\kernel32.dllName Value
Self ('"69888]},three"],{"ID":245927754,"JSON":"245927753,1457302954","TimeStamp64":1457302954},-5.01156236045063E-9,{"ID":245927753,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":1457302955}]}}]}}lor":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}]]},"Length":58,"Name":"29"},{"Color":30,"Length":60,"Name":"30"},{"Color":31,"Length":62,"Name":"31"},{"Color":32,"Length":64,"Name":"32"},{"Color":33,"Length":66,"Name":"33"},{"Color":34,"Length":68,"Name":"34"},{"Color":35,"Length":70,"Name":"35"},{"Color":36,"Length":72,"Name":"36"},{"Color":37,"Length":74,"Name":"37"},{"Color":38,"Length":76,"Name":"38"},{"Color":39,"Length":78,"Name":"39"},{"Color":40,"Length":80,"Name":"40"},{"Color":41,"Length":82,"Name":"41"},{"Color":42,"Length":84,"Name":"42"},{"Color":43,"Length":86,"Name":"43"},{"Color":44,"Length":88,"Name":"44"},{"Color":45,"Length":90,"Name":"45"},{"Color":46,"Length":92,"Name":"46"},{"Color":47,"Length":94,"Name":"47"},{"Color":48,"Length":96,"Name":"48"},{"Color":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}],[{"Color":1,"Length":2,"Name":"1"},{"Color":2,"Length":4,"Name":"2"},{"Color":3,"Length":6,"Name":"3"},{"Color":4,"Length":8,"Name":"4"},{"Color":5,"Length":10,"Name":"5"},{"Color":6,"Length":12,"Name":"6"},{"Color":7,"Length":14,"Name":"7"},{"Color":8,"Length":16,"Name":"8"},{"Color":9,"Length"3'#$10, '":68,"Name":"34"},{"Color":35,"Length":70,"Nam3/'#3, $104B338, 0, True, False, 0, 4096, '{"result":[["ABC","DEF","GHIJK","69888]},three"],{"ID":245927754,"JSON":"245927753,1457302954","TimeStamp64":1457302954},-5.01156236045063E-9,{"ID":245927753,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":1457302955}]}}]}}lor":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}]]},"Length":58,"Name":"29"},{"Color":30,"Length":60,"Name":"30"},{"Color":31,"Length":62,"Name":"31"},{"Color":32,"Length":64,"N...
B '"69888]},three"],{"ID":245927754,"JSON":"245927753,1457302954","TimeStamp64":1457302954},-5.01156236045063E-9,{"ID":245927753,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":1457302955}]}}]}}lor":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}]]},"Length":58,"Name":"29"},{"Color":30,"Length":60,"Name":"30"},{"Color":31,"Length":62,"Name":"31"},{"Color":32,"Length":64,"Name":"32"},{"Color":33,"Length":66,"Name":"33"},{"Color":34,"Length":68,"Name":"34"},{"Color":35,"Length":70,"Name":"35"},{"Color":36,"Length":72,"Name":"36"},{"Color":37,"Length":74,"Name":"37"},{"Color":38,"Length":76,"Name":"38"},{"Color":39,"Length":78,"Name":"39"},{"Color":40,"Length":80,"Name":"40"},{"Color":41,"Length":82,"Name":"41"},{"Color":42,"Length":84,"Name":"42"},{"Color":43,"Length":86,"Name":"43"},{"Color":44,"Length":88,"Name":"44"},{"Color":45,"Length":90,"Name":"45"},{"Color":46,"Length":92,"Name":"46"},{"Color":47,"Length":94,"Name":"47"},{"Color":48,"Length":96,"Name":"48"},{"Color":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}],[{"Color":1,"Length":2,"Name":"1"},{"Color":2,"Length":4,"Name":"2"},{"Color":3,"Length":6,"Name":"3"},{"Color":4,"Length":8,"Name":"4"},{"Color":5,"Length":10,"Name":"5"},{"Color":6,"Length":12,"Name":"6"},{"Color":7,"Length":14,"Name":"7"},{"Color":8,"Length":16,"Name":"8"},{"Color":9,"Length"3'#$10
BEnd '":68,"Name":"34"},{"Color":35,"Length":70,"Nam3/'#3
fStream $104B338
fInitialStreamPosition 0
fStreamIsOwned True
fFlushShouldNotAutoResize False
fTotalFileSize 0
fTempBufSize 4096
fTempBuf '{"result":[["ABC","DEF","GHIJK","69888]},three"],{"ID":245927754,"JSON":"245927753,1457302954","TimeStamp64":1457302954},-5.01156236045063E-9,{"ID":245927753,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":1457302955}]}}]}}lor":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}]]},"Length":58,"Name":"29"},{"Color":30,"Length":60,"Name":"30"},{"Color":31,"Length":62,"Name":"31"},{"Color":32,"Length":64,"Name":"32"},{"Color":33,"Length":66,"Name":"33"},{"Color":34,"Length":68,"Name":"34"},{"Color":35,"Length":70,"Name":"35"},{"Color":36,"Length":72,"Name":"36"},{"Color":37,"Length":74,"Name":"37"},{"Color":38,"Length":76,"Name":"38"},{"Color":39,"Length":78,"Name":"39"},{"Color":40,"Length":80,"Name":"40"},{"Color":41,"Length":82,"Name":"41"},{"Color":42,"Length":84,"Name":"42"},{"Color":43,"Length":86,"Name":"43"},{"Color":44,"Length":88,"Name":"44"},{"Color":45,"Length":90,"Name":"45"},{"Color":46,"Length":92,"Name":"46"},{"Color":47,"Length":94,"Name":"47"},{"Color":48,"Length":96,"Name":"48"},{"Color":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"Color":56,"Length":112,"Name":"56"},{"Color":57,"Length":114,"Name":"57"},{"Color":58,"Length":116,"Name":"58"},{"Color":59,"Length":118,"Name":"59"},{"Color":60,"Length":120,"Name":"60"},{"Color":61,"Length":122,"Name":"61"},{"Color":62,"Length":124,"Name":"62"},{"Color":63,"Length":126,"Name":"63"},{"Color":64,"Length":128,"Name":"64"},{"Color":65,"Length":130,"Name":"65"},{"Color":66,"Length":132,"Name":"66"},{"Color":67,"Length":134,"Name":"67"},{"Color":68,"Length":136,"Name":"68"},{"Color":69,"Length":138,"Name":"69"}],[{"Color":1,"Length":2,"Name":"1"},{"Color":2,"Length":4,"Name":"2"},{"Color":3,"Length":6,"Name":"3"},{"Color":4,"Length":8,"Name":"4"},{"Color":5,"Length":10,"Name":"5"},{"Color":6,"Length":12,"Name":"6"},{"Color":7,"Length":14,"Name":"7"},{"Color":8,"Length":16,"Name":"8"},{"Color":9,"Length"3'#$10
fHumanReadableLevel 0
aDynArray ($12E708, $454304, 4, $40128C, nil, nil, False, djNone)
Value $12E708
fTypeInfo $454304
fElemSize 4
fElemType $40128C
fCompare nil
fCountP nil
fSorted False
fKnownType djNone
i 3
n 3
Len 26
P $1087138
T djWideString
tmp 'one,two,three'#0'戤戤'#0#0#0#0#5#7'塬'#$18#0#$AE#0'[{"Color":1,"Length":2,"Name":"1"},{"Color":2,"Length":4,"Name":"2"},{"Color":3,"Length":6,"Name":"3"},{"Color":4,"Length":8,"Name":"4"},{"Color":5,"Length":10,"Name":"5"},{"Color":6,"Length":12,"Name":"6"},{"Color":7,"Length":14,"Name":"7"},{"Color":8,"Length":16,"Name":"8"},{"Color":9,"Length":18,"Name":"9"},{"Color":10,"Length":20,"Name":"10"},{"Color":11,"Length":22,"Name":"11"},{"Color":12,"Length":24,"Name":"12"},{"Color":13,"Length":26,"Name":"13"},{"Color":14,"Length":28,"Name":"14"},{"Color":15,"Length":30,"Name":"15"},{"Color":16,"Length":32,"Name":"16"},{"Color":17,"Length":34,"Name":"17"},{"Color":18,"Length":36,"Name":"18"},{"Color":19,"Length":38,"Name":"19"},{"Color":20,"Length":40,"Name":"20"},{"Color":21,"Length":42,"Name":"21"},{"Color":22,"Length":44,"Name":"22"},{"Color":23,"Length":46,"Name":"23"},{"Color":24,"Length":48,"Name":"24"},{"Color":25,"Length":50,"Name":"25"},{"Color":26,"Length":52,"Name":"26"},{"Color":27,"Length":54,"Name":"27"},{"Color":28,"Length":56,"Name":"28"},{"Color":29,"Length":58,"Name":"29"},{"Color":30,"Length":60,"Name":"30"},{"Color":31,"Length":62,"Name":"31"},{"Color":32,"Length":64,"Name":"32"},{"Color":33,"Length":66,"Name":"33"},{"Color":34,"Length":68,"Name":"34"},{"Color":35,"Length":70,"Name":"35"},{"Color":36,"Length":72,"Name":"36"},{"Color":37,"Length":74,"Name":"37"},{"Color":38,"Length":76,"Name":"38"},{"Color":39,"Length":78,"Name":"39"},{"Color":40,"Length":80,"Name":"40"},{"Color":41,"Length":82,"Name":"41"},{"Color":42,"Length":84,"Name":"42"},{"Color":43,"Length":86,"Name":"43"},{"Color":44,"Length":88,"Name":"44"},{"Color":45,"Length":90,"Name":"45"},{"Color":46,"Length":92,"Name":"46"},{"Color":47,"Length":94,"Name":"47"},{"Color":48,"Length":96,"Name":"48"},{"Color":49,"Length":98,"Name":"49"},{"Color":50,"Length":100,"Name":"50"},{"Color":51,"Length":102,"Name":"51"},{"Color":52,"Length":104,"Name":"52"},{"Color":53,"Length":106,"Name":"53"},{"Color":54,"Length":108,"Name":"54"},{"Color":55,"Length":110,"Name":"55"},{"'
customWriter ($775F3F85,nil)
Code $775F3F85
Data nil
customParser ($1A, $3, [soReadIgnoreUnknownFields,soWriteHumanReadable])
fItems $1A
fRoot $3
fOptions [soReadIgnoreUnknownFields,soWriteHumanReadable]
Options []If you prefer, you can connect to my machine via Remote Desktop, I can send login information to you via mail, thanks!
procedure TTestServiceOrientedArchitecture.Test(const Inst: TTestServiceInstances;
Iterations: Cardinal=700);
procedure TestCalculator(const I: ICalculator);
var t,i1,i2,i3: integer;
c: cardinal;
cu: currency;
n1,n2: double;
o: TSynTableFieldOptions;
Ints: TIntegerDynArray;
Strs1: TRawUTF8DynArray;
Str2: TWideStringDynArray;
Rec1: TVirtualTableModuleProperties;
Rec2, RecRes: TSQLRestCacheEntryValue;
s: RawUTF8;
begin
Setlength(Ints,2);
CSVToRawUTF8DynArray('one,two,three',Strs1);
for t := 1 to Iterations do begin
...
RecRes := I.ComplexCall(Ints,Strs1,Str2,Rec1,Rec2,n1,n2); <== exception occur at t = 7I put a debug point at RecRes := I.ComplexCall(Ints,Strs1,Str2,Rec1,Rec2,n1,n2);
the call stack:
SynSelfTests.TestCalculator(Pointer($108B684) as ICalculator)
SynSelfTests.TTestServiceOrientedArchitecture.Test($12FD94,700)
SynSelfTests.TTestServiceOrientedArchitecture.ClientTest(TSQLRestRoutingREST,False,False,[])
SynSelfTests.TTestServiceOrientedArchitecture.ClientSideREST
SynCommons.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:7c82f23b ; C:\WINDOWS\system32\kernel32.dll
the Local Variable:
Name Value
I Pointer($108B684) as ICalculator
t 7
i1 -525933278
i2 1302304076
i3 -525933267
c 1302304077
cu -5259332.78
n1 -7.11164639797062e-09
n2 -5.48187840577988e-10
o [tfoUnique,tfoCaseInsensitive]
Ints (-525933278, 1302304076)
[0] -525933278
[1] 1302304076
Strs1 ('one', 'two', 'three')
[0] 'one'
[1] 'two'
[2] 'three'
Str2 ('ABC', 'DEF', 'GHIJK')
[0] 'ABC'
[1] 'DEF'
[2] 'GHIJK'
Rec1 ([vtTransaction,vtSavePoint], nil, nil, nil, 'C:\DelphiXE\mORMot\SQLite3\TestSQL3.exe')
Features [vtTransaction,vtSavePoint]
CursorClass nil
RecordClass nil
StaticClass nil
FileExtension 'C:\DelphiXE\mORMot\SQLite3\TestSQL3.exe'
Rec2 (-525933278, 'abc', 1302304077)
ID -525933278
JSON 'abc'
TimeStamp64 1302304077
RecRes (-957283850, 'C:\DelphiXE\mORMot\SQLite3\TestSQL3.exe', 1055639884)
ID -957283850
JSON 'C:\DelphiXE\mORMot\SQLite3\TestSQL3.exe'
TimeStamp64 1055639884
s '-5259332.78'
full log file is 232.642kb, so big, this is the last part contain the exception, it is also can reproduce in XE IDE:
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Add
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Add
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Add
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Add -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":[1577903505]}
20140221 21433304 ! - 00.000.023
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Multiply
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Multiply
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Multiply
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Multiply -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[1653871241439227118]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Subtract
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Subtract
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Subtract
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Subtract -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[-1.7044935781023E-10]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToText
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToText
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToText
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToText -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":["-9206532.94"]}
20140221 21433304 ! - 00.000.023
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToTextFunc
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToTextFunc
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToTextFunc
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToTextFunc -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":["-1.70509807113558E-9"]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.SpecialCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.SpecialCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.SpecialCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.SpecialCall -> 200
20140221 21433304 ! - 00.000.014
20140221 21433304 ! ret {"result":[-920653283,2498556800,6,69888]}
20140221 21433304 ! - 00.000.024
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ComplexCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ComplexCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ComplexCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ComplexCall -> 200
20140221 21433304 ! - 00.000.037
20140221 21433304 ! ret {"result":[["ABC","DEF","GHIJK","one,two,three"],{"ID":-920653293,"JSON":"-920653294,-1796410497","TimeStamp64":2498556799},-1.70509807113558E-9,{"ID":-920653294,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":2498556800}]}
20140221 21433304 ! - 00.000.052
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Add
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Add
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Add
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Add -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[1313745990]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Multiply
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Multiply
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Multiply
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Multiply -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[191436939832105125]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Subtract
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Subtract
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Subtract
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Subtract -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[-2.37285383131019E-10]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToText
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToText
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToText
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToText -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":["1669289.25"]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToTextFunc
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToTextFunc
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToTextFunc
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToTextFunc -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":["-2.43676965590566E-10"]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.SpecialCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.SpecialCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.SpecialCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.SpecialCall -> 200
20140221 21433304 ! - 00.000.196
20140221 21433304 ! ret {"result":[166928935,1146817066,6,69888]}
20140221 21433304 ! - 00.000.206
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ComplexCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ComplexCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ComplexCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ComplexCall -> 200
20140221 21433304 ! - 00.000.000
20140221 21433304 ! ret {"result":[["ABC","DEF","GHIJK","one,two,three"],{"ID":166928926,"JSON":"166928925,1146817065","TimeStamp64":1146817065},-2.43676965590566E-10,{"ID":166928925,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":1146817066}]}
20140221 21433304 ! - 00.000.006
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Add
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Add
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Add
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Add -> 200
20140221 21433304 ! - 00.000.014
20140221 21433304 ! ret {"result":[959521188]}
20140221 21433304 ! - 00.000.132
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Multiply
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Multiply
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Multiply
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Multiply -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[170278241214870387]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Subtract
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Subtract
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Subtract
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Subtract -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[-2.8768728341345E-9]}
20140221 21433304 ! - 00.000.023
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToText
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToText
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToText
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToText -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":["2350322.01"]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToTextFunc
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToTextFunc
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToTextFunc
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToTextFunc -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":["-5.25991780124605E-9"]}
20140221 21433304 ! - 00.000.023
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.SpecialCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.SpecialCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.SpecialCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.SpecialCall -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":[235032211,724488988,6,69888]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ComplexCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ComplexCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ComplexCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ComplexCall -> 200
20140221 21433304 ! - 00.000.039
20140221 21433304 ! ret {"result":[["ABC","DEF","GHIJK","one,two,three"],{"ID":235032202,"JSON":"235032201,724488987","TimeStamp64":724488987},-5.25991780124605E-9,{"ID":235032201,"JSON":"C:\\DelphiXE\\mORMot\\SQLite3\\TestSQL3.exe","TimeStamp64":724488988}]}
20140221 21433304 ! - 00.000.054
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Add
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Add
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Add
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Add -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":[411828969]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Multiply
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Multiply
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Multiply
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Multiply -> 200
20140221 21433304 ! - 00.000.011
20140221 21433304 ! ret {"result":[-329452727699627740]}
20140221 21433304 ! - 00.000.021
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.Subtract
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.Subtract
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.Subtract
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.Subtract -> 200
20140221 21433304 ! - 00.000.013
20140221 21433304 ! ret {"result":[-4.89916933121045E-9]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToText
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToText
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToText
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToText -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":["-4038834.35"]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ToTextFunc
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ToTextFunc
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ToTextFunc
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.ToTextFunc -> 200
20140221 21433304 ! - 00.000.012
20140221 21433304 ! ret {"result":["-5.99331087851897E-9"]}
20140221 21433304 ! - 00.000.022
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.SpecialCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.SpecialCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.SpecialCall
20140221 21433304 ! srvr TSQLRestServerDB(01EC6CA0) POST Calculator.SpecialCall -> 200
20140221 21433304 ! - 00.000.014
20140221 21433304 ! ret {"result":[-403883424,815712405,6,69888]}
20140221 21433304 ! - 00.000.024
20140221 21433304 ! + TServiceFactoryClient(00F6EDC8).Calculator.ComplexCall
20140221 21433304 ! + TSQLRestServerDB(01EC6CA0).root/Calculator.ComplexCall
20140221 21433304 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21433304 ! call TSQLRestServerDB(01EC6CA0) Calculator.ComplexCall
20140221 21433308 ! EXCOS EAccessViolation (C0000005) at 00064C76 SynCommons.RawUnicodeToUtf8 (11410) stack trace API 00094CB0 SynCommons.SynRtlUnwind (36505) 0000614C System.@HandleOnException
20140221 21433308 ! srvr POST root/Calculator.ComplexCall ERROR=500 (Exception EAccessViolation: Access violation at address 00465C76 in module 'TestSQL3.exe'. Read of address 0016E000)
20140221 21433308 ! - 00.060.816
20140221 21433308 ! ERROR TSQLRestClientDB(01420FC0) POST root/Calculator.ComplexCall returned 500 Internal Server Error with message { "ErrorCode":500, "ErrorText":"Exception EAccessViolation: Access violation at address 00465C76 in module 'TestSQL3.exe'. Read of address 0016E000" } stack trace API 00173E28 mORMot.TSQLRestClientURI.URI (22432) 00199FF3 mORMot.TServiceFactoryClient.InternalInvoke (34590) 00199E7C mORMot.TServiceFactoryClient.Invoke (34560) 001905C4 mORMot.InternalProcess (31849) 00190E42 mORMot.TInterfacedObjectFake.FakeCall (31968)
20140221 21433308 ! - 00.060.831
20140221 21442432 ! EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00465C76 in module 'TestSQL3.exe'. Read of address 0016E000\"\r\n}") at 0019034E mORMot.RaiseError (31790) stack trace API 00094CB0 SynCommons.SynRtlUnwind (36505) 0000614C System.@HandleOnException
20140221 21442433 ! + TServiceFactoryClient(00F6EF18).ComplexNumber._free_
20140221 21442433 ! + TSQLRestServerDB(01EC6CA0).root/ComplexNumber._free_/1
20140221 21442433 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21442433 ! call TSQLRestServerDB(01EC6CA0) ComplexNumber._free_
20140221 21442433 ! srvr TSQLRestServerDB(01EC6CA0) POST ComplexNumber._free_ -> 200
20140221 21442433 ! - 00.000.040
20140221 21442433 ! - 00.000.082
20140221 21442435 ! - 52.087.454
20140221 21442435 ! cust1 {"Msg"="\r\n Synopse mORMot Framework Automated tests\r\n ------------------------------------------\r\n\r\n\r\n1. Synopse libraries\r\n\r\n 1.1. Low level common: \r\n - System copy record: 22 assertions passed 23.52ms\r\n - TDynArray: 1,027,702 assertions passed 453.25ms\r\n - TDynArrayHashed: 1,200,629 assertions passed 418.48ms\r\n - TObjectListHashed: 999,890 assertions passed 1.09s\r\n - TObjectDynArrayWrapper: 167,501 assertions passed 65.44ms\r\n - Fast string compare: 7 assertions passed 510us\r\n - IdemPropName: 30 assertions passed 470us\r\n - Url encoding: 105 assertions passed 2.16ms\r\n - GUID: 9,005 assertions passed 5.37ms\r\n - IsMatch: 599 assertions passed 690us\r\n - Soundex: 35 assertions passed 389us\r\n - Numerical conversions: 1,065,047 assertions passed 576.89ms\r\n - Curr 64: 20,053 assertions passed 2.97ms\r\n - CamelCase: 11 assertions passed 321us\r\n - Bits: 4,774 assertions passed 370us\r\n - Ini files: 7,004 assertions passed 45.23ms\r\n - UTF8: 79,102 assertions passed 2.91s\r\n - Iso 8601 date and time: 32,006 assertions passed 11.31ms\r\n - Url decoding: 1,100 assertions passed 993us\r\n - Mime types: 20 assertions passed 375us\r\n - TSynTable: 873 assertions passed 6.03ms\r\n - TSynCache: 404 assertions passed 549us\r\n - TSynFilter: 1,005 assertions passed 4.97ms\r\n - TSynValidate: 677 assertions passed 1.32ms\r\n - TSynLogFile: 42 assertions passed 2.33ms\r\n Total failed: 0 / 4,617,643 - Low level common PASSED 5.74s\r\n\r\n 1.2. Low level types: \r\n - RTTI: 52 assertions passed 2.70ms\r\n - Url encoding: 200 assertions passed 1.33ms\r\n - Encode decode JSON: 262,007 assertions passed 359.20ms\r\n - TDocVariant: 1,611 assertions passed 75.58ms\r\n! - BSON: 8 / 20,000,184 FAILED 6.45s\r\n Total failed: 8 / 20,264,054 - Low level types FAILED 6.90s\r\n\r\n 1.3. Big table: \r\n - TSynBigTable: 19,209 assertions passed 214.62ms\r\n - TSynBigTableString: 16,080 assertions passed 69.44ms\r\n - TSynBigTableMetaData: 384,060 assertions passed 3.26s\r\n - TSynBigTableRecord: 452,185 assertions passed 7.76s\r\n Total failed: 0 / 871,534 - Big table PASSED 11.31s\r\n\r\n 1.4. Synopse PDF: \r\n! - TPdfDocument: 1 / 2 FAILED 1.57s\r\n - TPdfDocumentGDI: 5 assertions passed 168.30ms\r\n Total failed: 1 / 7 - Synopse PDF FAILED 1.75s\r\n\r\n 1.5. Cryptographic routines: \r\n - Adler32: 1 assertion passed 535us\r\n - MD5: 1 assertion passed 381us\r\n - SHA1: 5 assertions passed 389us\r\n - SHA256: 5 assertions passed 446us\r\n - AES256: 16,815 assertions passed 1.85s\r\n - RC4: 1 assertion passed 288us\r\n - Base64: 11,994 assertions passed 335.88ms\r\n - CompressShaAes: 1,683 assertions passed 14.11ms\r\n Total failed: 0 / 30,505 - Cryptographic routines PASSED 2.21s\r\n\r\n 1.6. Compression: \r\n - In memory compression: 12 assertions passed 533.23ms\r\n - GZIP format: 19 assertions passed 1.08s\r\n - ZIP format: 36 assertions passed 1.96s\r\n - SynLZO: 3,006 assertions passed 187.22ms\r\n - SynLZ: 29,018 assertions passed 1.12s\r\n Total failed: 0 / 32,091 - Compression PASSED 4.91s\r\n\r\n\r\n2. mORMot\r\n\r\n 2.1. File based: \r\n - Database direct access: 10,138 assertions passed 679.60ms\r\n - Virtual table direct access: 12 assertions passed 4.87ms\r\n - TSQLTableJSON: 109,072 assertions passed 273.07ms\r\n - TSQLRestClientDB: 605,151 assertions passed 16.55s\r\n - Regexp function: 6,016 assertions passed 62.01ms\r\n Total failed: 0 / 730,389 - File based PASSED 17.58s\r\n\r\n 2.2. File based memory map: \r\n - Database direct access: 10,136 assertions passed 652.01ms\r\n - Virtual table direct access: 12 assertions passed 3.39ms\r\n - TSQLTableJSON: 109,072 assertions passed 318.36ms\r\n - TSQLRestClientDB: 605,150 assertions passed 16.12s\r\n - Regexp function: 6,016 assertions passed 45.12ms\r\n Total failed: 0 / 730,386 - File based memory map PASSED 17.15s\r\n\r\n 2.3. File based WAL: \r\n - Database direct access: 10,138 assertions passed 713.37ms\r\n - Virtual table direct access: 12 assertions passed 2.70ms\r\n - TSQLTableJSON: 109,072 assertions passed 262.25ms\r\n - TSQLRestClientDB: 605,151 assertions passed 16.37s\r\n - Regexp function: 6,016 assertions passed 52.99ms\r\n Total failed: 0 / 730,389 - File based WAL PASSED 17.41s\r\n\r\n 2.4. Memory based: \r\n - Database direct access: 10,136 assertions passed 669.53ms\r\n - Virtual table direct access: 12 assertions passed 2.12ms\r\n - TSQLTableJSON: 109,072 assertions passed 252.76ms\r\n - TSQLRestClientDB: 673,447 assertions passed 18.34s\r\n - Regexp function: 6,016 assertions passed 48.49ms\r\n - RTree: 140,000 assertions passed 2.78s\r\n Total failed: 0 / 938,683 - Memory based PASSED 22.10s\r\n\r\n 2.5. Basic classes: \r\n! - TSQLRecord: 11 / 65 FAILED 6.46s\r\n - TSQLRecordSigned: 200 assertions passed 15.81ms\r\n - TSQLModel: 3 assertions passed 1.53ms\r\n Total failed: 11 / 268 - Basic classes FAILED 6.48s\r\n\r\n 2.6. Client server access: \r\n - TSQLHttpServer: 2 assertions passed 329.41ms\r\n using THttpApiServer\r\n - TSQLHttpClient: 3 assertions passed 680.06ms\r\n - HTTP client keep alive: 3,087 assertions passed 1.39s\r\n 4818 B, first 29.84ms, done 1.24s i.e. 801/s, aver. 1.24ms, 3.7 MB/s\r\n - HTTP client multi connect: 3,087 assertions passed 1.27s\r\n 4818 B, first 1.55ms, done 1.21s i.e. 819/s, aver. 1.21ms, 3.8 MB/s\r\n - HTTP client encrypted: 3,087 assertions passed 1.31s\r\n 4818 B, first 1.68ms, done 1.24s i.e. 800/s, aver. 1.24ms, 3.7 MB/s\r\n - Named pipe access: 3,089 assertions passed 1.20s\r\n 4818 B, first 301.13ms, done 624.39ms i.e. 1601/s, aver. 624us, 7.4 MB/s\r\n - Local window messages: 3,088 assertions passed 147.38ms\r\n 4818 B, first 373us, done 130.02ms i.e. 7691/s, aver. 130us, 35.9 MB/s\r\n - Direct in process access: 3,056 assertions passed 88.62ms\r\n 4818 B, first 120us, done 77.65ms i.e. 12877/s, aver. 77us, 60.2 MB/s\r\n - HTTP several DB servers: 9,604 assertions passed 5.55s\r\n 4818 B, first 1.82ms, done 1.23s i.e. 806/s, aver. 1.23ms, 3.7 MB/s\r\n 4818 B, first 1.71ms, done 1.16s i.e. 861/s, aver. 1.16ms, 4.0 MB/s\r\n 4818 B, first 1.78ms, done 1.18s i.e. 842/s, aver. 1.18ms, 3.9 MB/s\r\n Total failed: 0 / 28,103 - Client server access PASSED 12.06s\r\n\r\n 2.7. Service oriented architecture: \r\n - Weak interfaces: 56 assertions passed 1.89ms\r\n - Service initialization: 200 assertions passed 37.05ms\r\n - Direct call: 566,568 assertions passed 63.25ms\r\n - Server side: 566,587 assertions passed 76.74ms\r\n\r\n! Exception EInterfaceFactoryException raised with messsage:\r\n! Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00465C76 in module 'TestSQL3.exe'. Read of address 0016E000\"\r\n}\r\n\r\n\r\nSynopse framework used: 1.18\r\nSQlite3 engine used: 3.8.3.1\r\nGenerated with: Delphi XE compiler\r\n\r\nTime elapsed for all tests: 178.69s\r\nTests performed at 2014-2-21 21:44:24\r\n\r\n! Some tests FAILED: please correct the code.\r\n"}
20140221 21442435 ! + TSQLRestClientDB(01420FC0).auth
20140221 21442435 ! + TSQLRestServerDB(01EC6CA0).root/auth?UserName=User&Session=11550147
20140221 21442435 ! auth TSQLRestRoutingREST(00FCE0D0) User/TAuthSession(00FD47A0)
20140221 21442435 ! call TSQLRestServerDB(01EC6CA0) Auth
20140221 21442435 ! auth TSQLRestServerDB(01EC6CA0) Deleted session User/11550147 from 127.0.0.1/0059CBF8
20140221 21442435 ! srvr TSQLRestServerDB(01EC6CA0) GET auth -> 200
20140221 21442435 ! - 00.000.047
20140221 21442435 ! - 00.000.079
20140221 21442435 ! info TSQLRestServerDB(01EC6CA0) { "ClientsCurrent": 0, "ClientsMax": 1, "Invalid": 4, "Responses": 14570, "Modified": 0, "IncomingBytes": 2778093, "OutcomingBytes": 1789438, "OutcomingFiles": 0, "ServiceCalls": 14571, "CurrentThreadCount": 0, "ProcessTime": "367.65ms" }
20140221 21442435 ! + 000BF146 SynSQLite3.TSQLDatabase.DBClose (3384)
20140221 21442436 ! - 00.013.392a good news, now EInterfaceFactoryException occur is reproduced in debug mode after update to 2014-02-20 version http://synopse.info/fossil/info/2894b0881b, not like before occur random time and line.
Exception
---------------------------
Debugger Exception Notification
---------------------------
Project TestSQL3.exe raised exception class EInterfaceFactoryException with message 'Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00465C76 in module 'TestSQL3.exe'. Read of address 0016E000"
}'.
---------------------------
Break Continue Help
---------------------------Call Stack
:7c80bee7 kernel32.RaiseException + 0x3c
mORMot.RaiseError(': {'#$D#$A'"ErrorCode":500,'#$D#$A'"ErrorText":"Exception EAccessViolation: Access violation at address 00465C76 in module ''TestSQL3.exe''. Read of address 0016E000"'#$D#$A'}')
mORMot.InternalProcess
mORMot.TInterfacedObjectFake.FakeCall($12FA00)
:017700a1
SynSelfTests.TestCalculator(Pointer($12C7034) as ICalculator)
SynSelfTests.TTestServiceOrientedArchitecture.Test($12FD94,700)
SynSelfTests.TTestServiceOrientedArchitecture.ClientTest(TSQLRestRoutingREST,False,False,[])
SynSelfTests.TTestServiceOrientedArchitecture.ClientSideREST
SynCommons.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:7c82f23b ; C:\WINDOWS\system32\kernel32.dllSource Line:
procedure TTestServiceOrientedArchitecture.ClientTest(aRouting: TSQLRestServerURIContextClass;
...
Test(Inst);
Inst.I := nil;
if CheckFailed(fClient.Services.GUID(IID_ICalculator).Get(Inst.I)) then
exit;
Test(Inst); <== Exception at call here Line: 8867
Finalize(Inst);
procedure TTestServiceOrientedArchitecture.Test(const Inst: TTestServiceInstances;
Iterations: Cardinal=700);
...
TestCalculator(Inst.I); <== LIne: 8699Console Output:
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 46.48ms
- TDynArray: 1,027,702 assertions passed 466.76ms
- TDynArrayHashed: 1,200,629 assertions passed 406.58ms
- TObjectListHashed: 999,889 assertions passed 1.11s
- TObjectDynArrayWrapper: 167,501 assertions passed 101.15ms
- Fast string compare: 7 assertions passed 373us
- IdemPropName: 30 assertions passed 443us
- Url encoding: 105 assertions passed 2.06ms
- GUID: 9,005 assertions passed 5.30ms
- IsMatch: 599 assertions passed 656us
- Soundex: 35 assertions passed 342us
- Numerical conversions: 1,065,784 assertions passed 579.28ms
- Curr 64: 20,053 assertions passed 6.65ms
- CamelCase: 11 assertions passed 962us
- Bits: 4,774 assertions passed 2.01ms
- Ini files: 7,004 assertions passed 83.10ms
- UTF8: 79,102 assertions passed 2.99s
- Iso 8601 date and time: 32,006 assertions passed 11.57ms
- Url decoding: 1,100 assertions passed 870us
- Mime types: 20 assertions passed 379us
- TSynTable: 873 assertions passed 7.75ms
- TSynCache: 404 assertions passed 682us
- TSynFilter: 1,005 assertions passed 5.37ms
- TSynValidate: 677 assertions passed 1.56ms
- TSynLogFile: 42 assertions passed 2.41ms
Total failed: 0 / 4,618,379 - Low level common PASSED 5.86s
1.2. Low level types:
- RTTI: 52 assertions passed 14.18ms
- Url encoding: 200 assertions passed 1.94ms
- Encode decode JSON: 262,007 assertions passed 373.53ms
- TDocVariant: 1,611 assertions passed 79.05ms
! - BSON: 8 / 20,000,184 FAILED 6.34s
Total failed: 8 / 20,264,054 - Low level types FAILED 6.81s
1.3. Big table:
- TSynBigTable: 19,179 assertions passed 180.74ms
- TSynBigTableString: 16,135 assertions passed 75.20ms
- TSynBigTableMetaData: 384,060 assertions passed 3.30s
- TSynBigTableRecord: 452,185 assertions passed 7.75s
Total failed: 0 / 871,559 - Big table PASSED 11.31s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 1.97s
- TPdfDocumentGDI: 5 assertions passed 325.92ms
Total failed: 1 / 7 - Synopse PDF FAILED 2.30s
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 503us
- MD5: 1 assertion passed 1.96ms
- SHA1: 5 assertions passed 383us
- SHA256: 5 assertions passed 620us
- AES256: 16,815 assertions passed 1.97s
- RC4: 1 assertion passed 353us
- Base64: 11,994 assertions passed 302.22ms
- CompressShaAes: 1,683 assertions passed 7.13ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 2.30s
1.6. Compression:
- In memory compression: 12 assertions passed 609.43ms
- GZIP format: 19 assertions passed 1.08s
- ZIP format: 36 assertions passed 2.10s
- SynLZO: 3,006 assertions passed 191.92ms
- SynLZ: 29,018 assertions passed 1.14s
Total failed: 0 / 32,091 - Compression PASSED 5.14s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 528.52ms
- Virtual table direct access: 12 assertions passed 16.78ms
- TSQLTableJSON: 109,072 assertions passed 288.19ms
- TSQLRestClientDB: 605,151 assertions passed 15.18s
- Regexp function: 6,016 assertions passed 75.17ms
Total failed: 0 / 730,389 - File based PASSED 16.11s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 545.84ms
- Virtual table direct access: 12 assertions passed 4.03ms
- TSQLTableJSON: 109,072 assertions passed 256.04ms
- TSQLRestClientDB: 605,150 assertions passed 15.04s
- Regexp function: 6,016 assertions passed 47.79ms
Total failed: 0 / 730,386 - File based memory map PASSED 15.91s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 526.88ms
- Virtual table direct access: 12 assertions passed 2.43ms
- TSQLTableJSON: 109,072 assertions passed 258.61ms
- TSQLRestClientDB: 605,151 assertions passed 15.17s
- Regexp function: 6,016 assertions passed 44.71ms
Total failed: 0 / 730,389 - File based WAL PASSED 16.01s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 475.93ms
- Virtual table direct access: 12 assertions passed 2.37ms
- TSQLTableJSON: 109,072 assertions passed 241.85ms
- TSQLRestClientDB: 673,447 assertions passed 16.43s
- Regexp function: 6,016 assertions passed 51.39ms
- RTree: 140,000 assertions passed 2.32s
Total failed: 0 / 938,683 - Memory based PASSED 19.54s
2.5. Basic classes:
! - TSQLRecord: 11 / 65 FAILED 6.29s
- TSQLRecordSigned: 200 assertions passed 15.92ms
- TSQLModel: 3 assertions passed 717us
Total failed: 11 / 268 - Basic classes FAILED 6.32s
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 373.68ms
using THttpApiServer
- TSQLHttpClient: 3 assertions passed 474.67ms
- HTTP client keep alive: 3,087 assertions passed 1.23s
4818 B, first 10.67ms, done 1.15s i.e. 862/s, aver. 1.15ms, 4.0 MB/s
- HTTP client multi connect: 3,087 assertions passed 1.19s
4818 B, first 1.47ms, done 1.14s i.e. 873/s, aver. 1.14ms, 4.0 MB/s
- HTTP client encrypted: 3,087 assertions passed 1.28s
4818 B, first 2.76ms, done 1.22s i.e. 816/s, aver. 1.22ms, 3.8 MB/s
- Named pipe access: 3,089 assertions passed 1.09s
4818 B, first 294.72ms, done 531.50ms i.e. 1881/s, aver. 531us, 8.8 MB/s
- Local window messages: 3,088 assertions passed 106.16ms
4818 B, first 307us, done 89.56ms i.e. 11164/s, aver. 89us, 52.2 MB/s
- Direct in process access: 3,056 assertions passed 83.06ms
4818 B, first 91us, done 72.61ms i.e. 13770/s, aver. 72us, 64.3 MB/s
- HTTP several DB servers: 9,604 assertions passed 5.22s
4818 B, first 1.82ms, done 1.09s i.e. 910/s, aver. 1.09ms, 4.2 MB/s
4818 B, first 1.92ms, done 1.09s i.e. 915/s, aver. 1.09ms, 4.2 MB/s
4818 B, first 1.30ms, done 1.10s i.e. 906/s, aver. 1.10ms, 4.2 MB/s
Total failed: 0 / 28,103 - Client server access PASSED 11.14s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 572us
- Service initialization: 200 assertions passed 6.75ms
- Direct call: 566,568 assertions passed 64.28ms
- Server side: 566,587 assertions passed 64.77ms
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00465C76 in
module 'TestSQL3.exe'. Read of address 0016E000"
}
Synopse framework used: 1.18
SQlite3 engine used: 3.8.3.1
Generated with: Delphi XE compiler
Time elapsed for all tests: 173.35s
Tests performed at 2014-2-21 14:24:08
Total assertions failed for all test suits: 20 / 28,974,813
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exit20140221 15104225 warn Test failed
20140221 15104447 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023B4AE SynSelfTests.TTestLowLevelTypes._BSON (4478) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15104447 warn Test failed
20140221 15105538 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023CF04 SynSelfTests.TTestLowLevelTypes._BSON (4571) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15105538 warn Test failed
20140221 15105735 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023CF66 SynSelfTests.TTestLowLevelTypes._BSON (4572) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15105735 warn Test failed
20140221 15110135 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023CFC8 SynSelfTests.TTestLowLevelTypes._BSON (4573) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15110135 warn Test failed
20140221 15110210 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023D070 SynSelfTests.TTestLowLevelTypes._BSON (4574) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15110210 warn Test failed
20140221 15110300 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023D148 SynSelfTests.TTestLowLevelTypes._BSON (4575) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15110300 warn Test failed
20140221 15110408 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023D204 SynSelfTests.TTestLowLevelTypes._BSON (4576) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15110408 warn Test failed
20140221 15110522 fail TTestLowLevelTypes(0108A8E8) Low level types: BSON "" stack trace API 0023D2B0 SynSelfTests.TTestLowLevelTypes._BSON (4577) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15111700 warn Test failed
20140221 15111837 fail TTestSynopsePDF(0108ABF8) Synopse PDF: TPdfDocument "" stack trace API 002488F1 SynSelfTests.TTestSynopsePDF._TPdfDocument (5712) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15123204 warn Test failed
20140221 15123861 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00243C52 SynSelfTests.TTestBasicClasses._TSQLRecord (4966) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15123861 warn Test failed
20140221 15123958 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00243CFC SynSelfTests.TTestBasicClasses._TSQLRecord (4976) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15123958 warn Test failed
20140221 15124028 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00243DF1 SynSelfTests.TTestBasicClasses._TSQLRecord (4989) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124028 warn Test failed
20140221 15124054 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00244080 SynSelfTests.TTestBasicClasses._TSQLRecord (5008) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124054 warn Test failed
20140221 15124119 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00244207 SynSelfTests.TTestBasicClasses._TSQLRecord (5020) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124119 warn Test failed
20140221 15124153 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 002443E5 SynSelfTests.TTestBasicClasses._TSQLRecord (5034) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124153 warn Test failed
20140221 15124224 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 0024447F SynSelfTests.TTestBasicClasses._TSQLRecord (5040) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124224 warn Test failed JSON object as text
20140221 15124350 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "JSON object as text" stack trace API 002444FB SynSelfTests.TTestBasicClasses._TSQLRecord (5043) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124350 warn Test failed
20140221 15124423 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00244556 SynSelfTests.TTestBasicClasses._TSQLRecord (5045) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124423 warn Test failed
20140221 15124451 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 00244740 SynSelfTests.TTestBasicClasses._TSQLRecord (5055) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15124451 warn Test failed
20140221 15124525 fail TTestBasicClasses(0108AD80) Basic classes: TSQLRecord "" stack trace API 002447AA SynSelfTests.TTestBasicClasses._TSQLRecord (5058) 0026DDB7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140221 15130742 EXCOS EAccessViolation (C0000005) at 00064C76 SynCommons.RawUnicodeToUtf8 (11410) stack trace API 00094CB0 SynCommons.SynRtlUnwind (36505) 0000614C System.@HandleOnException
20140221 15194346 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00465C76 in module 'TestSQL3.exe'. Read of address 0016E000\"\r\n}") at 0019034E mORMot.RaiseError (31790) stack trace API 00094CB0 SynCommons.SynRtlUnwind (36505) 0000614C System.@HandleOnException If need any help please let me know, thanks!
Yes, it now works, thanks!
use ISQLDBRows, sometime need to a second step,
but seems step(TRUE) is not function, test code below, thanks!
(or introduce a function like TSQLRecorrd's FillRewind to ISQLDBRows, remove the step parameter?)
procedure TForm3.Button1Click(Sender: TObject);
var
props: TSQLDBConnectionProperties;
rows: ISQLDBRows;
begin
props := TOleDBMSSQLConnectionProperties.Create('localhost', 'testdb', '', '');
rows := props.Execute('select * from test1', []);
while rows.Step do
begin
Memo1.Lines.Add(utf8ToString(rows.ColumnUTF8('column1')));
end;
if rows.Step(TRUE) then
begin
Memo2.Lines.Add(utf8ToString(rows.ColumnUTF8('column1')));
while rows.Step do
Memo2.Lines.Add(utf8ToString(rows.ColumnUTF8('column1')));
end;
props.Free;
end;thank you ab, I know the example, i think if it's a common demand, why always reinvent the wheel, if has a build in web server, then can enhanced it step by step, since there are some function is not easy to implement.
now we have ORM, Rest Server, for web front, we also need a simple web server to server static file, search forum there are also some similar demand, is there any possibility to have a build in Web Server, for example, sub class of TSQLHttpServer, accessional to server a directory content, thanks!
Ab, thank you for your intelligent insights, for me this is a difficult problem.
In document, transcation should do like this:
if Client.TransactionBeginRetry(TSQLRecordPeopleObject,20) then
try
//.... modify the database content, raise exceptions on error
Client.Commit;
except
Client.RollBack; // in case of error
end; but when I do this, when i debug, found transcation start and commit is not match,
this will make have some pending conneciton, later some operation will lock by this
pending operation, i use a TOleDBMSSQLConnectionProperties register external Db,
since ThreadSafeConnection default will use tmThreadPool, when call TransactionBeginRetry,
the server will use a thread, but when call client.commit, perhaps will use another thread,
then commit will not commit the pending conneciton, is this true?
in TServiceCalculator.ComplexCall implement change
//Str2[i] := UTF8ToWideString(RawUTF8ArrayToCSV(Strs1));
Str2[i] := UTF8ToString(RawUTF8ArrayToCSV(Strs1));another log content, looks more comprehensive
20140125 16324251 fail TTestLowLevelTypes(0117A8E8) Low level types: BSON "" stack trace API 0023464D SynSelfTests.TTestLowLevelTypes._BSON (4364) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16325401 warn Test failed
20140125 16325401 fail TTestSynopsePDF(0117ABF8) Synopse PDF: TPdfDocument "" stack trace API 0023F519 SynSelfTests.TTestSynopsePDF._TPdfDocument (5518) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023A87A SynSelfTests.TTestBasicClasses._TSQLRecord (4772) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023A924 SynSelfTests.TTestBasicClasses._TSQLRecord (4782) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023AA19 SynSelfTests.TTestBasicClasses._TSQLRecord (4795) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023ACA8 SynSelfTests.TTestBasicClasses._TSQLRecord (4814) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023AE2F SynSelfTests.TTestBasicClasses._TSQLRecord (4826) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B00D SynSelfTests.TTestBasicClasses._TSQLRecord (4840) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B0A7 SynSelfTests.TTestBasicClasses._TSQLRecord (4846) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed JSON object as text
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "JSON object as text" stack trace API 0023B123 SynSelfTests.TTestBasicClasses._TSQLRecord (4849) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B17E SynSelfTests.TTestBasicClasses._TSQLRecord (4851) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B368 SynSelfTests.TTestBasicClasses._TSQLRecord (4861) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16342354 warn Test failed
20140125 16342354 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B3D2 SynSelfTests.TTestBasicClasses._TSQLRecord (4864) 002645F3 mORMotSelfTests.SQLite3ConsoleTests (209)
20140125 16343839 EXCOS EAccessViolation (C0000005) at 00063F04 SynCommons.RawUnicodeToUtf8 (11073) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 00005FC4 System.@HandleAnyException 0007E57B SynCommons.TTextWriter.AddDynArrayJSON (27406) 0007DFE6 SynCommons.TTextWriter.AddDynArrayJSON (27311) 001959D1 mORMot.TServiceMethodArgument.AddJSON (34700) 0018DA17 mORMot.InternalProcess (32506) 0018E336 mORMot.TInterfacedObjectFake.FakeCall (32633)
20140125 16344028 EXCOS EAccessViolation (C0000005) at 00063F56 SynCommons.RawUnicodeToUtf8 (11085) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 0000614C System.@HandleOnException
20140125 16344028 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00464F56 in module 'TestSQL3.exe'. Read of address 00189000\"\r\n}") at 0018D822 mORMot.RaiseError (32453) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 0000614C System.@HandleOnException thanks for the fix, after build, first run, see exception,
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 28.03ms
- TDynArray: 1,027,702 assertions passed 510.71ms
- TDynArrayHashed: 1,200,629 assertions passed 500.98ms
- TObjectListHashed: 999,898 assertions passed 1.17s
- Fast string compare: 7 assertions passed 915us
- IdemPropName: 30 assertions passed 3.01ms
- Url encoding: 105 assertions passed 5.95ms
- GUID: 9,005 assertions passed 17.70ms
- IsMatch: 599 assertions passed 1.93ms
- Soundex: 35 assertions passed 981us
- Numerical conversions: 1,065,414 assertions passed 618.08ms
- Curr 64: 20,053 assertions passed 3.45ms
- CamelCase: 11 assertions passed 278us
- Bits: 4,774 assertions passed 342us
- Ini files: 7,004 assertions passed 48.75ms
- UTF8: 79,102 assertions passed 2.97s
- Iso 8601 date and time: 24,006 assertions passed 11.68ms
- Url decoding: 1,100 assertions passed 1.89ms
- Mime types: 20 assertions passed 963us
- TSynTable: 873 assertions passed 27.07ms
- TSynCache: 404 assertions passed 1.11ms
- TSynFilter: 1,005 assertions passed 6.69ms
- TSynValidate: 677 assertions passed 2.17ms
- TSynLogFile: 42 assertions passed 5.72ms
Total failed: 0 / 4,442,517 - Low level common PASSED 5.96s
1.2. Low level types:
- RTTI: 52 assertions passed 35.06ms
- Url encoding: 200 assertions passed 3.91ms
- Encode decode JSON: 261,982 assertions passed 379.77ms
- TDocVariant: 1,597 assertions passed 60.17ms
! - BSON: 1 / 20,000,123 FAILED 555.22ms
Total failed: 1 / 20,263,954 - Low level types FAILED 1.03s
1.3. Big table:
- TSynBigTable: 19,275 assertions passed 250.04ms
- TSynBigTableString: 16,013 assertions passed 68.12ms
- TSynBigTableMetaData: 384,060 assertions passed 3.27s
- TSynBigTableRecord: 452,185 assertions passed 8.35s
Total failed: 0 / 871,533 - Big table PASSED 11.94s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 74.96ms
- TPdfDocumentGDI: 5 assertions passed 712.77ms
Total failed: 1 / 7 - Synopse PDF FAILED 790.57ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 1.06ms
- MD5: 1 assertion passed 1.09ms
- SHA1: 5 assertions passed 998us
- SHA256: 5 assertions passed 984us
- AES256: 16,815 assertions passed 1.85s
- RC4: 1 assertion passed 1.05ms
- Base64: 11,994 assertions passed 320.93ms
- CompressShaAes: 1,683 assertions passed 7.08ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 2.19s
1.6. Compression:
- In memory compression: 12 assertions passed 562.36ms
- GZIP format: 19 assertions passed 1.11s
- ZIP format: 36 assertions passed 2.11s
- SynLZO: 3,006 assertions passed 180.47ms
- SynLZ: 29,018 assertions passed 1.10s
Total failed: 0 / 32,091 - Compression PASSED 5.08s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 590.31ms
- Virtual table direct access: 12 assertions passed 28.45ms
- TSQLTableJSON: 109,072 assertions passed 290.32ms
- TSQLRestClientDB: 605,151 assertions passed 15.50s
- Regexp function: 6,016 assertions passed 62.65ms
Total failed: 0 / 730,389 - File based PASSED 16.47s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 513.82ms
- Virtual table direct access: 12 assertions passed 5.04ms
- TSQLTableJSON: 109,072 assertions passed 288.88ms
- TSQLRestClientDB: 605,150 assertions passed 15.79s
- Regexp function: 6,016 assertions passed 49.91ms
Total failed: 0 / 730,386 - File based memory map PASSED 16.65s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 587.63ms
- Virtual table direct access: 12 assertions passed 2.51ms
- TSQLTableJSON: 109,072 assertions passed 249.34ms
- TSQLRestClientDB: 605,151 assertions passed 16.40s
- Regexp function: 6,016 assertions passed 50.35ms
Total failed: 0 / 730,389 - File based WAL PASSED 17.29s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 460.91ms
- Virtual table direct access: 12 assertions passed 4.95ms
- TSQLTableJSON: 109,072 assertions passed 291.71ms
- TSQLRestClientDB: 673,447 assertions passed 16.83s
- Regexp function: 6,016 assertions passed 53.63ms
- RTree: 140,000 assertions passed 2.43s
Total failed: 0 / 938,683 - Memory based PASSED 20.08s
2.5. Basic classes:
! - TSQLRecord: 11 / 65 FAILED 1.90ms
- TSQLRecordSigned: 200 assertions passed 7.85ms
- TSQLModel: 3 assertions passed 328us
Total failed: 11 / 268 - Basic classes FAILED 12.06ms
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 39.14ms
using THttpApiServer
- TSQLHttpClient: 3 assertions passed 136.07ms
- HTTP client keep alive: 3,087 assertions passed 1.26s
4818 B, first 14.92ms, done 1.17s i.e. 847/s, aver. 1.17ms, 3.9 MB/s
- HTTP client multi connect: 3,087 assertions passed 1.27s
4818 B, first 1.40ms, done 1.21s i.e. 820/s, aver. 1.21ms, 3.8 MB/s
- HTTP client encrypted: 3,087 assertions passed 1.23s
4818 B, first 1.10ms, done 1.18s i.e. 845/s, aver. 1.18ms, 3.9 MB/s
- Named pipe access: 3,089 assertions passed 1.09s
4818 B, first 259.87ms, done 606.19ms i.e. 1649/s, aver. 606us, 7.7 MB/s
- Local window messages: 3,088 assertions passed 103.58ms
4818 B, first 228us, done 90.41ms i.e. 11060/s, aver. 90us, 51.7 MB/s
- Direct in process access: 3,056 assertions passed 80.86ms
4818 B, first 94us, done 69.16ms i.e. 14457/s, aver. 69us, 67.6 MB/s
- HTTP several DB servers: 9,604 assertions passed 3.98s
4818 B, first 2.55ms, done 1.21s i.e. 824/s, aver. 1.21ms, 3.8 MB/s
4818 B, first 1.68ms, done 1.07s i.e. 932/s, aver. 1.07ms, 4.3 MB/s
4818 B, first 1.81ms, done 1.07s i.e. 933/s, aver. 1.07ms, 4.3 MB/s
Total failed: 0 / 28,103 - Client server access PASSED 9.21s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 16.10ms
- Service initialization: 200 assertions passed 30.81ms
- Direct call: 566,568 assertions passed 60.37ms
- Server side: 566,587 assertions passed 59.88ms
- Client side REST: 566,592 assertions passed 1.12s
- Client side REST result as object: 566,586 assertions passed 1.10s
- Client side REST synchronized: 94 assertions passed 7.57ms
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00464F04 in
module 'TestSQL3.exe'. Read of address 00186000"
}
Synopse framework used: 1.18
SQlite3 engine used: 3.8.2
Generated with: Delphi XE compiler
Time elapsed for all tests: 109.23s
Tests performed at 2014-1-25 14:18:29
Total assertions failed for all test suits: 13 / 28,798,825
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exitlog content
20140125 14164709 fail TTestLowLevelTypes(0117A8E8) Low level types: BSON "" stack trace API 00495016 004995F2 00485DFD 0063564D 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14165911 warn Test failed
20140125 14165911 fail TTestSynopsePDF(0117ABF8) Synopse PDF: TPdfDocument "" stack trace API 00495016 004995F2 00485DFD 00640519 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063B87A 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063B924 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063BA19 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063BCA8 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063BE2F 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063C00D 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063C0A7 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed JSON object as text
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "JSON object as text" stack trace API 00495016 004995F2 00485DFD 0063C123 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063C17E 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063C368 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14181746 warn Test failed
20140125 14181746 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 00495016 004995F2 00485DFD 0063C3D2 00486A22 006655D7 0066B3D9 7C82F23B
20140125 14182924 EXCOS EAccessViolation (C0000005) at 00464F04 stack trace API 00493F14 00406FC4 7C958723 7C95855E 0047F57B 0047EFE6 005969D1 0058EA17 0058F336
20140125 14182924 EXCOS EAccessViolation (C0000005) at 00464F04 stack trace API 00493F14 0040714C
20140125 14182924 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00464F04 in module 'TestSQL3.exe'. Read of address 00186000\"\r\n}") at 0058E822 stack trace API 00493F14 0040714C so i turn project map file to detail, then rebuild test, run 10 times, only at tenth, see exception, the first to ninth no exception.
log content is :
20140125 15361344 fail TTestLowLevelTypes(0117A8E8) Low level types: BSON "" stack trace API 0023464D SynSelfTests.TTestLowLevelTypes._BSON (4364) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15362546 warn Test failed
20140125 15362546 fail TTestSynopsePDF(0117ABF8) Synopse PDF: TPdfDocument "" stack trace API 0023F519 SynSelfTests.TTestSynopsePDF._TPdfDocument (5518) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023A87A SynSelfTests.TTestBasicClasses._TSQLRecord (4772) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023A924 SynSelfTests.TTestBasicClasses._TSQLRecord (4782) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023AA19 SynSelfTests.TTestBasicClasses._TSQLRecord (4795) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023ACA8 SynSelfTests.TTestBasicClasses._TSQLRecord (4814) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023AE2F SynSelfTests.TTestBasicClasses._TSQLRecord (4826) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B00D SynSelfTests.TTestBasicClasses._TSQLRecord (4840) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B0A7 SynSelfTests.TTestBasicClasses._TSQLRecord (4846) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed JSON object as text
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "JSON object as text" stack trace API 0023B123 SynSelfTests.TTestBasicClasses._TSQLRecord (4849) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B17E SynSelfTests.TTestBasicClasses._TSQLRecord (4851) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B368 SynSelfTests.TTestBasicClasses._TSQLRecord (4861) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15374440 warn Test failed
20140125 15374440 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B3D2 SynSelfTests.TTestBasicClasses._TSQLRecord (4864) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15375351 EXCOS EAccessViolation (C0000005) at 00063F56 SynCommons.RawUnicodeToUtf8 (11085) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 0000614C System.@HandleOnException
20140125 15375351 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00464F56 in module 'TestSQL3.exe'. Read of address 00196000\"\r\n}") at 0018D822 mORMot.RaiseError (32453) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 0000614C System.@HandleOnException then I turn project map file off, rebuild test, seems easy to see exception, at second run, exception happend:
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 600us
- TDynArray: 1,027,702 assertions passed 446.32ms
- TDynArrayHashed: 1,200,629 assertions passed 433.42ms
- TObjectListHashed: 999,887 assertions passed 1.08s
- Fast string compare: 7 assertions passed 268us
- IdemPropName: 30 assertions passed 377us
- Url encoding: 105 assertions passed 2.10ms
- GUID: 9,005 assertions passed 6.28ms
- IsMatch: 599 assertions passed 534us
- Soundex: 35 assertions passed 462us
- Numerical conversions: 1,062,848 assertions passed 550.52ms
- Curr 64: 20,053 assertions passed 3.40ms
- CamelCase: 11 assertions passed 500us
- Bits: 4,774 assertions passed 623us
- Ini files: 7,004 assertions passed 44.19ms
- UTF8: 79,102 assertions passed 3.11s
- Iso 8601 date and time: 24,006 assertions passed 13.58ms
- Url decoding: 1,100 assertions passed 2.37ms
- Mime types: 20 assertions passed 1.63ms
- TSynTable: 873 assertions passed 11.68ms
- TSynCache: 404 assertions passed 1.12ms
- TSynFilter: 1,005 assertions passed 8.61ms
- TSynValidate: 677 assertions passed 3.86ms
- TSynLogFile: 42 assertions passed 3.17ms
Total failed: 0 / 4,439,940 - Low level common PASSED 5.74s
1.2. Low level types:
- RTTI: 52 assertions passed 404us
- Url encoding: 200 assertions passed 1.43ms
- Encode decode JSON: 261,982 assertions passed 339.82ms
- TDocVariant: 1,597 assertions passed 70.28ms
! - BSON: 1 / 20,000,123 FAILED 507.48ms
Total failed: 1 / 20,263,954 - Low level types FAILED 922.59ms
1.3. Big table:
- TSynBigTable: 19,120 assertions passed 218.27ms
- TSynBigTableString: 16,128 assertions passed 69.29ms
- TSynBigTableMetaData: 384,060 assertions passed 3.30s
- TSynBigTableRecord: 452,185 assertions passed 7.76s
Total failed: 0 / 871,493 - Big table PASSED 11.36s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 28.41ms
- TPdfDocumentGDI: 5 assertions passed 121.07ms
Total failed: 1 / 7 - Synopse PDF FAILED 151.86ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 507us
- MD5: 1 assertion passed 355us
- SHA1: 5 assertions passed 322us
- SHA256: 5 assertions passed 371us
- AES256: 16,815 assertions passed 1.63s
- RC4: 1 assertion passed 922us
- Base64: 11,994 assertions passed 343.69ms
- CompressShaAes: 1,683 assertions passed 12.14ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 2.00s
1.6. Compression:
- In memory compression: 12 assertions passed 526.35ms
- GZIP format: 19 assertions passed 1.09s
- ZIP format: 36 assertions passed 1.97s
- SynLZO: 3,006 assertions passed 176.55ms
- SynLZ: 29,018 assertions passed 1.04s
Total failed: 0 / 32,091 - Compression PASSED 4.82s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 517.73ms
- Virtual table direct access: 12 assertions passed 4.14ms
- TSQLTableJSON: 109,072 assertions passed 250.47ms
- TSQLRestClientDB: 605,151 assertions passed 15.28s
- Regexp function: 6,016 assertions passed 68.21ms
Total failed: 0 / 730,389 - File based PASSED 16.13s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 544.73ms
- Virtual table direct access: 12 assertions passed 8.74ms
- TSQLTableJSON: 109,072 assertions passed 310.45ms
- TSQLRestClientDB: 605,150 assertions passed 15.35s
- Regexp function: 6,016 assertions passed 59.76ms
Total failed: 0 / 730,386 - File based memory map PASSED 16.28s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 555.01ms
- Virtual table direct access: 12 assertions passed 2.37ms
- TSQLTableJSON: 109,072 assertions passed 237.44ms
- TSQLRestClientDB: 605,151 assertions passed 16.06s
- Regexp function: 6,016 assertions passed 52.22ms
Total failed: 0 / 730,389 - File based WAL PASSED 16.91s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 474.63ms
- Virtual table direct access: 12 assertions passed 5.02ms
- TSQLTableJSON: 109,072 assertions passed 274.62ms
- TSQLRestClientDB: 673,447 assertions passed 16.79s
- Regexp function: 6,016 assertions passed 76.08ms
- RTree: 140,000 assertions passed 2.31s
Total failed: 0 / 938,683 - Memory based PASSED 19.94s
2.5. Basic classes:
! - TSQLRecord: 11 / 65 FAILED 1.50ms
- TSQLRecordSigned: 200 assertions passed 6.97ms
- TSQLModel: 3 assertions passed 305us
Total failed: 11 / 268 - Basic classes FAILED 9.66ms
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 13.50ms
using THttpApiServer
- TSQLHttpClient: 3 assertions passed 61.82ms
- HTTP client keep alive: 3,087 assertions passed 1.16s
4818 B, first 10.18ms, done 1.09s i.e. 910/s, aver. 1.09ms, 4.2 MB/s
- HTTP client multi connect: 3,087 assertions passed 1.15s
4818 B, first 1.73ms, done 1.10s i.e. 902/s, aver. 1.10ms, 4.2 MB/s
- HTTP client encrypted: 3,087 assertions passed 1.20s
4818 B, first 1.04ms, done 1.14s i.e. 870/s, aver. 1.14ms, 4.0 MB/s
- Named pipe access: 3,089 assertions passed 1.05s
4818 B, first 259.29ms, done 562.55ms i.e. 1777/s, aver. 562us, 8.3 MB/s
- Local window messages: 3,088 assertions passed 146.84ms
4818 B, first 909us, done 130.80ms i.e. 7645/s, aver. 130us, 35.7 MB/s
- Direct in process access: 3,056 assertions passed 79.36ms
4818 B, first 85us, done 69.07ms i.e. 14477/s, aver. 69us, 67.6 MB/s
- HTTP several DB servers: 9,604 assertions passed 3.78s
4818 B, first 1.78ms, done 1.05s i.e. 945/s, aver. 1.05ms, 4.4 MB/s
4818 B, first 1.89ms, done 1.06s i.e. 939/s, aver. 1.06ms, 4.3 MB/s
4818 B, first 1.57ms, done 1.06s i.e. 940/s, aver. 1.06ms, 4.3 MB/s
Total failed: 0 / 28,103 - Client server access PASSED 8.67s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 588us
- Service initialization: 200 assertions passed 6.22ms
- Direct call: 566,568 assertions passed 63.33ms
- Server side: 566,587 assertions passed 61.63ms
- Client side REST: 566,592 assertions passed 1.06s
- Client side REST result as object: 566,586 assertions passed 1.14s
- Client side REST synchronized: 566,586 assertions passed 5.80s
- Client side REST weak authentication: 566,586 assertions passed 1.00s
- Client side REST custom record layout: 566,586 assertions passed 1.10s
- Client side JSONRPC: 566,586 assertions passed 1.16s
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00464F04 in
module 'TestSQL3.exe'. Read of address 00188000"
}
Synopse framework used: 1.18
SQlite3 engine used: 3.8.2
Generated with: Delphi XE compiler
Time elapsed for all tests: 114.71s
Tests performed at 2014-1-25 15:53:40
Total assertions failed for all test suits: 13 / 28,796,208
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exitlog content:
20140125 15515215 fail TTestLowLevelTypes(0117A8E8) Low level types: BSON "" stack trace API 0023464D SynSelfTests.TTestLowLevelTypes._BSON (4364) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15520341 warn Test failed
20140125 15520341 fail TTestSynopsePDF(0117ABF8) Synopse PDF: TPdfDocument "" stack trace API 0023F519 SynSelfTests.TTestSynopsePDF._TPdfDocument (5518) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531958 warn Test failed
20140125 15531958 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023A87A SynSelfTests.TTestBasicClasses._TSQLRecord (4772) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531958 warn Test failed
20140125 15531958 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023A924 SynSelfTests.TTestBasicClasses._TSQLRecord (4782) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531958 warn Test failed
20140125 15531958 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023AA19 SynSelfTests.TTestBasicClasses._TSQLRecord (4795) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531958 warn Test failed
20140125 15531958 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023ACA8 SynSelfTests.TTestBasicClasses._TSQLRecord (4814) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531958 warn Test failed
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023AE2F SynSelfTests.TTestBasicClasses._TSQLRecord (4826) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531959 warn Test failed
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B00D SynSelfTests.TTestBasicClasses._TSQLRecord (4840) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531959 warn Test failed
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B0A7 SynSelfTests.TTestBasicClasses._TSQLRecord (4846) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531959 warn Test failed JSON object as text
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "JSON object as text" stack trace API 0023B123 SynSelfTests.TTestBasicClasses._TSQLRecord (4849) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531959 warn Test failed
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B17E SynSelfTests.TTestBasicClasses._TSQLRecord (4851) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531959 warn Test failed
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B368 SynSelfTests.TTestBasicClasses._TSQLRecord (4861) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15531959 warn Test failed
20140125 15531959 fail TTestBasicClasses(0117AD80) Basic classes: TSQLRecord "" stack trace API 0023B3D2 SynSelfTests.TTestBasicClasses._TSQLRecord (4864) 002645D7 mORMotSelfTests.SQLite3ConsoleTests (208)
20140125 15534022 EXCOS EAccessViolation (C0000005) at 00063F04 SynCommons.RawUnicodeToUtf8 (11073) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 0000614C System.@HandleOnException
20140125 15534022 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00464F04 in module 'TestSQL3.exe'. Read of address 00188000\"\r\n}") at 0018D822 mORMot.RaiseError (32453) stack trace API 00092F14 SynCommons.SynRtlUnwind (35514) 0000614C System.@HandleOnException seems AV occur at procedure TestOverHTTP, when call TestCalculator, in TServiceCalculator.ComplexCall implement,
function TServiceCalculator.ComplexCall(const Ints: TIntegerDynArray;
Strs1: TRawUTF8DynArray; var Str2: TWideStringDynArray; const Rec1: TVirtualTableModuleProperties;
var Rec2: TSQLRestCacheEntryValue; Float1: double; var Float2: double): TSQLRestCacheEntryValue;
var i: integer;
begin
result := Rec2;
result.JSON := StringToUTF8(Rec1.FileExtension);
i := length(Str2);
SetLength(Str2,i+1);
// Str2[i] := UTF8ToWideString(RawUTF8ArrayToCSV(Strs1)); //<== AV occur at
Str2[i] := UTF8ToString(RawUTF8ArrayToCSV(Strs1));
inc(Rec2.ID);
dec(Rec2.TimeStamp);
Rec2.JSON := IntegerDynArrayToCSV(Ints,length(Ints));
Float2 := Float1;
end;after replace UTF8ToWideString to UTF8ToString, AV disappear, don't know why, now only some test failed left
log content like this:
20140124 12045344 fail TTestLowLevelTypes(0116A8E8) Low level types: BSON "" stack trace API 00233C09 SynSelfTests.TTestLowLevelTypes._BSON (4364) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12050444 fail TTestSynopsePDF(0116ABF8) Synopse PDF: TPdfDocument "" stack trace API 0023EAD5 SynSelfTests.TTestSynopsePDF._TPdfDocument (5518) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 00239E36 SynSelfTests.TTestBasicClasses._TSQLRecord (4772) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 00239EE0 SynSelfTests.TTestBasicClasses._TSQLRecord (4782) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 00239FD5 SynSelfTests.TTestBasicClasses._TSQLRecord (4795) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A264 SynSelfTests.TTestBasicClasses._TSQLRecord (4814) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A3EB SynSelfTests.TTestBasicClasses._TSQLRecord (4826) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A5C9 SynSelfTests.TTestBasicClasses._TSQLRecord (4840) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A663 SynSelfTests.TTestBasicClasses._TSQLRecord (4846) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "JSON object as text" stack trace API 0023A6DF SynSelfTests.TTestBasicClasses._TSQLRecord (4849) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A73A SynSelfTests.TTestBasicClasses._TSQLRecord (4851) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A924 SynSelfTests.TTestBasicClasses._TSQLRecord (4861) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12061707 fail TTestBasicClasses(0116AD80) Basic classes: TSQLRecord "" stack trace API 0023A98E SynSelfTests.TTestBasicClasses._TSQLRecord (4864) 00263BAF mORMotSelfTests.SQLite3ConsoleTests (208)
20140124 12063900 EXC EInterfaceFactoryException ("Invalid fake ICalculator.Add interface call: TInterfaceStub returned error: expected exception") at 0018CFDA mORMot.RaiseError (32346) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 0000614C System.@HandleOnException
20140124 12063900 EXC ESynException ("expected exception") at 00191ED2 mORMot.TInterfaceStub.Invoke (33713) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 0000614C System.@HandleOnException
20140124 12065443 EXC ECrtSocket ("SockRecvLn 10053") at 000A6BE6 SynCrtSock.TCrtSocket.SockRecvLn (1868) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 0000614C System.@HandleOnException
20140124 12065444 EXC ECrtSocket ("SockRecvLn 10053") at 000A6BE6 SynCrtSock.TCrtSocket.SockRecvLn (1868) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 0000614C System.@HandleOnException
20140124 12065445 EXC ECrtSocket ("SndLow -10053") at 000A6463 SynCrtSock.TCrtSocket.SndLow (1652) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 0000614C System.@HandleOnException
20140124 12065445 EXC ECrtSocket ("SockRecvLn 10053") at 000A6BE6 SynCrtSock.TCrtSocket.SockRecvLn (1868) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 0000614C System.@HandleOnException
20140124 12065449 EXCOS EAccessViolation (C0000005) at 000A85ED SynCrtSock.THttpServerResp.ResetServer (2656) stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 00005FC4 System.@HandleAnyException 000A89BA SynCrtSock.THttpServerResp.Execute (2751) 0004D04D Classes.ThreadProc 00006A2A System.ThreadWrapper
20140124 12065449 EXCOS EAccessViolation (C0000005) at stack trace API 00092E8C SynCommons.SynRtlUnwind (35456) 00005FC4 System.@HandleAnyException 000A86A2 SynCrtSock.THttpServerResp.ResetServer (2669) 000A89BA SynCrtSock.THttpServerResp.Execute (2751) 0004D04D Classes.ThreadProc 00006A2A System.ThreadWrapper use the last daily build and DelphiXE, thanks!
thank your quick fix, update to 2014-01-15 build, make a full build and
then run not from ide, very glad to see some failed test has passed, but when
run to section 2.7. Service oriented architecture, there still has exception,
then test stop, so i change project map file to Detailed, then rebuild, then run not from ide,
console output is below:
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 3.14ms
- TDynArray: 1,027,702 assertions passed 515.72ms
- TDynArrayHashed: 1,200,629 assertions passed 395.13ms
- TObjectListHashed: 999,884 assertions passed 948.23ms
- Fast string compare: 7 assertions passed 334us
- IdemPropName: 30 assertions passed 1.27ms
- Url encoding: 105 assertions passed 2.41ms
- GUID: 9,005 assertions passed 5.95ms
- IsMatch: 599 assertions passed 828us
- Soundex: 35 assertions passed 231us
- Numerical conversions: 895,938 assertions passed 336.35ms
- Curr 64: 20,053 assertions passed 4.92ms
- CamelCase: 11 assertions passed 1.07ms
- Bits: 4,774 assertions passed 1.02ms
- Ini files: 7,004 assertions passed 85.90ms
- UTF8: 78,102 assertions passed 2.87s
- Iso 8601 date and time: 24,006 assertions passed 10.35ms
- Url decoding: 1,100 assertions passed 1.27ms
- Mime types: 20 assertions passed 535us
- TSynTable: 41 assertions passed 3.94ms
- TSynCache: 404 assertions passed 549us
- TSynFilter: 1,005 assertions passed 5.02ms
- TSynValidate: 677 assertions passed 1.47ms
- TSynLogFile: 42 assertions passed 2.55ms
Total failed: 0 / 4,271,195 - Low level common PASSED 5.21s
1.2. Low level types:
- RTTI: 52 assertions passed 28.59ms
- Url encoding: 200 assertions passed 12.58ms
- Encode decode JSON: 261,851 assertions passed 328.30ms
- TSynDocumentVariant: 817 assertions passed 36.38ms
! - BSON: 1 / 20,000,015 FAILED 537.44ms
Total failed: 1 / 20,262,935 - Low level types FAILED 950.92ms
1.3. Big table:
- TSynBigTable: 19,280 assertions passed 183.54ms
- TSynBigTableString: 16,165 assertions passed 68.80ms
- TSynBigTableMetaData: 384,060 assertions passed 3.24s
- TSynBigTableRecord: 452,185 assertions passed 8.26s
Total failed: 0 / 871,690 - Big table PASSED 11.76s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 38.59ms
- TPdfDocumentGDI: 5 assertions passed 119.69ms
Total failed: 1 / 7 - Synopse PDF FAILED 162.32ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 633us
- MD5: 1 assertion passed 591us
- SHA1: 5 assertions passed 474us
- SHA256: 5 assertions passed 356us
- AES256: 16,815 assertions passed 1.69s
- RC4: 1 assertion passed 2.32ms
- Base64: 11,994 assertions passed 281.73ms
- CompressShaAes: 1,683 assertions passed 7.51ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 1.99s
1.6. Compression:
- In memory compression: 12 assertions passed 536.97ms
- GZIP format: 19 assertions passed 1.06s
- ZIP format: 36 assertions passed 1.93s
- SynLZO: 3,006 assertions passed 180.08ms
- SynLZ: 29,018 assertions passed 1.12s
Total failed: 0 / 32,091 - Compression PASSED 4.85s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 506.89ms
- Virtual table direct access: 12 assertions passed 15.66ms
- TSQLTableJSON: 109,072 assertions passed 279.69ms
- TSQLRestClientDB: 605,151 assertions passed 14.62s
- Regexp function: 6,016 assertions passed 54.00ms
Total failed: 0 / 730,389 - File based PASSED 15.48s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 489.75ms
- Virtual table direct access: 12 assertions passed 4.79ms
- TSQLTableJSON: 109,072 assertions passed 268.36ms
- TSQLRestClientDB: 605,150 assertions passed 14.72s
- Regexp function: 6,016 assertions passed 48.29ms
Total failed: 0 / 730,386 - File based memory map PASSED 15.54s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 511.02ms
- Virtual table direct access: 12 assertions passed 2.83ms
- TSQLTableJSON: 109,072 assertions passed 246.39ms
- TSQLRestClientDB: 605,151 assertions passed 14.72s
- Regexp function: 6,016 assertions passed 52.75ms
Total failed: 0 / 730,389 - File based WAL PASSED 15.54s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 510.95ms
- Virtual table direct access: 12 assertions passed 3.90ms
- TSQLTableJSON: 109,072 assertions passed 268.46ms
- TSQLRestClientDB: 673,447 assertions passed 15.90s
- Regexp function: 6,016 assertions passed 68.26ms
- RTree: 140,000 assertions passed 2.33s
Total failed: 0 / 938,683 - Memory based PASSED 19.10s
2.5. Basic classes:
! - TSQLRecord: 7 / 52 FAILED 1.35ms
- TSQLRecordSigned: 200 assertions passed 7.40ms
- TSQLModel: 3 assertions passed 363us
Total failed: 7 / 255 - Basic classes FAILED 13.82ms
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 28.04ms
using THttpApiServer
- TSQLHttpClient: 3 assertions passed 83.89ms
- Http client keep alive: 3,085 assertions passed 1.16s
4818 B, first 11.09ms, done 1.09s i.e. 912/s, aver. 1.09ms, 4.2 MB/s
- Http client multi connect: 3,085 assertions passed 1.18s
4818 B, first 1.20ms, done 1.09s i.e. 916/s, aver. 1.09ms, 4.2 MB/s
- Http client encrypted: 3,085 assertions passed 1.15s
4818 B, first 1.61ms, done 1.10s i.e. 906/s, aver. 1.10ms, 4.2 MB/s
- Named pipe access: 3,087 assertions passed 1.01s
4818 B, first 260.24ms, done 523.32ms i.e. 1910/s, aver. 523us, 8.9 MB/s
- Local window messages: 3,086 assertions passed 90.25ms
4818 B, first 256us, done 78.56ms i.e. 12727/s, aver. 78us, 59.5 MB/s
- Direct in process access: 3,054 assertions passed 70.03ms
4818 B, first 82us, done 60.43ms i.e. 16547/s, aver. 60us, 77.3 MB/s
Total failed: 0 / 18,487 - Client server access PASSED 4.81s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 802us
- Service initialization: 200 assertions passed 20.37ms
- Direct call: 566,568 assertions passed 59.76ms
- Server side: 566,587 assertions passed 59.18ms
- Client side REST: 566,592 assertions passed 1.08s
- Client side REST result as object: 566,586 assertions passed 1.04s
- Client side REST synchronized: 71 assertions passed 5.91ms
- Client side REST weak authentication: 566,586 assertions passed 1.04s
- Client side REST custom record layout: 566,586 assertions passed 1.06s
- Client side JSONRPC: 566,586 assertions passed 1.07s
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.Add interface call: :
Synopse framework used: 1.18
SQlite3 engine used: 3.8.2
Generated with: Delphi XE compiler
Time elapsed for all tests: 131.63s
Tests performed at 2014-1-16 9:19:59
Total assertions failed for all test suits: 9 / 28,617,012
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exitlog content is:
20140116 09175337 fail TTestLowLevelTypes(0116A8E8) Low level types: BSON "" stack trace API 0022C608 SynSelfTests.TTestLowLevelTypes._BSON (4228) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09180526 fail TTestSynopsePDF(0116AC68) Synopse PDF: TPdfDocument "" stack trace API 0023440D SynSelfTests.TTestSynopsePDF._TPdfDocument (5215) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022FDD9 SynSelfTests.TTestBasicClasses._TSQLRecord (4497) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022FE83 SynSelfTests.TTestBasicClasses._TSQLRecord (4507) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022FF78 SynSelfTests.TTestBasicClasses._TSQLRecord (4520) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 00230207 SynSelfTests.TTestBasicClasses._TSQLRecord (4539) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 00230388 SynSelfTests.TTestBasicClasses._TSQLRecord (4551) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 00230556 SynSelfTests.TTestBasicClasses._TSQLRecord (4565) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09191811 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 002305E0 SynSelfTests.TTestBasicClasses._TSQLRecord (4566) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09192520 EXCOS EAccessViolation (C0000005) at 00063B30 SynCommons.RawUnicodeToUtf8 (10634) stack trace API 00091CC4 SynCommons.SynRtlUnwind (34733) 00005FC4 System.@HandleAnyException 0007CEDB SynCommons.TTextWriter.AddDynArrayJSON (26442) 0007C94A SynCommons.TTextWriter.AddDynArrayJSON (26347) 00193A4A mORMot.TServiceMethodArgument.AddJSON (34578) 0018BAFF mORMot.InternalProcess (32391) 0018C3E6 mORMot.TInterfacedObjectFake.FakeCall (32516)
20140116 09195904 EXC EOSError ("System Error. Code: 12002.\r\n") at 00025195 SysUtils.RaiseLastOSError stack trace API 00091CC4 SynCommons.SynRtlUnwind (34733) 0000614C System.@HandleOnException
20140116 09195904 EXC EInterfaceFactoryException ("Invalid fake ICalculator.Add interface call: : ") at 0018B90A mORMot.RaiseError (32338) stack trace API 00091CC4 SynCommons.SynRtlUnwind (34733) 0000614C System.@HandleOnException
20140116 09195906 EXC EHttpApiServer ("HttpSendHttpResponse failed: 句柄无效。 (6)") at 000AB08A SynCrtSock.THttpApiServer.Execute (4272) stack trace API 00091CC4 SynCommons.SynRtlUnwind (34733) 0000614C System.@HandleOnException but the exception (! Exception EInterfaceFactoryException raised with messsage:! Invalid fake ICalculator.Add interface call:
is not not same as first time,
so third time, i run testSQL3.exe from IDE, then exception disappear, the log content is :
20140116 09211812 fail TTestLowLevelTypes(0107A8E8) Low level types: BSON "" stack trace API 0022C608 SynSelfTests.TTestLowLevelTypes._BSON (4228) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09213105 fail TTestSynopsePDF(0107AC68) Synopse PDF: TPdfDocument "" stack trace API 0023440D SynSelfTests.TTestSynopsePDF._TPdfDocument (5215) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09224741 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 0022FDD9 SynSelfTests.TTestBasicClasses._TSQLRecord (4497) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09224917 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 0022FE83 SynSelfTests.TTestBasicClasses._TSQLRecord (4507) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09225049 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 0022FF78 SynSelfTests.TTestBasicClasses._TSQLRecord (4520) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09225129 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 00230207 SynSelfTests.TTestBasicClasses._TSQLRecord (4539) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09225206 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 00230388 SynSelfTests.TTestBasicClasses._TSQLRecord (4551) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09225241 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 00230556 SynSelfTests.TTestBasicClasses._TSQLRecord (4565) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208)
20140116 09225307 fail TTestBasicClasses(0107ADF0) Basic classes: TSQLRecord "" stack trace API 002305E0 SynSelfTests.TTestBasicClasses._TSQLRecord (4566) 00258E93 mORMotSelfTests.SQLite3ConsoleTests (208) I wish can find the reason why generate exception when NOT RUN FROM IDE, but no exception when from ide.
thanks!
Could you help on this?
I am happy to do anything, what I need to do?
Another thing, since our OS missing some Western European character sets, in SynSelfTests.pas file
procedure TTestSynopsePDF._TPdfDocument;
...
for i := 1 to 30 do begin
Canvas.SetFont('Arial',9+i,[]);
WS := 'Texte accentue n?+IntToString(i); <==this make we can't edit the file, if edit will not compile, can you change this line to:
WS := 'Texte accentue n'+#$B0+IntToString(i);
thanks!
Update: Exception now is not alway generate on first run, you need run TestSQL3 some times(about ten times, need run NOT from IDE), you will see exception,
In 2014-01-08 build(http://synopse.info/fossil/info/37cd2be9b3), I run TestSQL3 more than ten times,
in console output don't see any exception, this is very good.
But in today build(2014-01-14), after success run TestSQL3.exe three time(important NOT FROM IDE),
then I again in console output see exception(at 2.7. Service oriented architecture test section):
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 2.59ms
- TDynArray: 1,027,702 assertions passed 437.63ms
- TDynArrayHashed: 1,200,629 assertions passed 429.39ms
- TObjectListHashed: 999,882 assertions passed 1.02s
- Fast string compare: 7 assertions passed 404us
! - IdemPropName: 1 / 30 FAILED 9.41ms
- Url encoding: 105 assertions passed 2.17ms
- GUID: 9,005 assertions passed 5.31ms
- IsMatch: 599 assertions passed 572us
! - Soundex: 1 / 35 FAILED 420us
- Numerical conversions: 896,407 assertions passed 337.01ms
- Curr 64: 20,053 assertions passed 3.49ms
- CamelCase: 11 assertions passed 336us
- Bits: 4,774 assertions passed 356us
- Ini files: 7,004 assertions passed 41.64ms
- UTF8: 78,102 assertions passed 3.00s
- Iso 8601 date and time: 24,006 assertions passed 9.94ms
- Url decoding: 1,100 assertions passed 828us
- Mime types: 20 assertions passed 589us
- TSynTable: 41 assertions passed 2.37ms
- TSynCache: 404 assertions passed 648us
- TSynFilter: 1,005 assertions passed 5.08ms
- TSynValidate: 677 assertions passed 1.70ms
- TSynLogFile: 42 assertions passed 2.26ms
Total failed: 2 / 4,271,662 - Low level common FAILED 5.33s
1.2. Low level types:
- RTTI: 52 assertions passed 514us
- Url encoding: 200 assertions passed 1.53ms
- Encode decode JSON: 261,851 assertions passed 296.01ms
- TSynDocumentVariant: 764 assertions passed 101.46ms
Total failed: 0 / 262,867 - Low level types PASSED 411.02ms
1.3. Big table:
- TSynBigTable: 19,191 assertions passed 239.50ms
- TSynBigTableString: 16,115 assertions passed 70.25ms
- TSynBigTableMetaData: 384,060 assertions passed 3.15s
- TSynBigTableRecord: 452,185 assertions passed 7.48s
Total failed: 0 / 871,551 - Big table PASSED 10.96s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 9.64ms
! - TPdfDocumentGDI: 1 / 3 FAILED 55.67ms
Total failed: 2 / 5 - Synopse PDF FAILED 68.84ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 414us
- MD5: 1 assertion passed 758us
- SHA1: 5 assertions passed 626us
- SHA256: 5 assertions passed 613us
- AES256: 16,815 assertions passed 1.71s
- RC4: 1 assertion passed 222us
- Base64: 11,994 assertions passed 293.62ms
- CompressShaAes: 1,683 assertions passed 6.90ms
Total failed: 0 / 30,505 - Cryptographic routines PASSED 2.02s
1.6. Compression:
- In memory compression: 12 assertions passed 550.84ms
- GZIP format: 19 assertions passed 1.04s
- ZIP format: 36 assertions passed 1.96s
- SynLZO: 3,006 assertions passed 182.14ms
- SynLZ: 29,018 assertions passed 1.10s
Total failed: 0 / 32,091 - Compression PASSED 4.86s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 459.17ms
- Virtual table direct access: 12 assertions passed 3.67ms
- TSQLTableJSON: 109,072 assertions passed 264.83ms
- TSQLRestClientDB: 605,151 assertions passed 14.72s
- Regexp function: 6,016 assertions passed 66.39ms
Total failed: 0 / 730,389 - File based PASSED 15.53s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 452.81ms
- Virtual table direct access: 12 assertions passed 2.91ms
- TSQLTableJSON: 109,072 assertions passed 261.22ms
- TSQLRestClientDB: 605,150 assertions passed 14.78s
- Regexp function: 6,016 assertions passed 56.56ms
Total failed: 0 / 730,386 - File based memory map PASSED 15.58s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 488.00ms
- Virtual table direct access: 12 assertions passed 2.66ms
- TSQLTableJSON: 109,072 assertions passed 255.78ms
- TSQLRestClientDB: 605,151 assertions passed 14.69s
- Regexp function: 6,016 assertions passed 55.27ms
Total failed: 0 / 730,389 - File based WAL PASSED 15.50s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 447.13ms
- Virtual table direct access: 12 assertions passed 1.98ms
- TSQLTableJSON: 109,072 assertions passed 251.65ms
- TSQLRestClientDB: 673,447 assertions passed 16.06s
- Regexp function: 6,016 assertions passed 56.43ms
- RTree: 140,000 assertions passed 2.31s
Total failed: 0 / 938,683 - Memory based PASSED 19.14s
2.5. Basic classes:
! - TSQLRecord: 7 / 52 FAILED 1.15ms
- TSQLRecordSigned: 200 assertions passed 7.67ms
- TSQLModel: 3 assertions passed 509us
Total failed: 7 / 255 - Basic classes FAILED 14.07ms
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 25.90ms
using THttpApiServer
- TSQLHttpClient: 3 assertions passed 109.26ms
- Http client keep alive: 3,085 assertions passed 1.51s
4818 B, first 31.91ms, done 1.39s i.e. 718/s, aver. 1.39ms, 3.3 MB/s
- Http client multi connect: 3,085 assertions passed 1.37s
4818 B, first 4.54ms, done 1.24s i.e. 805/s, aver. 1.24ms, 3.7 MB/s
- Http client encrypted: 3,085 assertions passed 1.33s
4818 B, first 2.15ms, done 1.27s i.e. 786/s, aver. 1.27ms, 3.6 MB/s
- Named pipe access: 3,087 assertions passed 1.06s
4818 B, first 262.63ms, done 569.24ms i.e. 1756/s, aver. 569us, 8.2 MB/s
- Local window messages: 3,086 assertions passed 100.31ms
4818 B, first 797us, done 81.35ms i.e. 12291/s, aver. 81us, 57.4 MB/s
- Direct in process access: 3,054 assertions passed 74.33ms
4818 B, first 84us, done 62.56ms i.e. 15982/s, aver. 62us, 74.7 MB/s
Total failed: 0 / 18,487 - Client server access PASSED 5.63s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 681us
- Service initialization: 200 assertions passed 5.23ms
- Direct call: 566,568 assertions passed 60.22ms
- Server side: 566,587 assertions passed 66.81ms
- Client side REST: 566,592 assertions passed 1.13s
- Client side REST result as object: 566,586 assertions passed 1.14s
- Client side REST synchronized: 566,586 assertions passed 5.72s
- Client side REST weak authentication: 566,586 assertions passed 1.05s
- Client side REST custom record layout: 566,586 assertions passed 1.07s
- Client side JSONRPC: 566,586 assertions passed 1.21s
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00464BA8 in
module 'TestSQL3.exe'. Read of address 00193000"
}
Synopse framework used: 1.18
SQlite3 engine used: 3.8.2
Generated with: Delphi XE compiler
Time elapsed for all tests: 106.77s
Tests performed at 2014-1-15 9:22:32
Total assertions failed for all test suits: 11 / 8,617,270
! Some tests FAILED: please correct the code.
Done - Press ENTER to ExitTurn Project Mapfile to Detailed, this is the log content, run two times, log is same:
20140115 09170441 fail TTestLowLevelCommon(0116A878) Low level common: IdemPropName "" stack trace API 0021B4B1 SynSelfTests.TTestLowLevelCommon._IdemPropName (2478) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09170442 fail TTestLowLevelCommon(0116A878) Low level common: Soundex "" stack trace API 0020C75A SynSelfTests.TTestLowLevelCommon.Soundex (1076) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09171928 fail TTestSynopsePDF(0116AC68) Synopse PDF: TPdfDocument "" stack trace API 00230F8C SynSelfTests.TTestSynopsePDF._TPdfDocument (5142) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09171935 fail TTestSynopsePDF(0116AC68) Synopse PDF: TPdfDocumentGDI "" stack trace API 00233294 SynSelfTests.TTestSynopsePDF._TPdfDocumentGDI (5312) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022C961 SynSelfTests.TTestBasicClasses._TSQLRecord (4425) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022CA0B SynSelfTests.TTestBasicClasses._TSQLRecord (4435) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022CB00 SynSelfTests.TTestBasicClasses._TSQLRecord (4448) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022CD8F SynSelfTests.TTestBasicClasses._TSQLRecord (4467) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022CF10 SynSelfTests.TTestBasicClasses._TSQLRecord (4479) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022D0DE SynSelfTests.TTestBasicClasses._TSQLRecord (4493) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09183708 fail TTestBasicClasses(0116ADF0) Basic classes: TSQLRecord "" stack trace API 0022D168 SynSelfTests.TTestBasicClasses._TSQLRecord (4494) 00255997 mORMotSelfTests.SQLite3ConsoleTests (208)
20140115 09185326 EXCOS EAccessViolation (C0000005) at 00063BA8 SynCommons.RawUnicodeToUtf8 (10584) stack trace API 00091A74 SynCommons.SynRtlUnwind (34559) 0000614C System.@HandleOnException
20140115 09185326 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00464BA8 in module 'TestSQL3.exe'. Read of address 00193000\"\r\n}") at 0018B69A mORMot.RaiseError (32338) stack trace API 00091A74 SynCommons.SynRtlUnwind (34559) 0000614C System.@HandleOnException Can you look at this, build use DelphiXE, thanks!
Yes, Windows 2003 Server Chinese version
Update to 2013-12-08 test(http://synopse.info/fossil/info/542954f2cf):
below is the full console output:
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 22 assertions passed 6.50ms
- TDynArray: 1,027,702 assertions passed 453.83ms
- TDynArrayHashed: 1,200,629 assertions passed 400.88ms
- TObjectListHashed: 999,891 assertions passed 1.03s
- Fast string compare: 7 assertions passed 258us
! - IdemPropName: 1 / 24 FAILED 59.38ms
- Url encoding: 105 assertions passed 2.18ms
- IsMatch: 599 assertions passed 789us
! - Soundex: 1 / 35 FAILED 331us
- Numerical conversions: 886,980 assertions passed 332.80ms
- Curr 64: 20,053 assertions passed 3.17ms
- CamelCase: 11 assertions passed 367us
- Bits: 4,774 assertions passed 377us
- Ini files: 7,004 assertions passed 42.07ms
- UTF8: 66,090 assertions passed 3.10s
- Iso 8601 date and time: 24,006 assertions passed 8.10ms
- Url decoding: 1,100 assertions passed 787us
- Mime types: 19 assertions passed 502us
- TSynTable: 41 assertions passed 1.67ms
- TSynCache: 404 assertions passed 738us
- TSynFilter: 1,005 assertions passed 5.12ms
- TSynValidate: 677 assertions passed 1.61ms
- TSynLogFile: 42 assertions passed 2.36ms
Total failed: 2 / 4,241,220 - Low level common FAILED 5.48s
1.2. Low level types:
- RTTI: 46 assertions passed 18.27ms
- Url encoding: 200 assertions passed 4.37ms
- Encode decode JSON: 261,172 assertions passed 318.79ms
Total failed: 0 / 261,418 - Low level types PASSED 346.29ms
1.3. Big table:
- TSynBigTable: 19,220 assertions passed 176.58ms
- TSynBigTableString: 16,280 assertions passed 69.38ms
- TSynBigTableMetaData: 384,060 assertions passed 3.24s
- TSynBigTableRecord: 452,185 assertions passed 7.48s
Total failed: 0 / 871,745 - Big table PASSED 10.98s
1.4. Synopse PDF:
! - TPdfDocument: 1 / 2 FAILED 29.15ms
! - TPdfDocumentGDI: 1 / 3 FAILED 94.74ms
Total failed: 2 / 5 - Synopse PDF FAILED 132.35ms
1.5. Cryptographic routines:
- Adler32: 1 assertion passed 1.43ms
- MD5: 1 assertion passed 432us
- SHA1: 5 assertions passed 836us
- SHA256: 5 assertions passed 802us
- AES256: 6,372 assertions passed 1.47s
- RC4: 1 assertion passed 1.14ms
- Base64: 11,994 assertions passed 707.14ms
Total failed: 0 / 18,379 - Cryptographic routines PASSED 2.20s
1.6. Compression:
- In memory compression: 12 assertions passed 1.57s
- GZIP format: 19 assertions passed 2.72s
- ZIP format: 36 assertions passed 5.64s
- SynLZO: 3,006 assertions passed 313.68ms
- SynLZ: 29,018 assertions passed 1.27s
Total failed: 0 / 32,091 - Compression PASSED 11.53s
2. mORMot
2.1. File based:
- Database direct access: 10,138 assertions passed 562.40ms
- Virtual table direct access: 12 assertions passed 3.85ms
- TSQLTableJSON: 109,072 assertions passed 282.12ms
- TSQLRestClientDB: 605,151 assertions passed 15.34s
- Regexp function: 6,016 assertions passed 90.82ms
Total failed: 0 / 730,389 - File based PASSED 16.28s
2.2. File based memory map:
- Database direct access: 10,136 assertions passed 516.87ms
- Virtual table direct access: 12 assertions passed 3.23ms
- TSQLTableJSON: 109,072 assertions passed 267.14ms
- TSQLRestClientDB: 605,150 assertions passed 15.12s
- Regexp function: 6,016 assertions passed 58.51ms
Total failed: 0 / 730,386 - File based memory map PASSED 15.97s
2.3. File based WAL:
- Database direct access: 10,138 assertions passed 524.74ms
- Virtual table direct access: 12 assertions passed 2.74ms
- TSQLTableJSON: 109,072 assertions passed 250.86ms
- TSQLRestClientDB: 605,151 assertions passed 14.65s
- Regexp function: 6,016 assertions passed 61.83ms
Total failed: 0 / 730,389 - File based WAL PASSED 15.50s
2.4. Memory based:
- Database direct access: 10,136 assertions passed 537.08ms
- Virtual table direct access: 12 assertions passed 2.11ms
- TSQLTableJSON: 109,072 assertions passed 253.06ms
- TSQLRestClientDB: 673,447 assertions passed 16.30s
- Regexp function: 6,016 assertions passed 62.56ms
Total failed: 0 / 798,683 - Memory based PASSED 17.16s
2.5. Basic classes:
! - TSQLRecord: 7 / 52 FAILED 1.88ms
- TSQLRecordSigned: 200 assertions passed 14.23ms
- TSQLModel: 3 assertions passed 880us
Total failed: 7 / 255 - Basic classes FAILED 29.31ms
2.6. Client server access:
- TSQLHttpServer: 2 assertions passed 54.39ms
using THttpApiServer
- TSQLHttpClient: 3 assertions passed 113.69ms
- Http client keep alive: 3,085 assertions passed 1.13s
4818 B, first 13.26ms, done 1.06s i.e. 941/s, aver. 1.06ms, 4.4 MB/s
- Http client multi connect: 3,085 assertions passed 1.12s
4818 B, first 1.31ms, done 1.07s i.e. 933/s, aver. 1.07ms, 4.3 MB/s
- Named pipe access: 3,087 assertions passed 1.06s
4818 B, first 260.23ms, done 563.62ms i.e. 1774/s, aver. 563us, 8.2 MB/s
- Local window messages: 3,086 assertions passed 93.50ms
4818 B, first 220us, done 79.34ms i.e. 12603/s, aver. 79us, 58.9 MB/s
- Direct in process access: 3,054 assertions passed 75.19ms
4818 B, first 72us, done 61.00ms i.e. 16392/s, aver. 61us, 76.6 MB/s
Total failed: 0 / 15,402 - Client server access PASSED 3.70s
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 23.54ms
- Service initialization: 133 assertions passed 11.65ms
- Direct call: 608,487 assertions passed 71.62ms
- Server side: 608,506 assertions passed 82.39ms
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00462F4C in
module 'TestSQL3.exe'. Read of address 00199000"
}
Synopse framework used: 1.18
SQlite3 engine used: 3.8.1
Generated with: Delphi XE compiler
Time elapsed for all tests: 99.66s
Tests performed at 2013-12-9 8:54:08
Total assertions failed for all test suits: 11 / 8,430,362
! Some tests FAILED: please correct the code.
Done - Press ENTER to Exitthis is the log file content, Stack Frames = TRUE , Map File = DETAILED
20131209 08523061 fail TTestLowLevelCommon(0157A878) Low level common: IdemPropName "" stack trace API 00207EEC SynSelfTests.TTestLowLevelCommon._IdemPropName (2390) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08523061 fail TTestLowLevelCommon(0157A878) Low level common: Soundex "" stack trace API 001F967E SynSelfTests.TTestLowLevelCommon.Soundex (1040) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08524555 fail TTestSynopsePDF(0157ABF8) Synopse PDF: TPdfDocument "" stack trace API 00218EF8 SynSelfTests.TTestSynopsePDF._TPdfDocument (4673) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08524561 fail TTestSynopsePDF(0157ABF8) Synopse PDF: TPdfDocumentGDI "" stack trace API 0021B200 SynSelfTests.TTestSynopsePDF._TPdfDocumentGDI (4843) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 00214C20 SynSelfTests.TTestBasicClasses._TSQLRecord (4000) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 00214CCA SynSelfTests.TTestBasicClasses._TSQLRecord (4010) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 00214DBF SynSelfTests.TTestBasicClasses._TSQLRecord (4023) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 0021504E SynSelfTests.TTestBasicClasses._TSQLRecord (4042) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 002151CF SynSelfTests.TTestBasicClasses._TSQLRecord (4054) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 0021539D SynSelfTests.TTestBasicClasses._TSQLRecord (4068) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540446 fail TTestBasicClasses(0157AD48) Basic classes: TSQLRecord "" stack trace API 00215427 SynSelfTests.TTestBasicClasses._TSQLRecord (4069) 0023B863 mORMotSelfTests.SQLite3ConsoleTests (211)
20131209 08540843 EXCOS EAccessViolation (C0000005) at 00061F4C SynCommons.RawUnicodeToUtf8 (9816) stack trace API 0008C824 SynCommons.SynRtlUnwind (32472) 00006190 System.@HandleOnException (14162)
20131209 08540843 EXC EInterfaceFactoryException ("Invalid fake ICalculator.ComplexCall interface call: : {\r\n\"ErrorCode\":500,\r\n\"ErrorText\":\"Exception EAccessViolation: Access violation at address 00462F4C in module 'TestSQL3.exe'. Read of address 00199000\"\r\n}") at 0018051E mORMot.RaiseError (32020) stack trace API 0008C824 SynCommons.SynRtlUnwind (32472) 00006190 System.@HandleOnException (14162) this time when run without debug, will alway has exception, run in ide has no exception,
strange things is after run in ide, then run without debug also no exception.
so to reappearance this, first time please not run in ide, then you will can see this.
First time, run TestSQL3.exe without IDE will always has EInterfaceFactoryException Exception,
Step:
1). download from http://synopse.info/fossil/info/79f5becba8 (2013-12-07)
2). Extract to a directory
3). Extract sqlite3obj.7z to SQLite3 subdirectory
4). Use IDE open TestSQL3.dpr, Build Project
5). Run without Debugging or Shift+Ctrl+F9
always generate below exception, second time run will ok, the exception will disappear.
(To reappearance, it is import to Extract to a new empty directory and first time run TestSQL3.exe without debug)
use DelphiXE
2.7. Service oriented architecture:
- Weak interfaces: 56 assertions passed 11.79ms
- Service initialization: 133 assertions passed 17.90ms
- Direct call: 608,487 assertions passed 56.42ms
- Server side: 608,506 assertions passed 43.84ms
! Exception EInterfaceFactoryException raised with messsage:
! Invalid fake ICalculator.ComplexCall interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 00462F9E in
module 'TestSQL3.exe'. Read of address 0017D000"
}
Synopse framework used: 1.18
SQlite3 engine used: 3.8.1
Generated with: Delphi XE compiler
Time elapsed for all tests: 91.49s
Tests performed at 2013-12-8 11:51:21
Total assertions failed for all test suits: 11 / 8,425,513
! Some tests FAILED: please correct the code.
Done - Press ENTER to ExitThanks!
Arnaud.
But beyond that, we need mORMot to store empty strings as NULL instead of ''
I also think so, In my test against MSSQL, I found this behavior, now I use BatchAppend/BatchUpdate
to update data. Before post data, I check the data is empty, if empty, then exclude it in the updatebit
parameter, this will make empty string will not update to ''.
after test, such change seem fix the two problem:
procedure TSynVirtualDataSet.SetRecNo(Value: Integer);
begin
// dec(Value);
// if cardinal(Value)>=cardinal(GetRecordCount) then
// raise ERangeError.CreateFmt('SetRecNo(%d) with Count=%d',[Value+1,GetRecordCount]);
// fCurrentRow := Value;
CheckBrowseMode;
if Value <> RecNo then
begin
dec(Value);
if cardinal(Value)>=cardinal(GetRecordCount) then
raise ERangeError.CreateFmt('SetRecNo(%d) with Count=%d',[Value+1,GetRecordCount]);
DoBeforeScroll;
fCurrentRow := Value;
Resync([rmCenter]);
DoAfterScroll;
end;
end;
procedure TSynVirtualDataSet.InternalOpen;
begin
InternalInitFieldDefs;
if DefaultFields then
CreateFields;
BindFields(true);
fCurrentRow := -1;
fIsCursorOpen := True;
BookmarkSize := SizeOf(TRecInfo); //**** add
end;Remove change at http://synopse.info/fossil/info/8294ca8217 also seems a bit fast
Update:
seems change to BookmarkSize := SizeOf(Integer) also work.
Test find a potential problem, when link a dbgrid and a cxgrid to a same datasource,
then drag dbgrid's scrollbar don't work.
thanks!
when use TSynSQLTableDataSet with dbgrid, I found can not drag the scroll bar,
after debug, seem in TSynVirtualDataSet.SetRecNo add Resync([rmCenter]) can resolve the problem
procedure TSynVirtualDataSet.SetRecNo(Value: Integer);
begin
dec(Value);
if cardinal(Value)>=cardinal(GetRecordCount) then
raise ERangeError.CreateFmt('SetRecNo(%d) with Count=%d',[Value+1,GetRecordCount]);
DoBeforeScroll; //****add
fCurrentRow := Value;
Resync([rmCenter]); //****add
DoAfterScroll; //****add
end;when use TSynSQLTableDataSet with cxgrid, then user can not move record,
after debug, seem in TSynVirtualDataSet.InternalOpen, need set the BookmarkSize length,
just like TClientDataSet,
procedure TCustomClientDataSet.InternalOpen;
...
BookmarkSize := CursorProps.iBookmarkSize;because cxGrid use TDataSet.BookmarkAvailable, TDataSet.GetBookmark
to restore the cursor, this make TSynSQLTableDataSet can not move cursor,
and in SynVirtualDataSet, bookmark relative check nil, after Set BookmarkSize should never be nil
the change in http://synopse.info/fossil/info/8294ca8217 should not need.
procedure TSynVirtualDataSet.GetBookmarkData(Buffer: TRecordBuffer; Data: Pointer);
begin
if Data<>nil then //*** this should not be nil, if is nil then else should have some problem
PRecInfoIdentifier(Data)^ := PRecInfo(Buffer)^.Bookmark;
end;BookmarkSize: http://docwiki.embarcadero.com/Librarie … okmarkSize
thanks!
The just committed TSQLDBStatement.FetchAllToJSON() enhancement was buggy.
It is your ID=? error
It should be fixed now.
See http://synopse.info/fossil/info/7e18d559ed
Excellent, Now It worked.
If you want to follow mORMot design, you may:
- Either embrace ORM, and use TSQLRecord.[Create]FillPrepare/FillOne or TSQLRest.RetrieveList method to retrieve a TObjectList of TSQLRecord;
- Or use SQL, but on the server side only, e.g. in an interface-based service, then return high-level objects.
I totally agree with you, since this is an old project, can only gradually changed, first I will replace server part, let client remains or feeling similar.
Last little detail.
You used the plain TSQLSampleRecord as defined in SampleData.
But this was designed for internal SQLite3 tables only.
You should better use a dedicated definition, using "index ..." to specify the column width:
Otherwise, it will create CLOB, which may be not optimized, especially for the Name property.
Thank you very much for your wise guidance, so I learned a lot of things!