mORMot and Open Source friends
File History
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of SQLite3/Documentation/Synopse SQLite3 Framework.pro

2020-09-16
08:01
{6136} enhanced the documentation to state about E1025 compilation issue with packages file: [161be1e682] check-in: [c9dd210918] user: ab branch: trunk, size: 1745933
2020-09-14
07:34
{6134} small documentation fixes file: [7001caf9f8] check-in: [c0c39902b3] user: ab branch: trunk, size: 1745731
2020-07-16
08:04
{6090} refreshed proper SVN revisions for FPC/Lazarus - we now use Lazarus 2.0.10 as IDE file: [c2e39b670e] check-in: [3afe77a9be] user: ab branch: trunk, size: 1745720
2020-06-16
09:18
{6059} ensure the FPC SVN revision is accurate in the documentation file: [492e7a4fbd] check-in: [a9baa9a76f] user: ab branch: trunk, size: 1745733
2020-03-03
17:00
{5761} fixed (and regenerated) documentation to reflect latest units changes file: [e94de74b94] check-in: [a04522d89e] user: ab branch: trunk, size: 1745470
2020-02-10
13:35
{5467} documentation update file: [951b064931] check-in: [7db8ad1d9c] user: ab branch: trunk, size: 1745390
2020-01-26
10:59
{5393} updated documentation about how to compile with FPC trunk (i.e. not our officially supported SVN revision) file: [c3409966e3] check-in: [c5a2e9ac25] user: ab branch: trunk, size: 1744544
2020-01-23
19:34
{5583} enhanced documentation file: [b954cbd250] check-in: [4a25d19f6e] user: ab branch: trunk, size: 1743682
2020-01-13
21:26
{5554} added CustomVariantOptions parameter to TDynArray.LoadFromJSON and TDynArrayJSONCustomReader file: [822dc73978] check-in: [056ee79b08] user: ab branch: trunk, size: 1743829
2020-01-07
14:22
{5529} introducing MarkdownToHtml and SimpleToHtml Mustache helpers file: [de4b3e6b4e] check-in: [869df35eef] user: ab branch: trunk, size: 1743786
2019-12-31
14:27
{5518} happy new mORMot's Year 2020 ! :) file: [2eefdc7268] check-in: [69912b1fe1] user: ab branch: trunk, size: 1743300
2019-11-20
07:42
{5473} enhanced documentation about UTF-8 and currency handling file: [bd312a2b7a] check-in: [9b1d86d17d] user: ab branch: trunk, size: 1743300
2019-11-19
09:21
{5470} update FAQ from https://synopse.info/forum/viewtopic.php?id=5184 file: [e21a6abe3e] check-in: [89958bfa73] user: ab branch: trunk, size: 1742916
2019-10-09
17:42
{5399} documentation refinement about FpcUpDeluxe use file: [6472d265d5] check-in: [681332208a] user: ab branch: trunk, size: 1741890
2019-09-21
09:48
{5368} introducing SQLite3 static linking for Delphi Win64 - and updated documentation file: [153350b9fd] check-in: [8622ef4827] user: ab branch: trunk, size: 1741723
2019-09-17
17:18
{5354} disable buggy TDocVariantData late-binding methods tests for FPC - also make the FPC issue explicit in the documentation file: [6f58461d70] check-in: [7cd4e25734] user: ab branch: trunk, size: 1744743
2019-09-13
15:58
{5339} BREAKING CHANGE: SOA TDateTime parameters will be serialized as ISO8601 JSON text instead of unusual TDateTime JSON number - it sounds to be in fact a fix of a bug/consistency file: [af64c78c47] check-in: [187d474624] user: ab branch: trunk, size: 1743700
2019-09-04
11:41
{5328} documentation fixes from https://github.com/synopse/mORMot/pull/232 file: [2997b3a2f7] check-in: [b34c3ac71e] user: ab branch: trunk, size: 1743650
2019-09-03
13:10
{5322} enhanced documentation - especially about FPC/Linux file: [0c7cec9f86] check-in: [cb2acb0632] user: ab branch: trunk, size: 1743643
2019-07-25
08:39
{5289} documentation enhancements file: [f122fa4027] check-in: [96cddb5125] user: ab branch: trunk, size: 1743220
2019-07-01
09:17
{5262} minor documentation addition file: [c544e8ccda] check-in: [e9c1de0ead] user: ab branch: trunk, size: 1742694
2019-06-26
08:01
{5258} documentation update file: [3b9cf4e985] check-in: [f8259e696d] user: ab branch: trunk, size: 1742497
2019-06-15
09:10
{5245} small doc enhancements file: [d86fb8ff1a] check-in: [802d4086fd] user: ab branch: trunk, size: 1740345
2019-02-25
20:17
{5068} documentation updates file: [d8a2e3eefc] check-in: [4b363c6933] user: ab branch: trunk, size: 1740307
10:27
{5064} updated documentation, mainly about installation process file: [0012fd1e17] check-in: [ad28e08c88] user: ab branch: trunk, size: 1739853
2019-02-13
09:32
{5034} updated documentation - mainly about TSynDictionary file: [a5381e844e] check-in: [fcecede2c2] user: ab branch: trunk, size: 1736819
2019-01-10
18:53
{4951} udpated documentation about JWT auth file: [2927a4e9b0] check-in: [9d960de1e8] user: ab branch: trunk, size: 1732692
2019-01-02
09:17
{4935} too low coffee level - messed up last commit ;) file: [a0ff58c880] check-in: [19c45db0c8] user: ab branch: trunk, size: 1729662
2018-11-30
15:54
{4892} documentation update file: [3a5dd95e46] check-in: [4f84187ef2] user: ab branch: trunk, size: 1729662
2018-10-11
21:32
{4845} documentation update (mainly about FTS3/4/5) file: [2e6f57acb8] check-in: [0253ce0d22] user: ab branch: trunk, size: 1729659
2018-10-05
14:59
{4835} introducing SQLDATABASE_NOCACHE to disable the TSQLDataBase JSON cache file: [2e11f9a22c] check-in: [6c835defc1] user: ab branch: trunk, size: 1729427
2018-08-17
16:17
{4736} BREAKING CHANGE: JsonDecode() functions returns values on the stack - to reduce heap use, and avoid unneeded calls to StrLen() for faster process - also for less error-prone object values decoding file: [e6c88f07c7] check-in: [85d38e604c] user: ab branch: trunk, size: 1728949
2018-03-14
14:39
{4429} small documentation enhancements (especially FAQ) about User-Agent and unquoted JSON fields file: [6c27702d2e] check-in: [5cdae72611] user: ab branch: trunk, size: 1728910
2018-03-12
15:12
{4418} updated documentation about FPC compilation and the new static folders file: [69ecd43850] check-in: [b1d5aea42d] user: ab branch: trunk, size: 1728204
2018-03-10
10:28
{4412} small doc update about how to build a WHERE clause file: [5e009143a9] check-in: [2ca8e8de89] user: ab branch: trunk, size: 1727566
2018-02-02
21:34
{4217} BREAKING CHANGE of TCQRSService: new parameter - internal methods now expect an additional "var result: TCQRSResult" parameter instead of keeping a reference to the TCQRSResult instance, which is pretty much buggy in practice and lead to unexpected access violations file: [a38fa96317] check-in: [f403669d70] user: ab branch: trunk, size: 1726997
2018-01-18
14:07
{4148} small documentation update file: [7fa9add462] check-in: [641a276456] user: ab branch: trunk, size: 1726983
2017-12-04
17:13
{4040} added pure pascal version of SynECC.pas - thanks Jerome for sharing the code of your XMLRad ECC.pas file: [6df8a7dd2a] check-in: [4fced16a3d] user: ab branch: trunk, size: 1726983
2017-11-28
22:44
{4015} introducing TFastReader.VarUInt16 and optimized TFastReader.VarUInt32 method file: [c42a80cc36] check-in: [e60ca8c3a7] user: ab branch: trunk, size: 1726876
2017-11-27
13:10
{4012} better SynLizard cross-platform support - also enhanced (and regenerated) documentation file: [169c5ed889] check-in: [3c83fa83a5] user: ab branch: trunk, size: 1726876
11:16
{4011} enhanced documentation about SOA class parameters livetime file: [ab2ba27b99] check-in: [0aafb94582] user: ab branch: trunk, size: 1726739
2017-11-06
16:40
{3951} updated documentation about [4cfc722c69] file: [19b5309fa7] check-in: [3f6c63c562] user: ab branch: trunk, size: 1725692
2017-08-31
13:13
{3819} introducing TSQLRestServerAuthenticationSignedURIAlgo for stronger URI digital signature on REST authentication file: [2fff64b021] check-in: [9130cc6ace] user: ab branch: trunk, size: 1724776
2017-08-18
13:12
{3797} documentation update (mainly the FAQ) file: [b86fbafd0d] check-in: [9fc51ba1dc] user: ab branch: trunk, size: 1724546
2017-08-16
17:45
{3786} introducing TJWTHS512 for 'HS512' (HMAC SHA-512) JWT algorithm file: [5594868b55] check-in: [5521d79b72] user: ab branch: trunk, size: 1723421
2017-08-01
07:39
{3757} enhanced Decimal128 implementation and documentation file: [ba3f5c67c1] check-in: [630add79fc] user: ab branch: trunk, size: 1723321
2017-06-26
15:46
{3698} introducing TInterfaceFactory.RegisterUnsafeSPIType to hide some Sensitive Personal Information on SOA calls, by parameters type file: [a6a6ea4b61] check-in: [3dfa1a7c37] user: ab branch: trunk, size: 1723238
2017-04-22
14:30
{3628} preliminary support of cardinal type for ORM published properties file: [a922d17542] check-in: [355bc8d36d] user: ab branch: trunk, size: 1722924
2017-03-27
16:15
{3549} fixed ArticleView.html to enable comments addition file: [3f8dfc7fb7] check-in: [288dc03168] user: ab branch: trunk, size: 1722959
12:22
{3545} updated documentation and enhanced tests about TJSONSerializer.RegisterCustomSerializerFieldNames file: [2a36572e08] check-in: [14beddc6c8] user: ab branch: trunk, size: 1722959
2017-03-25
08:25
{3542} updated documentation file: [8ef0edb5fa] check-in: [bafe7d6b2c] user: ab branch: trunk, size: 1721027
2017-03-20
11:57
{3525} slightly hardened ECCAuthorize() function file: [295fc94f85] check-in: [11885e2abf] user: ab branch: trunk, size: 1720944
2017-03-18
17:06
{3523} updated documentation about Application Locking and the ECCAuthorize() function file: [e0429b960b] check-in: [3d5d10db28] user: ab branch: trunk, size: 1720163
2017-02-20
08:22
{3419} enhanced documentation details about JSON serialization file: [c578ed0035] check-in: [cb41eada97] user: ab branch: trunk, size: 1708163
2017-01-15
18:33
{3322} updated documentation mainly about TDateTimeMS file: [a0f5f6b830] check-in: [1fc6109dbc] user: ab branch: trunk, size: 1707224
2017-01-14
14:35
{3318} TUnixTime published property ORM/ODM support and associated documentation file: [7316bea2a9] check-in: [fcde2db5ac] user: ab branch: trunk, size: 1706346
2017-01-13
16:40
{3314} regenerated documentation file: [55484b5a80] check-in: [5c4e70533f] user: ab branch: trunk, size: 1704925
2016-12-21
14:45
{3274} ObjectToJSONDebug/woStorePointer will write .map/.mab source code line number for ESynException as "Address" field file: [57fb0b3945] check-in: [8ea0757cf1] user: ab branch: trunk, size: 1704925
10:32
{3269} udpated documentation file: [b6efe21e63] check-in: [367884bde1] user: ab branch: trunk, size: 1704784
2016-12-19
20:31
{3257} enhanced documentation about JWT file: [fd88ad3935] check-in: [c220fb6552] user: ab branch: trunk, size: 1703343
2016-12-10
11:50
{3237} updated framework documentation file: [616b3abe7f] check-in: [1088fc22a5] user: ab branch: trunk, size: 1699351
2016-11-24
14:46
{3191} small documentation fix file: [4d0ac34d65] check-in: [17efb8078e] user: ab branch: trunk, size: 1696115
2016-11-10
17:54
{3178} documentation update file: [bad79aef6e] check-in: [5f8f9d507a] user: ab branch: trunk, size: 1696121
2016-10-31
11:49
{3158} documentation fix file: [09c1499758] check-in: [a68c1a4427] user: ab branch: trunk, size: 1691857
2016-10-21
16:46
{3130} updated documentation mainly about dvoAllowDoubleValue TDocVariantData serialization option file: [1688267c62] check-in: [eaf4dfe32f] user: ab branch: trunk, size: 1691850
2016-10-18
12:06
{3113} udpdated documentation, about ECC "cheat mode" file: [3bbbaed806] check-in: [5063dca2e0] user: ab branch: trunk, size: 1690521
2016-10-16
18:41
{3100} new TECDHEProtocol.FromKey and FromKeySetCA methods to initialize an ECDHE secure protocol from a single text information file: [fbfa577b40] check-in: [a20d201ec7] user: ab branch: trunk, size: 1682862
2016-10-14
10:03
{3091} fixed and enhanced TAESCFBCRC and TAESOFBCRC implementation file: [6f588ac70b] check-in: [df04833b6f] user: ab branch: trunk, size: 1683004
2016-10-10
11:50
{3073} new TECDHEProtocol class - next step is fix and publish the associated regression tests file: [9cc713fcbb] check-in: [c61cd048a3] user: ab branch: trunk, size: 1682394
2016-10-09
19:45
{3070} new TECDHEClient and TECDHEServer classes to implement ECDHE safe client/server communication protocol - not tested nor published yet file: [6912ed67a9] check-in: [dbf3d09083] user: ab branch: trunk, size: 1682490
2016-10-01
15:38
{3026} fixed Delphi 2010+ regression introduced by [31c0f0b0845fcf] file: [6d32534045] check-in: [48fca4fc4f] user: ab branch: trunk, size: 1681776
2016-09-27
19:00
{3016} introducing THMAC_SHA256, THMAC_SHA1 and THMAC_CRC32C objects for progressive MAC encoding by message chunks - also slight performance improvement of PBKDF2_HMAC_SHA256/PBKDF2_HMAC_SHA1 file: [0d4d0d4016] check-in: [6efa5859f7] user: ab branch: trunk, size: 1681744
15:10
{3015} prepare a draft protocol documentation of upcoming ECDHE implementation in SynEcc file: [d98c6d7e32] check-in: [a26a61b7c7] user: ab branch: trunk, size: 1680852
2016-09-26
07:08
{3007} fixed
 generation in SynProject HTML export
file: [089ac0e739] check-in: [58b12ceb47] user: ab branch: trunk, size: 1675319
2016-09-25
18:22
{3006} updated the documentation about reasons why we implemented SynEcc from scratch file: [e99250978d] check-in: [b8db8dc55a] user: ab branch: trunk, size: 1674326
2016-09-24
17:55
{3001} new SynECC encryption chapter in the framework documentation file: [d246731d4f] check-in: [76d7446ed1] user: ab branch: trunk, size: 1671561
2016-09-04
14:34
{2924} updated documentation file: [8d8fb65216] check-in: [4116c1bfc2] user: ab branch: trunk, size: 1628801
2016-08-18
10:33
{2878} small documentation fixes file: [0b18a6c55f] check-in: [d390c354c7] user: ab branch: trunk, size: 1627900
2016-08-17
13:08
{2873} documentation update including SynEcc integration file: [eb6aaaf426] check-in: [9b4cd9ad57] user: ab branch: trunk, size: 1627915
2016-07-27
14:48
{2804} BREAKING CHANGE: renamed all HTML_* constants as HTTP_* - since those return codes are HTTP-related, not HTML-related file: [8f7116b9fd] check-in: [6064a072aa] user: ab branch: trunk, size: 1627688
2016-07-10
11:50
{2776} small documentation fixes file: [bc88e15279] check-in: [a706159e3a] user: ab branch: trunk, size: 1627688
2016-06-19
13:22
{2757} updated/fixed documentation file: [e0bc69a0f2] check-in: [d5d43b3811] user: ab branch: trunk, size: 1627690
2016-05-28
10:38
{2694} enhanced CpuFeatures set and introducing ToText() overloaded function file: [616d2495ba] check-in: [c21c3fcf07] user: ab branch: trunk, size: 1627951
2016-05-27
12:33
{2693} refactoring of Nullable*Null values - no functional change - also fixed associated documentation file: [7cb23ab932] check-in: [118ac5df33] user: ab branch: trunk, size: 1627751
2016-04-22
09:22
{2590} official support of Delphi 10.1 Berlin - any feedback is welcome! file: [d10a003fbb] check-in: [a3a100fc73] user: ab branch: trunk, size: 1627702
2016-04-20
07:11
{2585} enhanced documentation about TSynFilter to explicitly state that it would transform the fields input according to some rules file: [067cc1695e] check-in: [51102fc37e] user: ab branch: trunk, size: 1627691
2016-04-12
07:20
{2539} fixed typo file: [23a721bc20] check-in: [69e7a71838] user: ab branch: trunk, size: 1627441
2016-03-23
07:09
{2470} fixed typo in documentation file: [da80f22b3c] check-in: [9e0993364b] user: ab branch: trunk, size: 1627441
2016-02-11
19:09
{2388} ensure TDDDAppSettingsStorageAbstract would accept unknown properties in incoming .settings file (which happen usually in case of class type evolution) file: [dffa7f8511] check-in: [54af53f3b1] user: ab branch: trunk, size: 1627388
12:19
{2382} updated documentation mainly about TSQLRestClientRedirect class file: [3f4308c887] check-in: [6c7ea0c9d2] user: ab branch: trunk, size: 1627440
2016-01-21
15:37
{2286} introducing TInjectableObjectRest as easy abstract parent for SOA implementation classes with a Server: TSQLRestServer property injected at creation to be preferred to using ServiceContext.Request.Server threadvar - also updated the corresponding documentation file: [904831d4b3] check-in: [75109b17be] user: ab branch: trunk, size: 1626488
2016-01-13
18:15
{2257} updated documentation about how to use properly the ISQLDBRows interface file: [e8db90d07b] check-in: [e3848c4a9d] user: ab branch: trunk, size: 1624364
2016-01-10
19:35
{2240} refactoring of TSQLModelRecordProperties.FTS4WithoutContent() process - to use "external content" FTS4 table as documented in https://www.sqlite.org/fts3.html#section_6_2_2 - previous implementation did fail when original text content was updated - Sample 30 MVC Blog (and associated documentation) has been updated to reflect this new behavior file: [4a069bdb04] check-in: [2451afeed5] user: ab branch: trunk, size: 1622286
2016-01-09
18:38
{2237} added IAutoLocker.Safe property file: [6c9ca109cd] check-in: [4553f15e25] user: ab branch: trunk, size: 1619686
16:13
{2236} updated documentation, mainly about TSynLocker abilities file: [3e48e664e2] check-in: [9af2484b69] user: ab branch: trunk, size: 1618329
2015-12-24
16:55
{2218} updated documentation, about MongoDB authentication file: [3a709b6e32] check-in: [b968d8740e] user: ab branch: trunk, size: 1608506
15:11
{2217} updated documentation file: [406f34fee7] check-in: [fed52cd6ec] user: ab branch: trunk, size: 1607576
2015-12-11
20:38
{2155} enhanced documentation about automated Services Audit-Trail file: [e631e257a4] check-in: [5a18eb4c47] user: ab branch: trunk, size: 1607593
2015-11-22
14:41
{2090} fixed two typos in the doc file: [6c5df09de4] check-in: [80f2f8aea3] user: ab branch: trunk, size: 1598514
2015-11-19
17:14
{2077} updated documentation, mainly about new Informix support file: [69d27bd2d3] check-in: [81c335d731] user: ab branch: trunk, size: 1598387
2015-11-18
19:39
{2071} several low-level performance optimizations file: [dcb7abfd01] check-in: [78beca1bc6] user: ab branch: trunk, size: 1597852
2015-11-17
20:13
{2070} documentation enhancements, especially about interface-based services callbacks file: [18857b57a6] check-in: [5368eaec47] user: ab branch: trunk, size: 1597850
2015-10-21
10:15
{2008} updated documentation about licensing: use of "FPC modified LGPL" file: [30a5190681] check-in: [8ae0201c77] user: ab branch: trunk, size: 1586743
2015-10-16
08:09
{2003} updated documentation, mainly about SynDBOracle advanced use file: [355a31d08b] check-in: [885dcbab80] user: ab branch: trunk, size: 1585001
2015-09-30
18:48
{1936} SQLite3 collation changes - Variant fields would use BINARY default collation - SetCustomCollationForAllRawUTF8() method enhanced as SetCustomCollationForAll() with a specific type file: [6c4ae98957] check-in: [18ea20e98e] user: ab branch: trunk, size: 1582085
2015-09-25
13:23
{1920} updated framework documentation about TNullable* types file: [13ae2406c7] check-in: [a05845bd7a] user: ab branch: trunk, size: 1581743
2015-09-08
08:27
{1857} refreshed documentation for explicit support of Delphi 10 Seattle file: [f3c04beb19] check-in: [2fe77775c1] user: ab branch: trunk, size: 1577274
2015-08-27
14:04
{1837} reverted to default compression hcSynzip, which seems in fact a good compromise before compression rate and CPU use file: [087d306aa8] check-in: [267f83567e] user: ab branch: trunk, size: 1577089
09:29
{1833} default TSQLHttpClientGeneric.Compression is now set to [hcDeflate], since it appears that some proxies or ISP do not like custom in ACCEPT-ENCODING: values, like hcSynLZ or hcSynShaAes - our advice is to use TSQLHttpClientWebSockets for communication between mORMot nodes - updated documentation for more accurate information about this point file: [99f7dc87dc] check-in: [4fafcc6d2c] user: ab branch: trunk, size: 1576945
2015-08-19
11:53
{1810} refined documentation about BATCH process and BLOB fields file: [f8b9f0279e] check-in: [4324d186e7] user: ab branch: trunk, size: 1575394
2015-08-02
14:51
{1728} introduced "SIMPLE": and "SIMPLE@": commands in the JSON stream for default BatchAdd() with simple fields (to reduce bandwidth and memory use in respects to "POST") file: [63b2565ced] check-in: [107b84ebde] user: ab branch: trunk, size: 1574673
2015-07-22
10:14
{1678} introducing TServiceFactoryClient.ParamsAsJSONObject property file: [0f3f4dfd5d] check-in: [97e107a990] user: ab branch: trunk, size: 1574422
2015-06-30
21:49
{1585} introducing variable count of parameters for MVC Web file: [af886e870e] check-in: [c6dad25635] user: ab branch: trunk, size: 1573310
2015-06-29
11:25
{1576} TDocVariantData changes and enhancements
  • renamed DocVariantDataSafe() as _Safe()
  • new U[] I[] B[] D[] O[] O_[] A[] A_[] _[] properties
  • new AddItems() method
  • added VariantToBoolean() global function
file: [0bdba4acac] check-in: [7e8482bd4d] user: ab branch: trunk, size: 1571979
2015-06-22
15:27
{1528} introducing JsonGet() and JsonHas() SQL functions for fast JOSN process within the SQLite3 engine itself file: [de51c47685] check-in: [a0ce727a5a] user: ab branch: trunk, size: 1570384
2015-06-18
09:01
{1495} updated the documentation about CQRS services client/server definition file: [2ecd2490bf] check-in: [52d1431dd7] user: ab branch: trunk, size: 1565966
2015-06-17
06:51
{1486} introducing TSynDBDataSet.IgnoreColumnDataSize property and optional IgnoreColumnDataSize parameter to TSQLDBProxyStatementRandomAccess.Create file: [3bb021b68f] check-in: [e2150f6528] user: ab branch: trunk, size: 1563924
2015-06-12
16:16
{1467} several enhancements to SynMustache:
  • new DateFmt, #Equals helpers
  • helpers would accept a constant JSON string, number, object or array as parameters
  • helpers would accept a list of comma separated values as parameters
  • dedicated #If expression helpers, with = < > <= >= <> operators - {{#if Total,">",1000}} may be shortened as {{#if Total>1000}}
  • helpers could not mark their section ending as plain {{/helpername}}
  • enhanced documentation
file: [a34500d427] check-in: [2d45daba58] user: ab branch: trunk, size: 1556739
2015-06-09
07:22
{1448} enhanced documentation and samples about callback notifications via WebSockets file: [3d4747a3c9] check-in: [c4fba61075] user: ab branch: trunk, size: 1552625
2015-06-02
13:52
{1432} comments and documentation updates (no functional change) file: [292deefc74] check-in: [554989ff86] user: ab branch: trunk, size: 1550698
2015-06-01
11:47
{1424} fixed ticket [5a8ec14e25] about potential GPF in TSQLTable.DeleteColumnValues file: [7f9c7cc2db] check-in: [fff78b68b4] user: ab branch: trunk, size: 1549858
11:20
{1423} updated documentation, mostly about DDD Event Sourcing file: [293bfd1edb] check-in: [f0e923e6fa] user: ab branch: trunk, size: 1549498
2015-05-21
10:35
{1387} introducing TSQLRest.ServiceContainer function to allow injection of any resolver, needed e.g. to register CQRS Persistence Factories like aRest.ServiceContainer.InjectResolver([TInfraRepoUserFactory.Create(aRest)],true) also let Resolve() be able to retrieve ancestor interfaces on a given TInterfaceResolverForSingleInterface instance, if needed (e.g. a single class would implement IDomUserCommand and IDomUserQuery file: [d35decf47b] check-in: [cd20687e28] user: ab branch: trunk, size: 1540120
2015-05-18
14:05
{1370} renamed ICQRSQuery as more explicit ICQRSService and TCQRSQueryObject as TCQRSService file: [463511a8f2] check-in: [44ea6f239d] user: ab branch: trunk, size: 1538452
10:13
{1369} documentation fixes and updates, mainly about DDD's CQRS implementation file: [333fc769b0] check-in: [b39de89678] user: ab branch: trunk, size: 1535453
2015-05-17
18:36
{1368} introducing DDD shared units, implementing an application User CQRS Repository using our ORM - also enhanced the documentation to explain how to use all those high-level DDD infrastructure features available in mORMotDDD.pas file: [bafd8401d0] check-in: [331baeb537] user: ab branch: trunk, size: 1528913
2015-05-14
12:38
{1354} introduced TSynLog.NotifyThreadEnded() method so that thread numbers and resources would be re-used during logging - included test sample with 600 created threads file: [9b22fb4e11] check-in: [e284039135] user: ab branch: trunk, size: 1498860
2015-05-09
15:49
{1317} updated SQLite3 engine to latest 3.8.10.1 revision file: [8c22392048] check-in: [d71cd0052e] user: ab branch: trunk, size: 1498816
2015-05-08
11:47
{1312} added RawByteString explicit support for SOA interface-based services parameters - content will be transmitted as base64-encoded JSON text file: [f4b7d74829] check-in: [e8d17fa35a] user: ab branch: trunk, size: 1498395
2015-05-04
13:01
{1295} small typo fixes to the documentation file: [68d2946958] check-in: [4c8b66d311] user: ab branch: trunk, size: 1498067
2015-05-03
17:19
{1291} introducing new FPCSQLITE3STATIC conditional, for statically linking SQLite3 .o files to the executable under FPC - disabled by default, for direct compilation of mORMot, e.g. from fpcup file: [7d00fc312e] check-in: [05efee2cab] user: ab branch: trunk, size: 1498036
16:49
{1290} updated the documentation, mainly about SOLID and IoC file: [218c0f56a0] check-in: [08ed312d34] user: ab branch: trunk, size: 1497738
2015-04-28
13:24
{1264} introducing new shared DDD Infrastructure feature, to implement an email validation service (includes an emailer daemon, and associated regression tests using advanced mocking and stubing) file: [8b4377fe2b] check-in: [46df876f20] user: ab branch: trunk, size: 1465320
2015-04-12
20:38
{1220} updated documentation file: [bc94cd4bea] check-in: [166f6f2ffc] user: ab branch: trunk, size: 1465299
14:08
{1217} updated documentation about error handling via SOA, trying to replace exceptions by proper DTOs file: [2f49e2ff79] check-in: [a8af14e0d7] user: ab branch: trunk, size: 1463368
10:47
{1216} updated comments and documentation about Delphi XE8 support (which was effective since weeks, but not yet advertised) file: [dec79b0860] check-in: [1a590a9b6b] user: ab branch: trunk, size: 1458909
2015-04-10
16:21
{1210} documentation update, mainly about DDD principles file: [931d45bb45] check-in: [914153c465] user: ab branch: trunk, size: 1456771
2015-04-07
13:47
{1205} added some diagrams to the documentation file: [6d72cf2e5e] check-in: [288929305e] user: ab branch: trunk, size: 1453966
2015-04-06
19:51
{1204} documentation update, introducing Real-Time ORM replication, and asynchronous callbacks file: [4507dcf7fc] check-in: [f4c34b7f3b] user: ab branch: trunk, size: 1453552
2015-04-05
15:17
{1197} small documentation update, to reflect [a33c699430c7904] change file: [0a375fcbe5] check-in: [798505de48] user: ab branch: trunk, size: 1420779
2015-04-04
11:32
{1195} documentation update file: [5568ee87de] check-in: [60d0cdc3c5] user: ab branch: trunk, size: 1420769
2015-04-01
08:22
{1172} added TSQLDataBase.CacheSize property: now TSQLDataBase.DBOpen will set the default page size to 4KB for a better performance as a server, and allowing bigger database sizes file: [55d89d5705] check-in: [219cce8d59] user: ab branch: trunk, size: 1420770
07:43
{1171} udpated documentation, introducing new diagrams for master/slave ORM replication file: [e73b589d75] check-in: [15b9e23e32] user: ab branch: trunk, size: 1420769
2015-03-31
21:00
{1169} documentation update file: [a352ad1752] check-in: [f171c96539] user: ab branch: trunk, size: 1419756
2015-03-18
20:42
{1104} small documentation fix reported by ASiwon - thanks for pointing this out! file: [642c195d7c] check-in: [ee2910ae4c] user: ab branch: trunk, size: 1411451
10:01
{1097} small SynDB / variant fixes and enhancements file: [b11968d6dc] check-in: [8b20c5eec2] user: ab branch: trunk, size: 1411454
2015-03-17
17:34
{1092} documentation update file: [650c44e4c8] check-in: [f9262364f2] user: ab branch: trunk, size: 1411455
2015-03-16
18:02
{1084} small documentation update file: [5c4cff70b0] check-in: [d414764423] user: ab branch: trunk, size: 1411417
2015-03-03
22:29
{1028} introducing TSynConnectionDefinition class used e.g. for JSON-defined runtime instantiation of a TSQLDBConnectionProperties or TSQLRest instances via DefinitionTo*() and CreateFrom*() methods - see also function TSQLRestCreateFrom() which is able to create a TSQLRest with external tables file: [5dd45178e5] check-in: [78ce0600e1] user: ab branch: trunk, size: 1411084
14:57
{1026} tests and documentation update file: [34e6615a58] check-in: [50e19d5b3f] user: ab branch: trunk, size: 1410496
2015-02-28
13:46
{994} introducing EInterfaceResolverException class and overloaded TInterfaceResolverInjected.RegisterGlobal() and RegisterGlobalDelete() methods allowing to manage shared DI/IoC with a class instance file: [ff87b7d1dc] check-in: [323fc78f11] user: ab branch: trunk, size: 1408182
2015-02-26
20:25
{985} small documentation clarification about the licensing terms: the framework is MPL/GPL/LGPL - only its documentation is pure GPL! file: [0bae5e841e] check-in: [2d71d11f55] user: ab branch: trunk, size: 1408179
19:53
{981} introducing TSQLHttpClientCurl class, using cross-platform libcurl to connect over HTTP or HTTPS (using system OpenSSL library, if available) file: [2ed360cc0d] check-in: [a07c62b48e] user: ab branch: trunk, size: 1408095
2015-02-22
15:01
{959} introduced TSQLRecordProperties.SetMaxLengthValidatorForTextFields() and SetMaxLengthFilterForTextFields() methods, and also corresponding TSQLModel.SetMaxLengthValidatorForAllTextFields() and SetMaxLengthFilterForAllTextFields() methods so that text column lengths may be checked or truncated before sending to an external database expecting a maximum length file: [1cdd7993ae] check-in: [add517c844] user: ab branch: trunk, size: 1408038
2015-02-19
18:11
{937} enhanced ARM compilation - Alf reported most of the tests to work on Raspberry Pi 2 (interface-based stubs should be generated in pascal code by mustache templates, in addition to current x86/x64 low-level stubs) file: [43f7fd8e71] check-in: [33b96ec7b3] user: ab branch: trunk, size: 1406692
2015-02-18
17:38
{926} small documentation update file: [42bfaf1938] check-in: [c31d8a73e3] user: ab branch: trunk, size: 1406680
2015-02-16
12:20
{907} added TSQLTable.FieldAsFloat() overloaded methods file: [1d78051c82] check-in: [13c49a84b0] user: ab branch: trunk, size: 1406018
2015-02-15
13:15
{902} ExeVerionRetrieve() replaced by the more explicit SetExecutableVersion() function - this commit also includes several fixes for the Linux platform file: [b4f7a82657] check-in: [9b60596cae] user: ab branch: trunk, size: 1405991
2015-02-14
10:53
{900} small documentation fix about TSQLRest.Add(...,true) file: [8f12150704] check-in: [d5028ca27e] user: ab branch: trunk, size: 1405527
2015-02-09
20:55
{870} documentation enhancements file: [cb00b09924] check-in: [c189af8b2a] user: ab branch: trunk, size: 1405507
2015-02-08
20:25
{862} updated documentation, mainly about CrossKylix support file: [a6fd71ebfe] check-in: [89d383c67f] user: ab branch: trunk, size: 1404699
2015-02-07
10:21
{846} TMVCApplication.Start method should now be used instead of its Create constructor so that you may call TMVCApplication.CreateInjected() to set the dependencies before initializing the MVC application file: [e1a7597b2d] check-in: [9737c12898] user: ab branch: trunk, size: 1398170
08:17
{840} documentation now refers to our shared DDD units file: [ed8b91189b] check-in: [4a18c1883f] user: ab branch: trunk, size: 1397429
08:15
{839} some minor fixes so that framework regression tests do pass as expected file: [1e3c13fe78] check-in: [f1546e5ec2] user: ab branch: trunk, size: 1397387
2015-02-06
09:10
{831} added SetID() procedure as a wrapper around SetInt64() for setting TID variables file: [8c9fda4dea] check-in: [afdeeef14c] user: ab branch: trunk, size: 1397393
2015-02-03
13:29
{810} addedg TSQLRest*.ServiceDefine() and enhanced TInterfaceStub/TInterfaceMock methods to specify interface from it name, without the need to use the TypeInfo(IMyInterface) syntax in end-user code - the documentation has also been updated to reflect this cleaner syntax file: [d50f88e8cb] check-in: [74693cd76d] user: ab branch: trunk, size: 1396974
2015-02-01
08:46
{795} documentation update about HTTP API 2.0 file: [f3165993af] check-in: [48b400fcee] user: ab branch: trunk, size: 1395444
2015-01-31
13:44
{789} enhanced documentation to advice use of SQLNCLI11, part of the "Microsoft SQL Server 2012 Native Client", when connecting to MS SQL Server file: [f78ac67fff] check-in: [0973e6a83c] user: ab branch: trunk, size: 1394590
2015-01-30
13:18
{782} updated documentation to state that IIS Manager can simply install the certificate and register it without having to use makecert file: [081e5034a8] check-in: [afca04fed5] user: ab branch: trunk, size: 1393793
2015-01-29
17:50
{772} ensure TPersistentAutoCreateFields will also release any T*ObjArray dynamic array storage of persistents, when previously registered via TJSONSerializer.RegisterObjArrayForJSON() - also preparing T*ObjArray support for TSQLRecord, which will be used for [27353dad25] file: [d30658a11d] check-in: [0793b3eae7] user: ab branch: trunk, size: 1393248
14:39
{771} updated documentation about "netsh http" command line tool use file: [7e688f7edc] check-in: [914731dfe2] user: ab branch: trunk, size: 1393229
2015-01-15
20:11
{718} documentation update mainly about AES-NI file: [8c57337ad5] check-in: [b19fe457c0] user: ab branch: trunk, size: 1392206
2015-01-11
08:52
{696} updated documentation about FPC 2.7.1/3.1.1 installation and use, especially under Linux file: [294e28c4b9] check-in: [9ce9f10356] user: ab branch: trunk, size: 1391885
2015-01-05
19:01
{679} small documentation fix file: [f32c169b87] check-in: [1f34e1c0d4] user: ab branch: trunk, size: 1382523
2015-01-03
21:06
{673} updated documentation file: [5cfd507bff] check-in: [d581de4dbd] user: ab branch: trunk, size: 1382512
2014-12-18
23:32
{647} fixed MongoDB typos in documentation file: [c22bb541a0] check-in: [f839bfad2a] user: ab branch: trunk, size: 1382509
2014-12-12
19:47
{640} ESQLDBException (and its descendants) will now append the current SQL statement to its error message, if TSQLDBConnectionProperties.LogSQLStatementOnException is defined, as requested by [ea07928ae9] file: [a18c787f46] check-in: [9416d466bf] user: ab branch: trunk, size: 1382509
18:00
{639} added TSQLRestServer.SessionsSaveToFile/SessionsLoadFromFile methods and optional aStateFileName parameter to TSQLRestServer.Shutdown to allow session persistence as requested by [a392945901] - warning: not suitable for persisting SOA complex information! file: [0198761ae5] check-in: [24cf77569c] user: ab branch: trunk, size: 1382524
2014-12-11
17:46
{635} added TSQLRestServer.RootRedirectGet property to allow easy redirection file: [d1e9ba455b] check-in: [ee6a66e61f] user: ab branch: trunk, size: 1381582
14:59
{633} added TSQLRestServerURIContext.ReturnFileFromFolder() method, for direct fast transmission to a HTTP client, handling "304 Not Modified" and proper mime type recognition file: [6e3ad949c1] check-in: [4c6d4bb4a3] user: ab branch: trunk, size: 1381162
14:14
{632} added TSQLHttpServer.DomainHostRedirect() method for virtual-host redirection of Internet domains or sub-domains file: [e3dec55742] check-in: [2dc9a48b61] user: ab branch: trunk, size: 1380468
2014-12-03
09:39
{606} SynProject will now create valid HTML content with { or } characters file: [21551c9ff8] check-in: [f5098e65f0] user: ab branch: trunk, size: 1377097
09:09
{605} added sum() SQL function to MongoDB ODM query conversion process file: [0292320078] check-in: [fa8b20983b] user: ab branch: trunk, size: 1376319
2014-11-30
18:13
{601} introducing MVCServerMongoDB.dpr project for the "30 - MVC Server" BLOG sample: now all the needed complex SQL is available in mORMotMongoDB.pas so you could switch from a SQL to a NoSQL engine just at runtime file: [2803b6927b] check-in: [d989624955] user: ab branch: trunk, size: 1376313
18:00
{600} DISTINCT() MAX() MIN() AVG() functions and the GROUP BY clause are now converted into optimized MongoDB aggregation pipelines file: [3b5195de6b] check-in: [26d9bfafa7] user: ab branch: trunk, size: 1376033
2014-11-29
15:02
{595} ODM will now handle *DynArrayContains() functions as fast native $in:[] MongoDB query operations file: [b24ac987ec] check-in: [4b5379b32d] user: ab branch: trunk, size: 1375064
08:30
{590} refresh contributor list file: [0d75feb7b3] check-in: [c13710637e] user: ab branch: trunk, size: 1373929
2014-11-28
16:32
{589} MongoDB ODM now supports complex WHERE clause with several AND/OR expressions, and even the IS NULL / IS NOT NULL, IN () or LIKE operators! file: [f4237db7fe] check-in: [abbdfa5563] user: ab branch: trunk, size: 1373883
2014-11-27
14:50
{580} added TSQLRestClientURI.BatchStartAny() method and updated documentation file: [c2f8d2910a] check-in: [54c80cdf77] user: ab branch: trunk, size: 1372185
2014-11-25
19:44
{575} added TSynAuthenticationRest e.g. for SynDBRemote to check REST users file: [c1e0bf27db] check-in: [1e6d342400] user: ab branch: trunk, size: 1371579
2014-11-24
21:07
{570} fixed SynDBRemote authentication process and enhanced documentation file: [e8496ffb00] check-in: [dc89ec80fc] user: ab branch: trunk, size: 1370510
19:26
{569} enhanced background process and documentation file: [1e4bb96377] check-in: [7b57d1934f] user: ab branch: trunk, size: 1369394
2014-11-23
18:06
{560} small documentation fix file: [5ba3a57b29] check-in: [07372546f3] user: ab branch: trunk, size: 1369087
16:55
{559} BREAKING CHANGE: new SynLog.pas and SynTests.pas units, extracted from SynCommons file: [a12186fc7e] check-in: [881797779c] user: ab branch: trunk, size: 1369015
2014-11-22
18:01
{558} let SynDBRemote support concurrent transactions (via a simple blocking mode) file: [dc2130f60b] check-in: [20cafb695f] user: ab branch: trunk, size: 1367721
12:28
{557} transmitted content via SynDBRemote will now be encrypted file: [670d00b868] check-in: [c2338f8c4b] user: ab branch: trunk, size: 1367561
10:48
{556} enhanced documentation about the new project publishing Cross-Platform wrappers for sample 28 file: [6083e7b679] check-in: [c731f35d18] user: ab branch: trunk, size: 1367521
2014-11-20
10:04
{549} fixed issue with UnicodeString values with custom variant types late binding file: [5bb88b9c12] check-in: [6ee1f73472] user: ab branch: trunk, size: 1367386
2014-11-19
20:34
{545} small documentation update file: [8a4aaee9fe] check-in: [4ef2640170] user: ab branch: trunk, size: 1367364
2014-11-18
17:59
{542} small fixes to circumvent an asm generation issue with Delphi 2007 file: [1e616f583b] check-in: [72a8402367] user: ab branch: trunk, size: 1366429
15:55
{539} benchmarked both sockets and WinHTTP API for client access - also updated the documentation file: [48006440b5] check-in: [4548619710] user: ab branch: trunk, size: 1366430
12:38
{538} documentation enhancements file: [a762f898ee] check-in: [647505a1f0] user: ab branch: trunk, size: 1364667
12:21
{537} allow SynDBExplorer to serve or access a SynRemoteDB connection via HTTP file: [055e9712ec] check-in: [bed4c8bf9e] user: ab branch: trunk, size: 1363464
11:16
{536} added SynRemoteDB connection to the "External DB performance" sample file: [4db65341e4] check-in: [4336b32329] user: ab branch: trunk, size: 1361840
2014-11-17
23:34
{533} introducing SynDBRemote.pas unit for HTTP remote access via SynDB classses - see the updated documentation file: [ae73244955] check-in: [dcc0fd3897] user: ab branch: trunk, size: 1360641
2014-11-15
17:17
{517} allow to associate a TID published field to a given table, with emulation of the ON DELETE CASCADE behavior, via "type TSQLRecordClientToBeDeletedID = type TTID" definition - also refreshed the documentation to make all the deletion tracking more clear file: [0b89b79de4] check-in: [8ef74dd71e] user: ab branch: trunk, size: 1348787
2014-11-14
23:31
{516} allow to associate a TID published fields to a given table via "type TSQLRecordClientID = type TTID" definition file: [4a324320b4] check-in: [7f710d10b0] user: ab branch: trunk, size: 1347770
20:25
{515} explicitely notify about the http://bugs.freepascal.org/view.php?id=26602 issue for IAutoFree use limitations with FPC file: [291705edfc] check-in: [bec1a0fbdf] user: ab branch: trunk, size: 1345984
15:21
{514} renamed IgnoreSSLCertificate to IgnoreSSLCertificateErrors and implemented in parameters of class functions - thanks EMartin for the patch (submitted by GitHub) file: [8a51d57a80] check-in: [3059ceda1d] user: ab branch: trunk, size: 1345380
14:19
{513} documentation update mainly about the newly introduced TID = Int64 type and the TAutoFree features file: [79a192042d] check-in: [8efec7a670] user: ab branch: trunk, size: 1345149
09:25
{509} updated framework documentation about external database process (previous content was occulting NoSQL backends) file: [3af0cd8f3b] check-in: [352d596041] user: ab branch: trunk, size: 1334407
2014-11-11
17:49
{495} small documentation fix file: [285f74d75d] check-in: [0b41a9cbe6] user: ab branch: trunk, size: 1329577
17:38
{494} enhancements to external ORM process
  • added VirtualTableExternalMap() function for easier mapping definition
  • handle TSQLModelRecordPropertiesExternal.MapAutoKeywordFields for automatic mapping of field which name conflicts with a SQL keyword - see [7fbbd53966]
file: [de1b9e607e] check-in: [c6453db6e2] user: ab branch: trunk, size: 1329367
2014-11-09
20:27
{485} let SynProject handle Alt+F10 shortcut for adding a link to a numerated paragraph file: [0ec767c983] check-in: [a7c8f43770] user: ab branch: trunk, size: 1327326
2014-11-08
12:46
{481} enhanced FPC compatibility file: [86cb4967cb] check-in: [4788b39f5b] user: ab branch: trunk, size: 1327293
2014-11-06
20:44
{472} udpdated framework documentation file: [c94bb75dc6] check-in: [4a93f9ec66] user: ab branch: trunk, size: 1327292
15:53
{471} now the API reference (i.e. all source code definitions) will be stored in separated html files, therefore reducing the main html by a large amount file: [a76a42cfbd] check-in: [b3a45a7418] user: ab branch: trunk, size: 1326304
2014-11-05
15:04
{470} updated mORMot documentation when generated as HTML - including responsive design :) file: [678e8a6de5] check-in: [7372995a3a] user: ab branch: trunk, size: 1326300
13:42
{469} framework documentation is now available as HTML! file: [d041ec07b0] check-in: [6026c388a9] user: ab branch: trunk, size: 1326273
09:53
{468} updated documentation, mainly about Zeos/ZDBC integration file: [adf1e8de41] check-in: [2cbcb18bb6] user: ab branch: trunk, size: 1325771
2014-11-02
08:18
{458} let all our TDataSet components work with FPC/Lazarus - thanks Alf for the patch! file: [faeed8ed17] check-in: [6e1bc870fd] user: ab branch: trunk, size: 1325116
2014-10-28
20:43
{429} enhanced documentation file: [a137a6bee4] check-in: [8e80a32c7d] user: User branch: trunk, size: 1325047
13:05
{423} added overloaded procedure TSQLModelRecordProperties.FTS4WithoutContent() using field names instead of a complex expression file: [6ac29f64d1] check-in: [e6c595154b] user: User branch: trunk, size: 1322830
11:09
{421} added TSQLModelRecordProperties.FTS4WithoutContent() method to allow TSQLRecordFTS4 tables let the content be store in another TSQLRecord table, creating SQLite3 triggers to automatically populate the fulltext indexes from this main table - updated sample "30 - MVC Server" to use this new feature file: [7780b7667d] check-in: [61310fb324] user: User branch: trunk, size: 1322629
2014-10-27
15:21
{413} updated MVC/MVVM [bd94c11ab1] documentation file: [bc7b4a474e] check-in: [0d4110cd46] user: User branch: trunk, size: 1320083
2014-10-25
11:46
{396} in addition to Batch*() methods available at TSQLRestClientURI level, all BATCH process is now implemented by stand-alone TSQLRestBatch instances, which can safely be used at TSQLRestServer level, even from multi thread - this implements the "Unit Of Work" pattern as requested by [bd6144175d] file: [b8af5a2a0a] check-in: [b633684b34] user: User branch: trunk, size: 1318192
2014-10-24
19:40
{393} finishing documentation about MVC - [bd94c11ab1] feature request file: [bc616fb822] check-in: [cdc7ed74b7] user: User branch: trunk, size: 1315908
2014-10-23
21:27
{386} documentation refresh - including latest mORMot MVC features - see request [bd94c11ab1] file: [7ebee5ef1e] check-in: [c697a47dc2] user: User branch: trunk, size: 1305457
16:05
{383} in our MVC [bd94c11ab1] model, {{TSQLMyRecord.HtmlTable MyRecord}} Mustache tag will now create a HTML table containing all information about the supplied MyRecord fields (from the current data context), with complex field handling - see e.g. {{{TSQLAuthor.HtmlTable Author}}} in AuthorView.html file: [b1aead5c02] check-in: [c802573c64] user: User branch: trunk, size: 1275258
2014-10-22
15:03
{376} introducing Expression Helpers extension to the standard Mustache definition with a set of standard date/time to text conversion functions, and optional automatic integration with the ORM tables file: [0b0aa212d7] check-in: [e8417814e4] user: User branch: trunk, size: 1272296
2014-09-26
10:32
{283} added TSQLRestServer.InitializeTables() method to initialize void tables and replace CreateMissingTables process e.g. for MongoDB external storage - replace {282} buggy implementation file: [332e15e896] check-in: [d79b3f7643] user: User branch: trunk, size: 1269032
2014-09-19
13:21
{264} ServiceContext threadvar will now be set in all ORM and SOA process, to allow access to the execution context file: [44e49ff098] check-in: [c90684aab9] user: User branch: trunk, size: 1268509
2014-09-18
11:42
added amBackgroundORMSharedThread mode for TSQLRestServer.AcquireExecutionMode[] property so that all ORM read and write operations would be executed in a single thread (amBackgroundThread would use one thread for reads, and another for writes) file: [3d733a105e] check-in: [cee02ea67b] user: User branch: trunk, size: 1268010
2014-09-15
13:20
SynDBOracle now implements array binding of values as OCI_OBJECT, to be used e.g. for an IN clause, without creating any temporary table or writing the values as raw SQL
  • also updated the documentation
  • thanks mpv for the patch!
file: [dc761045ad] check-in: [a040c1e2aa] user: User branch: trunk, size: 1267049
2014-09-12
09:24
another documentation update file: [686e4c8e25] check-in: [721aad7b6d] user: User branch: trunk, size: 1265246
08:38
enhanced documentation about integrating legacy code still modifying the database file: [0ef20a3bfa] check-in: [634722446c] user: User branch: trunk, size: 1263424
2014-09-10
14:15
default port for remote logging server is now 8091 since former 888 value was not compatible with mobile devices (the Linux kernel reserves all IP port numbers lower than 1024 to specific purposes, AFAIR) file: [4b6c70016b] check-in: [16fd14dec8] user: User branch: trunk, size: 1259830
09:39
documentation update (mainly about new security options) file: [9e737c1a56] check-in: [6dbad60098] user: User branch: trunk, size: 1259652
2014-09-09
15:26
documentation update mainly about new features in logging, e.g. cross-platform logging, remote logging and new fixed time log file rotation file: [1cffa09436] check-in: [577de174f3] user: User branch: trunk, size: 1257377
2014-09-05
18:12
official XE7 support of the framework as reported by users in our forum thread! file: [c0fd7f052a] check-in: [2bf3ced4bf] user: User branch: trunk, size: 1250117
2014-09-04
19:49
fixed TPersistent process in TJSONWriter.WriteObject - thanks Jordi for the pull request in file: [25e9277e50] check-in: [246e36d314] user: User branch: trunk, size: 1250117
08:47
document update linked to [f024266c0839] file: [c133fe682e] check-in: [0ec7937018] user: User branch: trunk, size: 1249656
2014-09-02
08:01
NOVARIANTS conditional affects only the server side, not the cross-platform clients themself, which should always support variants, e.g. as TJSONVariant for FPC/Delphi file: [1797d96968] check-in: [2094a3a14f] user: User branch: trunk, size: 1245754
2014-08-29
09:46
small documentation update file: [d95fcbd21d] check-in: [1c559cc09a] user: User branch: trunk, size: 1245754
2014-08-28
16:54
added TSQLInitializeTableOptions parameter to TSQLRestServer.CreateMissingTables and TSQLRecord.InitializeTable methods, to tune underlying table creation (e.g. disable indexes creation) file: [5d88c6c844] check-in: [c7717b0ff9] user: User branch: trunk, size: 1245744
2014-08-27
17:05
updated documentation file: [89cdca24fe] check-in: [6e587a2dd6] user: User branch: trunk, size: 1245172
2014-08-25
14:41
another small documentation update file: [7efb457927] check-in: [196e555c82] user: User branch: trunk, size: 1241504
2014-08-24
22:41
updated documentation file: [4a0b43ae1d] check-in: [1b79eee2b1] user: User branch: trunk, size: 1241152
2014-08-23
15:46
added upcoming Delphi XE7 most probable version number file: [ed5142b99e] check-in: [c170d26d8b] user: User branch: trunk, size: 1237033
14:49
TServiceMethod.InternalExecute() now allows incoming parameters to be encoded as a JSON object, alternatively to a JSON array - see feature request [48e30e0e05] - will also be used probably to implement our MVC model - see [bd94c11ab167] - updated documentation, about this enhancement of transmission content, and about using a CDN service for hosting and scaling file: [c0e69a7f37] check-in: [85b9c26c5e] user: User branch: trunk, size: 1236579
2014-08-22
10:41
fixed memory leak in SynCrossPlatformJSON, when handling TByteDynArray properties for BLOB fields file: [6564b0847b] check-in: [9f0723cbff] user: User branch: trunk, size: 1230265
2014-08-20
13:52
enhanced CRUD level cache methods to support an array of IDs to be cached as parameters, and made the documentation more explicit file: [79766c49cd] check-in: [34eb32169a] user: User branch: trunk, size: 1230175
08:22
ensure ExecutePrepared fails if BindArray() was used when the underlying provider does not support array binding file: [0ce12821e4] check-in: [ad871ec39d] user: User branch: trunk, size: 1229040
2014-08-19
14:34
added Array Binding support for SynDBZeos - with the ZDBC 7.2 branch (only for Oracle yet) file: [62ab2e0dcd] check-in: [0b0f595b12] user: User branch: trunk, size: 1229039
09:41
enhanded documentation, mainly about TSQLRestStorageRemote class, TSQLRestServer.RemoteDataCreate() method and TSQLRestServerRemoteDB class for feature request [3453f314d97d] file: [11d6ff9b38] check-in: [d9e53fd620] user: User branch: trunk, size: 1225973
2014-08-18
05:39
fixed unexpected "comma":"," issue in context data when generating cross-platform client wrappers file: [a220b54682] check-in: [25d6493fcb] user: User branch: trunk, size: 1218494
2014-08-17
16:27
enhanced documentation about performance tuning in mORMot file: [aedf3423bd] check-in: [573768651c] user: User branch: trunk, size: 1218496
2014-08-16
19:35
removed TTextWriterEcho class, replaced by more generic TTextWriter.EchoAdd() and EchoRemove() methods; also added TSynLogFamily's NoFile and EchoCustom properties to allow third-party logging - see feature request [91a114d2f6] - and added MultiEventAdd(), MultiEventRemove() and MultiEventFind() functions, allowing easy implementation of a dynamic list of callbacks (just like C# delegates) file: [f350c4c714] check-in: [8b00561e35] user: User branch: trunk, size: 1207962
2014-08-15
17:39
fixed Delphi 5 compilation issue file: [8a4f168851] check-in: [b7f2a20b39] user: User branch: trunk, size: 1206143
14:26
documentation update mainly about the newly introduced TSQLDataBase.BackupBackground() method file: [1748166bc8] check-in: [5630b2574d] user: User branch: trunk, size: 1205803
2014-08-14
07:42
ensure mORMotDB.pas virtual write operations do not call Engine*() but direct SQL file: [a9f0abbca9] check-in: [7dc899399f] user: User branch: trunk, size: 1205603
2014-08-11
21:20
some other documentation fixes file: [0caf65ba01] check-in: [2032d405d8] user: User branch: trunk, size: 1205414
15:58
some documentation fixes file: [488c067cca] check-in: [acc1ddc296] user: User branch: trunk, size: 1205178
14:11
cross-platform support documentation is now almost finished so [09ae8513eb], [168eb753e5] and [d7e5521da5] feature requests could be marked as implemented! file: [7daac16202] check-in: [3c7c0bc20c] user: User branch: trunk, size: 1200732
2014-08-10
17:09
documentation updates about client code generation as requested by [09ae8513eb], [168eb753e5] and [d7e5521da5] (not finished yet) file: [a209d685fa] check-in: [2b7d3698c0] user: User branch: trunk, size: 1183312
2014-08-08
08:22
added TSQLRestServerURIContext.Input*OrVoid[] properties and refactoring of the various TSQLRestAuthentication*.Auth() methods to use the Input*[] property instead of UrlDecode*() file: [677c6c803e] check-in: [d0dcc2ed76] user: User branch: trunk, size: 1163837
2014-08-07
17:42
added TSQLRestServerAuthenticationHttpBasic authentication class for [d214048facaa3944f96ee5b3] - includes deep refactoring of the TSQLRestServerAuthentication* classes file: [c13093a54d] check-in: [6d87b2af7b] user: User branch: trunk, size: 1163453
2014-08-05
10:15
CrossPlatform support of interface-based services for all supported types and content file: [a22f9f9ef6] check-in: [3f2ebac0af] user: User branch: trunk, size: 1162248
06:31
updated documentation file: [e2e9e06a54] check-in: [b447b0c0a7] user: User branch: trunk, size: 1161540
2014-08-04
19:48
updated documentation, mainly about XML responses for interface-based SOA file: [1891820399] check-in: [51321d6949] user: User branch: trunk, size: 1160746
2014-07-19
09:39
updated documentation mainly about how to return a file content via HTTP file: [c417a03276] check-in: [320c689bde] user: User branch: trunk, size: 1153667
2014-07-15
18:16
small documentation typo fixes file: [60339f0bb8] check-in: [0e8f6458f9] user: User branch: trunk, size: 1152111
2014-07-11
17:00
updated documentation file: [33fcacebe3] check-in: [76a3543819] user: User branch: trunk, size: 1134086
2014-07-06
11:29
enabled PUBLISHRECORD for Delphi XE5 - see ticket [b653e5f4ca] file: [9ed1c9614a] check-in: [11f6d1c4e9] user: User branch: trunk, size: 1133837
2014-07-01
18:40
fix performance issue introduced by [929cb6fc3047c5f] used dedicated TSQLHistoryEvent enumeration for TSQLHistory.Event property to let history change tracking work as fast as possible even with external databases (which do not allow to index a BLOB column) file: [c803e30721] check-in: [67c70fb3fb] user: User branch: trunk, size: 1133832
2014-06-27
12:47
other typos fixed in the documentation file: [b5fbae8026] check-in: [708e46bc26] user: User branch: trunk, size: 1133638
2014-06-24
10:05
enhanced cross-platform client support, especially for the NEXTGEN target file: [d2adc02343] check-in: [83df4eccdb] user: User branch: trunk, size: 1133481
2014-06-22
13:32
updated documentation, mainly for Audit-Trail about the new TSQLRecordHistory class type (used to store the history), and TSQLRestServer.TrackChanges() to initiate change tracking file: [4a0593e69f] check-in: [0af204f950] user: User branch: trunk, size: 1133483
2014-06-20
15:45
updated framework documentation file: [15b25e7203] check-in: [68f8acc123] user: User branch: trunk, size: 1126356
2014-06-08
13:43
since Delphi XE6, TSQLRecord will recognize record published properties - see ticket [b653e5f4ca] - so you can define e.g. TGUID properties directly, which will be stored as JSON string file: [9bda48e749] check-in: [4d59d398d4] user: User branch: trunk, size: 1125055
2014-06-07
20:43
updated documentation, about InternalRegisterCustomProperties() and TGUID file: [da0261b99e] check-in: [03c51d043b] user: User branch: trunk, size: 1124417
2014-06-01
20:33
added some comments to new sample 28 file: [c542304942] check-in: [e30a88c874] user: User branch: trunk, size: 1123996
2014-05-20
10:55
updated documentation file: [6956cbf862] check-in: [dbed282a48] user: User branch: trunk, size: 1123916
2014-05-18
18:25
ensure we speak about "Windows Messages" instead of the non-sense "GDI Messages" term file: [1cafbbb323] check-in: [010f6771d7] user: User branch: trunk, size: 1123340
2014-05-16
19:47
updated framework documentation - mainly about the newly introduced JSON serialization using the enhanced RTTI available since Delphi 2010 file: [578973565a] check-in: [97ef768e41] user: User branch: trunk, size: 1123327
2014-05-15
14:04
for Delphi 2010 and up, RecordSaveJSON/RecordLoadJSON and Dynamic Arrays will use enhanced RTTI for JSON serialization: no need to call TextWriter.RegisterCustomJSONSerializerFromText() and maintain text-based serialization on newer versions of Delphi :) file: [c660ca0dd1] check-in: [976a824618] user: User branch: trunk, size: 1118813
2014-05-14
10:33
updated framework documentation file: [9589fea806] check-in: [7834caa14b] user: User branch: trunk, size: 1118788
2014-05-13
12:37
updated documentation file: [bdc202b8ff] check-in: [62f1461a55] user: User branch: trunk, size: 1115278
2014-05-12
07:43
fixed typos and some compilation warnings file: [21f29244b2] check-in: [fd20a67fc6] user: User branch: trunk, size: 1112280
2014-05-11
11:49
fixed some typo file: [f0ad69fd44] check-in: [15206e6699] user: User branch: trunk, size: 1112280
2014-05-10
18:11
now BatchStart/BathAdd/BatchUpdate/BatchDelete/BatchSend methods are available at TSQLRest level, so will work for both TSQLRestClientURI and TSQLRestServer classes (and not with TSQLRestStorage, since it does not make much sense there) file: [b3ead9faac] check-in: [0c5bad111b] user: User branch: trunk, size: 1112280
15:28
updated documentation file: [7121bcd91a] check-in: [c8931064d1] user: User branch: trunk, size: 1112211
08:31
TSQLRestServer.StaticDataServer[] will now return an abstract TSQLRest and not a TSQLRestStorage to make the design even more generic - it will allow in the future e.g. to store a single table in a remote server, since its storage class may be a generic TSQLRestClient, for instance file: [f9271ae2ab] check-in: [c89026cac9] user: User branch: trunk, size: 1111867
2014-05-09
15:02
BREAKING CHANGE: TSQLRestServerStatic* classes are now renamed as TSQLRestStorage* and do not inherit from TSQLRestServer any more (which was a design issue) but plain TSQLRest
  • this (long-time waiting) huge code refactoring results in a much cleaner design
  • documentation has been updated to reflect the changes
  • it won't change anything when using the framework (but the new names): it is an implementation detail
file: [2a712450e4] check-in: [e1e58505f3] user: User branch: trunk, size: 1110032
2014-05-08
13:47
some SynCrtSock long-standing issues fixed
  • fixed several issues when releasing THttpApiServer and THttpServer instances
  • made exception error messages more explicit (tuned per module) for SynCrtSock
file: [16f36b346d] check-in: [3c0d63706f] user: User branch: trunk, size: 1109860
2014-05-07
12:28
TByteDynArray is now identified for MongoDB ORM/ODM to embed a BLOB property stored as BSON binary within a document, instead of a BSON array of integers - so that TSQLRawBlob may be restricted in the future to GridFS external content (easily accessible e.g. with RESTful commands) file: [63dd5c0370] check-in: [800e23e6a7] user: User branch: trunk, size: 1109857
08:02
enhanced SynProject's HTML/BBCODE clipboard paste content file: [00d201e9ad] check-in: [1be95ea5d7] user: User branch: trunk, size: 1109467
2014-05-06
20:11
added MongoDB direct and ORM/ODM information in the framework documentation :) file: [33d802ddc9] check-in: [e8340a4797] user: User branch: trunk, size: 1108321
2014-05-05
08:35
fixed documentation file: [4a8cc4f0d5] check-in: [bf77c216ab] user: User branch: trunk, size: 1067852
07:34
udpated documentation about TSQLRestServerStaticInMemory and ACID file: [10c9660d94] check-in: [a104339696] user: User branch: trunk, size: 1067826
2014-04-28
16:40
fixed a small typo issue file: [bb46d6cf3b] check-in: [0c1bc8d05c] user: User branch: trunk, size: 1066019
08:45
finishing documentation about SynMustache file: [c7e26b9ec7] check-in: [c67a82e128] user: User branch: trunk, size: 1065984
2014-04-27
19:42
updated documentation about the Mustache rendering engine (in the MVC section of the SAD 1.18 pdf) file: [c96f9d0af4] check-in: [40c4842ff3] user: User branch: trunk, size: 1057353
2014-04-26
18:14
introducing documentation about Mustache template rendering with mORMot file: [b5af26e7d7] check-in: [e88233403c] user: User branch: trunk, size: 1050044
2014-04-22
12:03
RawJSON type is now defined in SynCommons.pas, and will be handled by record text-defined custom JSON serialization as expected (i.e. as un-serialized raw JSON content) file: [fd3c5442ef] check-in: [752b4b12f9] user: User branch: trunk, size: 1041794
2014-04-21
07:49
upgraded SpiderMonkey engine into revision 24 (pavel did write a custom C wrapper around the original C++ code) - also updated http://synopse.info/files/synsm.7z to contain the corresponding binaries - Thanks again Pavel (mpv) for the contribution! file: [e00f8f1a07] check-in: [687f12d548] user: User branch: trunk, size: 1041693
2014-04-17
19:01
Delphi XE6 support (not fully tested yet since we can't afford to pay the license as unpaid Open Sourcers) - feedback is welcome! file: [680ab06ed9] check-in: [425a824388] user: User branch: trunk, size: 1041489
09:11
small documentation enhancement about MVC file: [966e75c3dc] check-in: [c332923941] user: User branch: trunk, size: 1041493
2014-04-13
14:33
updated documentation about SOA design file: [cdebf954fc] check-in: [9d92d6cdaf] user: User branch: trunk, size: 1041319
2014-04-10
14:48
all TSQLHttpClient* classes are now thread-safe (i.e. protected by a global mutex, as other TSQLRestClientURI implementations already did) file: [94aa129c8f] check-in: [7719d8274d] user: User branch: trunk, size: 1036637
2014-04-09
20:59
updated documentation, mainly about Create*Joined() constructors, and also about data sharding via TDocVariant variant published properties (aka schema-less NoSQL within mORMot) file: [1b11c50478] check-in: [6b214823e0] user: User branch: trunk, size: 1035906
18:55
introducing TSQLRecord.CreateJoined() and CreateAndFillPrepareJoined() constructors, to auto-initialize and load nested TSQLRecord properties file: [04881eb7b2] check-in: [6fe2dd5218] user: User branch: trunk, size: 1027764
2014-04-08
14:15
new TSQLRestClientURI.ForceBlobTransfertTable[] property which enable to get and set BLOB fields values with usual Add/Update/Retrieve methods for a particular table (more tuned than existing ForceBlobTransfert property) - TSQLRestClientURI.ForceBlobTransfert property is still available, and will force the BLOB field transfert for ALL tables of the model, as previously; also updated the documentation about this particular point file: [e5a885a0d1] check-in: [fdfd0959dd] user: User branch: trunk, size: 1027586
2014-04-07
18:07
added THttpApiServer.ServerSessionID and UrlGroupID read-only properties file: [705d2ed9dd] check-in: [1101f033bb] user: User branch: trunk, size: 1025787
10:39
updated documentation - now SpiderMonkey integration is documented as needed :) file: [8dcece4f08] check-in: [73e2b756e2] user: User branch: trunk, size: 1025782
2014-04-06
14:37
fixed documentation typo file: [afbc8c1fd8] check-in: [4391d51d04] user: User branch: trunk, size: 1014270
14:21
updated documentation about SpiderMonkey implementation within the framework (not finished yet) file: [eb0c1ce214] check-in: [4ae04f43d1] user: User branch: trunk, size: 1014231
2014-04-02
19:42
TDocVariantDataKind enumeration renamed to TDocVariantKind, and sdkUndefined, sdkObject, sdkArray renamed to dvUndefined, dvObject, dvArray file: [3d6a785ef1] check-in: [3f1d2194ef] user: User branch: trunk, size: 1001636
16:53
updated source code and documentation to easily let SpiderMonkey library files to be downloaded - it is always better with a download URI! file: [e0073a9da2] check-in: [f94f197df3] user: User branch: trunk, size: 1001489
2014-03-29
15:23
enabled DispInvoke() function for Delphi XE2 and up (it will also fix the regression issue in the new RTL which let the field names be uppercased) file: [92587d930b] check-in: [cbb76728ec] user: User branch: trunk, size: 1000447
2014-03-26
20:04
updated documentation file: [ce764cc219] check-in: [920964f3dc] user: User branch: trunk, size: 997152
2014-03-16
17:59
updated documentation file: [8650881c16] check-in: [23ed1be8a4] user: User branch: trunk, size: 996971
2014-03-15
15:14
small enhancements + fixes to the documentation file: [f0d6716bfd] check-in: [fe4622ef5c] user: User branch: trunk, size: 993490
2014-03-14
14:37
updated documentation, mainly about ORM field/column mapping file: [b51d85304a] check-in: [2177050b87] user: User branch: trunk, size: 993298
2014-03-07
09:42
fixed documentation file: [5381bd3df9] check-in: [a5411f2044] user: abouchez branch: trunk, size: 982632
09:14
added MySQL benchmark and official support in documentation file: [4bd383b088] check-in: [3828725498] user: abouchez branch: trunk, size: 982565
2014-03-06
16:17
added official PostgreSQL support and benchmarks - blog article to follow soon - which is indeed an amazing engine, IMHO the best Enterprise-level Open Source database file: [bf7f721542] check-in: [8b69ea33ec] user: abouchez branch: trunk, size: 981456
2014-03-05
16:08
  • added IBM DB2 support to SynDB classes and mORMot ORM - tested with DB2 Express-C 10.5
  • now TODBCConnection.Connect() will recognize the DBMS from its driver name
file: [c5da5763eb] check-in: [103fcd7e36] user: abouchez branch: trunk, size: 977156
2014-03-04
20:10
added TDocVariantData.Delete() methods, and corresponding Delete() pseudo methods to the TDocVariant instance file: [df39ed9f0b] check-in: [cf9bf72e43] user: User branch: trunk, size: 977165
17:29
now TDocVariant instances will return their members as varByRef, both via TDocVariantData.Value[] property or via late-binding - so it will induce better performance and proper execution of any pseudo-methods (like Add) to sub properties: as a result, we introduced the function DocVariantData(aVariant)^ which is to be used instead of TDocVariantData(aVariant) to safely access the internal structure of the TDocVariant instance, even if it was retrieved as varByRef file: [4e57152abe] check-in: [5da7381545] user: abouchez branch: trunk, size: 976051
13:37
updated documentation (mainly for keyword indexes) file: [8b28b4fc72] check-in: [0eb4302161] user: abouchez branch: trunk, size: 974647
12:50
added SQLite3 access via ODBC driver to the performance benchmark file: [e50e5908e3] check-in: [0ad22954dc] user: abouchez branch: trunk, size: 973686
2014-03-03
17:18
introducing INSERT with multiple VALUES (..),(..),(..) for MS SQL Server 2008 - huge performance boost: now our direct OleDB client for MSSQL 2008 (displayed as "MSSQL local" in the documentation), outperforms FireDAC bulk insert mode :) file: [546126a785] check-in: [2c8f6061e1] user: abouchez branch: trunk, size: 970897
15:33
enhanced ORM for BATCH insert to generate custom SQL statements, depending on the database engine: either INSERT with multi VALUES (SQlite3, MySQL, PostgreSQL, NexusDB), EXECUTE BLOCK (Firebird) or INSERT ALL INTO (Oracle) - updated documentation and benchmark results file: [3269bae827] check-in: [6bbee294a0] user: abouchez branch: trunk, size: 970866
2014-03-02
17:59
enhanced TDocVariant custom type, including aVariantArray._ := 'new item' syntax and write-enabled TDocVariant.Data.Values[]property - also updated the documentation and enhanced the corresponding regression tests file: [1aa794296d] check-in: [63e214dd4d] user: User branch: trunk, size: 970083
2014-02-26
22:21
fixed documentation file: [587e88834d] check-in: [1d1d134a76] user: User branch: trunk, size: 967083
14:23
finishing code review for TDynArray support of variant content, and also fixing some unexpected issues when working with WideString values file: [f5f0be7a3b] check-in: [ae30cc3b64] user: abouchez branch: trunk, size: 966822
2014-02-25
21:59
TDynArray will now recognize TVariantDynArray or variant fields file: [0b22466557] check-in: [fbed086c0d] user: User branch: trunk, size: 966867
14:53
in LogViewer tool, incremental search will now remain on the same line if it matches the current entry file: [5007d43a39] check-in: [a47631a077] user: abouchez branch: trunk, size: 966787
13:00
introducing TDocVariant documentation (together with a blog article) file: [c0a9924eb9] check-in: [5838ebf974] user: abouchez branch: trunk, size: 966787
2014-02-18
15:18
documentation update about TDocVariant (not finished - first draft) file: [f7f8abd4ae] check-in: [a995777007] user: abouchez branch: trunk, size: 948768
2014-02-17
09:09
enhanced documentation about interface-based services security setting - e.g. to explictly refer to TServiceFactoryServer.ByPassAuthentication file: [9620f2874f] check-in: [f3c36aca42] user: abouchez branch: trunk, size: 945363
2014-02-13
13:40
added RawByteString support for text-based record serialization, using Base-64 encoding file: [3b725dfa27] check-in: [5dc231900e] user: abouchez branch: trunk, size: 944028
2014-02-12
16:28
polishing MongoDB process - still not tested ! file: [2dd9078dbb] check-in: [be65b4c730] user: abouchez branch: trunk, size: 943580
2014-02-05
13:59
updated documentation about Server-side execution options (threading), i.e. especially the newly introduced optExecLockedPerInterface optExecInPerInterfaceThread optFreeInPerInterfaceThread options file: [1c66042ba6] check-in: [d160739301] user: abouchez branch: trunk, size: 943459
2014-01-28
13:51
renamed Iso8601 low-level structure as TTimeLogBits, and use explicitly the TTimeLog type and name for all Int64 bit-oriented functions - now *Iso8601* will be used only for standard ISO-8601 textual representation file: [34b12a6520] check-in: [e6c05e58a9] user: abouchez branch: trunk, size: 941401
2014-01-22
09:28
  • BREAKING CHANGE of TJSONSerializerCustomReader callback signature, which now has an additional aOptions: TJSONToObjectOptions parameter
  • added TJSONToObjectOptions optional parameter in JSONToObject() / ObjectToJSON() functions and associated WriteObject() method
file: [b8b47ba0fa] check-in: [c826016e40] user: abouchez branch: trunk, size: 940519
2014-01-20
08:11
  • added function GetJSONFieldOrObjectOrArray() in unit's interface section
  • fix Delphi 5 compilation issue
  • some minor code refactoring about low-level Delphi RTL functions patching
  • fix typo in documentation
file: [bd15f56c98] check-in: [9014c28bd5] user: abouchez branch: trunk, size: 940655
2014-01-18
15:01
updated documentation file: [0154de41b5] check-in: [eacdd07cc5] user: User branch: trunk, size: 940655
2014-01-13
08:52
updated performance stats about documentation to reflect the corresponding blog article file: [78fba4f0f9] check-in: [9c3cc7b170] user: abouchez branch: trunk, size: 940553
2014-01-10
16:44
fixed documentation about change from Ctxt.ID into Ctxt.TableID - still making the implicit explicit ! :) file: [b5e1ad375d] check-in: [0dd3b2ddbe] user: abouchez branch: trunk, size: 940459
2014-01-08
21:11
updated documentation file: [ef0e686a37] check-in: [37cd2be9b3] user: User branch: trunk, size: 940433
2014-01-07
11:02
  • TSQLRestRoutingREST will now recognize several URI schemes: /root/Calculator.Add + body, /root/Calculator.Add?+%5B+1%2C2+%5D, or even root/Calculator.Add?n1=1&n2=2 - and /root/Calculator/Add as a valid alternative to default /root/Calculator.Add, if needed * added TServiceMethodArgument.AddJSON/AddValueJSON/AddDefaultJSON methods
file: [0711a51f6d] check-in: [7b4dd9f2d3] user: abouchez branch: trunk, size: 939943
2014-01-05
21:06
fixed ticket [027bb9678d] - now TSQLRecordRTree class works as expected + includes associated regression tests file: [a3f0d49783] check-in: [9c684658c5] user: User branch: trunk, size: 938234
16:51
  • introduce ESynCrypto exception class dedicated to the SynCrypto.pas unit
  • added optional aCompressMinSize parameter to RegisterCompress() methods
  • added CompressShaAes() and global CompressShaAesKey, CompressShaAesIV and CompressShaAesClass variables to be used by THttpSocket.RegisterCompress
  • added aHttpServerSecurity: TSQLHttpServerSecurity parameter to TSQLHttpServer.Create(), allowing HTTPS secure content publishing, when using the http.sys kind of server, or our proprietary SHA-256 / AES-256-CTR encryption identified as "ACCEPT-ENCODING: synshaaes"
  • added hcSynShaAes encoding for TSQLHttpClientGeneric.Compression property
  • updated documentation about new optional AES encryption over HTTP
file: [4be6d29dd5] check-in: [f9b04a46c8] user: User branch: trunk, size: 938217
2014-01-04
16:36
documentation update - and published blog articles file: [9d7efa5339] check-in: [2c1b4276f5] user: User branch: trunk, size: 934374
2014-01-03
15:11
documentation enhancements file: [f3bf31b65a] check-in: [41b65802db] user: abouchez branch: trunk, size: 930314
2014-01-02
19:11
documentation update file: [e0a2bec7e2] check-in: [f5155cfe4b] user: User branch: trunk, size: 926722
16:16
fixed and updated documentation, mainly about Domain-Driven Design file: [89e86dc9b6] check-in: [cbaf3385e1] user: abouchez branch: trunk, size: 925882
2014-01-01
18:07
updated documentation, especially the SAD pdf with a re-written Domain-Driven Design definition and implementation guide file: [eb40409ec2] check-in: [4af76fb794] user: User branch: trunk, size: 921802
2013-12-27
13:54
enhanced the TSQLDBUniDACConnectionProperties.URI() method to handle an optional port number file: [3b77aa9dc2] check-in: [5f418f2a75] user: User branch: trunk, size: 910273
2013-12-18
18:44
now text-defined JSON record serialization is able to handle any pre-defined record types - added regression tests and updated documentation file: [67ca08db34] check-in: [b0371f5e5a] user: User branch: trunk, size: 909864
2013-12-12
14:34
TTextWriter.RegisterCustomJSONSerializerFromText() now support JSON serialization/unserialization of TGUID values (encoded as JSON strings) file: [ff53e168a8] check-in: [767c34eae7] user: abouchez branch: trunk, size: 909418
2013-12-10
21:31
updated documentation file: [2ffbca0ad8] check-in: [93530dffb2] user: User branch: trunk, size: 909412
18:00
updated framework documentation about custom JSON serialization of records via text definition file: [60199697f4] check-in: [34e31b7516] user: abouchez branch: trunk, size: 908579
2013-12-08
17:58
updated documentation to state Delphi XE5 support file: [e7988faf96] check-in: [542954f2cf] user: User branch: trunk, size: 898046
2013-11-26
19:25
enhanced existing TClientDataset filling methods file: [2cb6364b3f] check-in: [a3f893ac2d] user: User branch: trunk, size: 897626
2013-11-12
19:41
documentation update file: [98d2554cd2] check-in: [783a90fd9f] user: User branch: trunk, size: 897589
2013-11-11
18:06
enhanced MSSQL support for UniDAC provider - and added performance info to documentation file: [fc1d820dcd] check-in: [fc46e98a61] user: abouchez branch: trunk, size: 897142
14:53
  • TODBCConnectionProperties.Create will now handle full ODBC connection string in aDatabaseName instead of ODBC Data Source name in aServerName
  • GetCol() will now retrieve all columns at once - mandatory for drivers not supporting SQL_GD_ANY_ORDER feature (like the "SQL Server Native Client 10.0" for ODBC)
file: [0211621e28] check-in: [17c4877408] user: abouchez branch: trunk, size: 897063
2013-11-09
16:04
documentation update file: [e8a3fefccb] check-in: [622e817c49] user: User branch: trunk, size: 896985
2013-11-08
16:29
added performance tests with FireDAC + MSSQL file: [c53608d4b4] check-in: [7510364dd0] user: abouchez branch: trunk, size: 896564
07:08
updated documentation file: [2f48a9b66c] check-in: [53d54276a0] user: User branch: trunk, size: 896459
2013-11-06
14:13
feature request [5a17a4277f]: you can now define in the Model your custom TSQLAuthUser and/or TSQLAuthGroup classes to store the authorization information: TSQLRestServer will search for any table inheriting from TSQLAuthUser/TSQLAuthGroup in the TSQLModel - see also corresponding TSQLRestServer.SQLAuthUserClass/SQLAuthGroupClass new properties file: [69a338b314] check-in: [35cd8533cb] user: abouchez branch: trunk, size: 894509
2013-11-04
17:57
enhanced MS SQL Server support (e.g. fix INDEX creation) and associated documentation (and benchmarking) file: [0f9017bcca] check-in: [63b6db715d] user: abouchez branch: trunk, size: 893205
2013-10-31
08:31
let TServiceRunningContext.Request be a reference to the TSQLRestServerURIContext class (pointer not neded since it is not a record any more) file: [ace2cfa273] check-in: [3a7d079385] user: abouchez branch: trunk, size: 891700
2013-10-27
09:10
updated documentation - beginning SpiderMonkey integration with mORMot core file: [501c8f0b37] check-in: [0b6aeb8eea] user: User branch: trunk, size: 891697
2013-10-17
20:14
fix documentation RTF format error file: [5dbd4d8bc5] check-in: [45ddd2d618] user: User branch: trunk, size: 887189
18:24
updated documentation file: [5cf1b02cd0] check-in: [4ea027aef6] user: abouchez branch: trunk, size: 887187
18:08
URI routing for interface-based service is now specified by the two TSQLRestRoutingREST and TSQLRestRoutingJSON_RPC classes (inheriting from the abstract TSQLRestServerURIContext class) instead of rmJSON and rmJSON_RPC enums - it allows any custom URI routing by inheritance file: [d37e48ea90] check-in: [4359ace86e] user: abouchez branch: trunk, size: 886922
2013-10-16
21:08
updated documentation about JSON and REST file: [c3dfdb0b67] check-in: [b82b568abd] user: User branch: trunk, size: 886292
2013-10-15
18:16
BREAKING CHANGE for method-based services:
  • TSQLRestServerCallBackParams record/object has been changed into a TSQLRestServerURIContext class
  • deep refactoring of TSQLRestServer.URI() to allow any possible routine or execution scheme
file: [bac1321ce7] check-in: [c28e9e05c2] user: abouchez branch: trunk, size: 880773
2013-10-14
18:58
added TInterfaceStub.ExpectsTrace() overloaded methods accepting RawUTF8 content directly (avoiding call to Hash32) file: [a46c8d6bf2] check-in: [58ec77ab61] user: abouchez branch: trunk, size: 880858
2013-10-09
20:57
fixed Delphi 2007 compilation file: [ca86db39e1] check-in: [044b66d414] user: User branch: trunk, size: 879752
2013-09-11
15:13
minor documentation update file: [3293849889] check-in: [694796adbb] user: abouchez branch: trunk, size: 879742
2013-09-10
16:09
updated documentation about multi-thread performance testing file: [22d326e552] check-in: [7a7cd06932] user: abouchez branch: trunk, size: 879811
2013-09-09
07:15
fixed documentation: renamed unproper "data contract" into "service contract" file: [a2ff2155b7] check-in: [68166aaa74] user: abouchez branch: trunk, size: 873243
06:54
updated documentation: added a new FAQ section file: [d52f0a0b97] check-in: [d2f477d816] user: abouchez branch: trunk, size: 873151
2013-09-08
18:22
updated doc file: [28053a626f] check-in: [443df565f4] user: User branch: trunk, size: 871292
2013-09-04
10:59
added aUseSSL parameter to TSQLHttpServer.Create(), allowing HTTPS secure content publishing, when using the http.sys kind of server file: [81ea18b1f4] check-in: [8122a8c339] user: abouchez branch: trunk, size: 868854
2013-08-03
20:22
documentation fix file: [9d47007bf8] check-in: [aa1f324c6c] user: User branch: trunk, size: 862810
2013-07-27
18:24
documentation update file: [1d2cf14831] check-in: [a4fbf38b3f] user: User branch: trunk, size: 862745
2013-07-19
15:34
small documentation changes file: [b133b8c3c6] check-in: [73c3c1a26e] user: User branch: trunk, size: 858923
12:57
Windows Authentication can now use either NTLM or the more secure Kerberos protocol, if the corresponding SPN domain is set as password - thanks a lot CHAA for the patch and proposal! file: [6a108cda6b] check-in: [2fa720de1c] user: abouchez branch: trunk, size: 858848
2013-07-05
07:13
  • added EIndirectException for translating exceptions between contexts
  • this EIndirectException will be used to handle background exceptions for feature request [68337ae98a]
file: [eff0fdaed2] check-in: [4271734aa3] user: abouchez branch: trunk, size: 854161
2013-07-04
12:41
  • added TSQLRestClientURI.OnIdle property, to enable more responsive User Interface in case of slow network - feature request [68337ae98a]
  • added TLoginForm.OnIdleProcess and OnIdleProcessForm callback events, ready to be assigned to TSQLRestClientURI.OnIdle property
file: [3677704f5c] check-in: [d86d7dceb2] user: abouchez branch: trunk, size: 854160
2013-06-14
14:48
introducing FireDAC / AnyDAC support for mORMot, including Array DML for high-speed process file: [d98e73fe06] check-in: [f0763f38de] user: abouchez branch: trunk, size: 843534
07:46
updated documentation about performance when using customized LockingMode property file: [0184b0ed4f] check-in: [9d1ac1c56d] user: abouchez branch: trunk, size: 840641
2013-06-10
13:55
fixed documentation about i18n - ticket [f5d591812c] file: [360ca9c907] check-in: [9bccb9a92b] user: abouchez branch: trunk, size: 837067
2013-06-07
10:52
updated documentation, regarding new authentication classes, with a lot of rewrite of the security information file: [191a3e9934] check-in: [bfeee3ff12] user: ab branch: trunk, size: 837078
2013-05-24
14:34
updated documentation about REGEXP new SQLite3 operator file: [1fd7664575] check-in: [7e03c16197] user: abouchez branch: trunk, size: 828698
2013-05-21
12:22
updated documentation about using static in-memory Virtual tables from the client side file: [4c957a384f] check-in: [e7517d9658] user: abouchez branch: trunk, size: 826279
2013-05-20
18:07
updated documentation, especially about useHttpApiRegisteringURI file: [b3961726fe] check-in: [f782f5d5e8] user: ab branch: trunk, size: 822695
2013-05-15
08:27
Delphi XE4 compatibility (Windows target platform only for Win32/Win64) file: [35efe30b07] check-in: [59eb20700d] user: abouchez branch: trunk, size: 821367
2013-05-08
21:24
updated documentation file: [ca6a17a038] check-in: [e5175796f4] user: ab branch: trunk, size: 821351
2013-05-07
13:06
new TSQLRest.Service<T: IInterface> method to retrieve a service instance file: [cf7bb04b51] check-in: [783a67b6d3] user: abouchez branch: trunk, size: 818707
2013-05-03
05:51
updated SAD documentation with refreshed benchmark values file: [eb6677860b] check-in: [9654eddc8c] user: abouchez branch: trunk, size: 815997
2013-04-25
13:58
added TServiceInstanceImplementation.sicPerThread mode - feature request [cb76c866bb] file: [7baa5e53d9] check-in: [6308e26c35] user: abouchez branch: trunk, size: 815997
2013-04-15
20:56
new DateToSQL() overloaded function with direct Year/Month/Day parameters file: [5e5858e13e] check-in: [7806ffbc88] user: ab branch: trunk, size: 809937
2013-04-13
11:13
updated documentation file: [52de2c3b7d] check-in: [6c2cfd38b6] user: ab branch: trunk, size: 809375
2013-04-12
13:58
fixed typo file: [a3984045dd] check-in: [8c7d7c14d9] user: abouchez branch: trunk, size: 808669
13:55
  • added DefaultSynLogExceptionToStr() function and TSynLogExceptionToStrCustom variable, and ESynException.CustomLog() method to customize how raised exception are logged when intercepted - feature request [495720e0b9]
  • fixed .NET/CLR external exceptions logging (were not recognized)
file: [9988511219] check-in: [2e0238916f] user: abouchez branch: trunk, size: 808673
09:37
method-based services are now able to handle "304 Not Modified" optimized response to save bandwith, in TSQLRestServerCallBackParams.Returns/Results file: [056e34e75b] check-in: [96fbe48fa8] user: abouchez branch: trunk, size: 807042
2013-04-11
12:01
updated documentation file: [687b853759] check-in: [bac175885a] user: abouchez branch: trunk, size: 805996
08:25
updated documentation about ORM/SQlite3 column collations file: [5844b7d45f] check-in: [04c3138299] user: abouchez branch: trunk, size: 804751
2013-03-28
08:40
updated documentation file: [62c146804a] check-in: [0af088b1fe] user: abouchez branch: trunk, size: 801133
2013-03-27
19:06
add one cartoon to the documentation :) file: [30a689a594] check-in: [1e0f071b15] user: ab branch: trunk, size: 799960
16:29
fixed typo in the documentation file: [16573cece6] check-in: [f3a44c24b4] user: abouchez branch: trunk, size: 799905
16:19
added TSQLTable.Step(), FieldBuffer() and Field() methods, handling a cursor at TSQLTable level, with optional late-binding column access file: [2542dad784] check-in: [ca309124c2] user: abouchez branch: trunk, size: 799904
2013-03-25
19:53
updated documentation about logging rotation feature file: [2af19e9572] check-in: [53fcf87b33] user: abouchez branch: trunk, size: 798153
2013-03-23
09:28
updated documentation to link to our own 3.7.16 sqlite3-64.dll file: [ee76a28413] check-in: [fd7095b97e] user: ab branch: trunk, size: 796749
2013-03-20
06:29
updated documentation about compilation of mORMot units within packages - to avoid E2201 compiler error file: [a02b6aaa7a] check-in: [7d73b6638f] user: abouchez branch: trunk, size: 796800
2013-03-15
10:54
documentation update about used units file: [f594d9029c] check-in: [f5ebddd364] user: abouchez branch: trunk, size: 796388
08:12
updated documentation to reflect IE/FF6 browser limitation when trying to view directly published JSON content file: [12ac03c9a1] check-in: [a7f016fa6f] user: abouchez branch: trunk, size: 796165
2013-03-14
19:20
updated documentation file: [4de661a732] check-in: [049f9dddfb] user: abouchez branch: trunk, size: 795832
09:15
updated documentation to illustrate how method-based services can return any content, including binary with the expected MIME type file: [5445c62a68] check-in: [ecefb98191] user: abouchez branch: trunk, size: 795691
2013-03-10
09:38
documentation fixes file: [7bf35bedbd] check-in: [9d58967139] user: ab branch: trunk, size: 794629
2013-03-08
15:22
SAD fixes file: [d9e6d36f67] check-in: [5098552158] user: abouchez branch: trunk, size: 794649
15:14
SAD documentation changes file: [d3531db414] check-in: [0ab724587c] user: abouchez branch: trunk, size: 794673
14:03
documentation update file: [94281ba809] check-in: [b55d9d1d3b] user: abouchez branch: trunk, size: 792069
2013-03-06
07:28
updated documentation about logging features file: [168bb3cb83] check-in: [66261c9e2e] user: abouchez branch: trunk, size: 789068
2013-03-05
08:12
updated SAD information about http.sys server implementation file: [97819c5c2c] check-in: [3a7b4cd259] user: abouchez branch: trunk, size: 786430
2013-02-28
09:05
enhanced Windows 64 bit support, including regression tests - still unfixed GPF error with virtual tables in 64 bit mode :( file: [07ba9229ff] check-in: [5d1336b02f] user: abouchez branch: trunk, size: 785914
2013-02-26
17:15
Win64 low-level SQlite3 access (SynSqlite3) - expects an external sqlite3-64.dll file to be available - implements [65fe490e9d] - fix several other 64 bit static linked Sqlite3 related issues: [a710b3d298] [1ae68604f1] [fbe40ef67b] [0ce71397e4] [13e2c8576d] file: [e6c0775814] check-in: [1c023e4794] user: abouchez branch: trunk, size: 785696
10:34
finishing [65fe490e9d] implementation, including corresponding documentation file: [a390dddb90] check-in: [532ade8f30] user: abouchez branch: trunk, size: 784974
2013-02-21
16:17
documentation update file: [6c16f96bc9] check-in: [d730ae04ca] user: abouchez branch: trunk, size: 776304
2013-02-18
10:50
updated documentation about database benchmarking (and auto-generate statistic tables) - also refresh associated blog article with new table layout file: [9129776a2d] check-in: [8429315282] user: abouchez branch: trunk, size: 775044
2013-02-17
14:00
updated SAD documentation file: [889c71b252] check-in: [4c2a3fdb64] user: ab branch: trunk, size: 769605
2013-02-15
14:08
new RawJSON string type to force no JSON serialization in interface-based services (to be used e.g. for transmitting TSQLTableJSON results) file: [79e521aaf2] check-in: [eedef929c8] user: abouchez branch: trunk, size: 750434
2013-02-14
16:47
updated documentation file: [fa673bb84e] check-in: [4501bc9ffd] user: abouchez branch: trunk, size: 750226
2013-02-09
14:45
added SynDBZEOS.pas unit - to be used with Zeos 3.x version of the components file: [ec3c496ea0] check-in: [495a1363ed] user: ab branch: trunk, size: 749173
2013-02-08
18:14
introducing new SynDBBDE.pas unit file: [8d842ee17d] check-in: [c28139fbae] user: abouchez branch: trunk, size: 744618
13:09
updated documentation file: [0dc1b6ecef] check-in: [8848e431a4] user: abouchez branch: trunk, size: 745472
2013-02-03
14:23
enhanced documentation, especially about mORMot logging features file: [ebb3a50501] check-in: [ce3676c43a] user: ab branch: trunk, size: 744964
2013-02-02
19:43
TServiceFactoryServer.ExecuteInMainThread() method is now replaced by a more generic TServiceFactoryServer.SetOptions() method - SAD documentation now includes a general presentation of thread safety in interface based services file: [975ecdfe97] check-in: [37f260e4d7] user: ab branch: trunk, size: 739268
18:54
updated documentation, especially refactoring JSON serialization related content file: [b3b6e319b0] check-in: [edae410b72] user: ab branch: trunk, size: 735757
16:09
fix ticket [54af269043] about "Either this OR that" file: [49059200c4] check-in: [af87b595bf] user: ab branch: trunk, size: 732538
2013-02-01
13:03
introduced 32bit/64bit safe TSQLRecord.AsTSQLRecord property, to be used when assigning IDs to a TSQLRecord published property - also updated the corresponding documentation file: [b30ab5686c] check-in: [343160d845] user: abouchez branch: trunk, size: 732060
2013-01-19
10:51
documentation update file: [7e2b547a1a] check-in: [5939e68725] user: ab branch: trunk, size: 731171
2013-01-18
17:07
updated documentation about TObjectList serialization file: [d760155c36] check-in: [abcb8f46ea] user: abouchez branch: trunk, size: 729181
16:36
  • new TJSONSerializer.RegisterCollectionForJSON() method, to register a TCollection/TCollectionItem pair and allow JSON serialization of any "plain" collection - may be a good alternative to TInterfacedCollection
  • new overloaded ClassInstanceCreate('ClassType') function allowing to create an object instance from its type name
file: [757dd01715] check-in: [730c07e487] user: abouchez branch: trunk, size: 727290
2013-01-17
07:52
BREAKING CHANGE of TTextWriter/TJSONWriter.WriteObject() method and ObjectToJSON() function: serialization is now defined with TTextWriterWriteObjectOptions set - therefore, TJSONSerializerCustomWriter callback signature changed. file: [3931c70818] check-in: [0b7919bbdc] user: abouchez branch: trunk, size: 725561
2013-01-16
19:28
enhanced documentation about interface-based services file: [f480fc84d8] check-in: [ea38f48017] user: ab branch: trunk, size: 725577
2013-01-15
11:05
updated documentation about TInterfacedCollection.GetClass method which has been now fixed as a class function file: [0cc0ffab0a] check-in: [7bc10b3350] user: abouchez branch: trunk, size: 723689
2013-01-09
14:47
MS ribbon UI license is not needed any more file: [b89759378e] check-in: [99d11beda7] user: abouchez branch: trunk, size: 723665
2013-01-06
19:37
documentation update file: [b155501e6a] check-in: [4968e28b63] user: ab branch: trunk, size: 723657
2013-01-05
19:54
updated documentation file: [7df4d634bf] check-in: [4a7377a1a2] user: ab branch: trunk, size: 723276
2013-01-04
18:53
updated documentation about DDD file: [5b11a3f115] check-in: [ff4c50e532] user: abouchez branch: trunk, size: 721132
2013-01-02
19:02
updated documentation about FastMM4, and extracted exception interception from SAD to SDD file: [a578d1e281] check-in: [8e29e9913d] user: ab branch: trunk, size: 711075
2013-01-01
18:05
minor documentation typo fix file: [888824e8b4] check-in: [7fbd57116c] user: ab branch: trunk, size: 709129
2012-12-31
14:57
updated documentation for new year file: [93cca22417] check-in: [d219c6aa69] user: ab branch: trunk, size: 709122
2012-12-30
18:02
documentation update file: [58201a5dc8] check-in: [c2210c642d] user: ab branch: trunk, size: 708586
2012-12-16
20:47
updated framework documentation file: [71d9c0d401] check-in: [c8227e11c2] user: ab branch: trunk, size: 706067
2012-12-15
18:29
updated mORMot documentation - deep refactoring, changing general layout into smaller chapters file: [75b8b9c4e7] check-in: [311d5658d6] user: ab branch: trunk, size: 702581
2012-12-11
11:04
updated TInterfaceStub and TInterfaceMock classes implementation to allow named parameters in TOnInterfaceStubExecuteParamsVariant kind of Executes() callback - this is the new recommended implementation pattern of Executes() fluent interface; updated the documentation file: [3506a11046] check-in: [f2408976e7] user: abouchez branch: trunk, size: 699373
2012-12-10
16:18
  • added optional TextTruncateAtLength parameter for TSynLog/ISynLog.Log()
  • refactoring of the logging process in mORMot.pas
file: [03a056ef53] check-in: [d603a32c21] user: abouchez branch: trunk, size: 697886
2012-12-09
19:02
minor documentation updates file: [18b70051a2] check-in: [8b104922d0] user: ab branch: trunk, size: 697885
09:46
updated documentation file: [fbb8655fbd] check-in: [a18d210cc1] user: ab branch: trunk, size: 697291
2012-12-08
19:45
new TSQLRestServerCallBackParams.Input*[] properties, for easy URI parameter retrieval at server-side method-based service implementation - also updated documentation and associated blog article file: [1cf7e38d55] check-in: [d4b4f719de] user: ab branch: trunk, size: 696080
2012-12-07
17:08
added an alternative way of implementing callbacks, using variants, in addition to the previous (and faster) JSON array based possibility file: [242ff975f6] check-in: [b61f3fb992] user: abouchez branch: trunk, size: 693735
2012-12-06
15:41
updated documentation about source code unit file names file: [a7928eb02d] check-in: [b8e4a01246] user: abouchez branch: trunk, size: 691203
10:39
documentation update file: [4d22339606] check-in: [33d7574134] user: abouchez branch: trunk, size: 690796
2012-12-05
10:35
renamed aParams: TSQLRestServerCallBackParams into more explicit/neutral Ctxt: TSQLRestServerCallBackParams signature file: [f7311fcc50] check-in: [c1b6696521] user: abouchez branch: trunk, size: 689036
2012-12-04
17:27
  • BREAKING CHANGE in TSQLRestServerCallBackParams use: all method-based services should now be a procedure, and use aParams.Results()/Error() methods to return the content - new definition of aParams features now wfull access to incoming/outgoing context and parameters
  • TSQLRestServer.URI() method uses now one TSQLRestServerURIParams parameter
  • added TAuthSession.SentHeaders and RemoteIP properties (for HTTP)
file: [417e713731] check-in: [ace12b0996] user: abouchez branch: trunk, size: 689069
2012-12-02
18:50
enhanced variant support and documentation (e.g. in RecordLoad/RecordSave - still testing and dynamic arrays to process) file: [34caac83da] check-in: [49462603c9] user: ab branch: trunk, size: 686045
2012-11-28
13:34
all former SQLite3\SQLite3*.pas units have been renamed to SQLite3\mORMot*.pas to match the database-agnostic scheme of the mORMot framework - this is a major break change, so all your "uses" clauses in your code is to be change to follow the new naming file: [88d5e0a827] check-in: [1c6fe7a1fd] user: abouchez branch: trunk, size: 684888
2012-11-20
13:05
updated documentation about Authentication in mORMot using Windows credentials file: [72a8a644fd] check-in: [a388d079a0] user: abouchez branch: trunk, size: 685216
2012-11-05
19:42
added TInterfacedObjectWithCustomCreate kind of class, making easy to use virtual constructors for TSQLRestServer.ServiceRegister() file: [662492d132] check-in: [3383e49e4e] user: ab branch: trunk, size: 683609
2012-10-28
21:34
updated documentation file: [3d8dc68ed4] check-in: [a43a141303] user: ab branch: trunk, size: 683180
2012-10-26
10:05
updated documentation file: [6f124040ed] check-in: [a7a76f441d] user: abouchez branch: trunk, size: 681579
2012-10-22
05:55
fix documentation about "REST and JSON": authentication shall be disabled first file: [ccec6b5d30] check-in: [3773230b33] user: abouchez branch: trunk, size: 679944
2012-10-18
14:20
TSQLRestClientURINamedPipe and TSQLRestClientURIMessage are now thread-safe (i.e. protected by a system mutex) therefore can be called from a multi-threaded process, e.g. TSQLRestServer instances as proxies file: [8861ad6b01] check-in: [c0b2c719de] user: abouchez branch: trunk, size: 679410
2012-10-16
12:19
fixed unexpected issue in TSQLRestClientURI.BatchSend() when nothing is to be sent file: [c3bf2f10d3] check-in: [41a6ada266] user: abouchez branch: trunk, size: 679345
2012-10-15
12:07
documentation enhancements file: [a75cd64677] check-in: [e8cf3f4815] user: abouchez branch: trunk, size: 679164
2012-10-14
23:12
polished and completed stub / mock features - including end-user documentation file: [6fe0d8ad05] check-in: [d019c0567b] user: ab branch: trunk, size: 675498
2012-10-03
11:48
introduced more readable "stored AS_UNIQUE" published property definition in TSQLRecord (via the explicit AS_UNIQUE=false constant) - see http://blog.synopse.info/post/2012/10/03/Today-s-sugar%3A-%22stored-AS_UNIQUE%22-syntax file: [d5c2cb542c] check-in: [695567cbd1] user: abouchez branch: trunk, size: 658540
2012-09-14
07:58
updated documentation to reflect [cc9865c5b4] changes file: [122e3d0053] check-in: [1f14b8042e] user: abouchez branch: trunk, size: 657511
2012-09-03
12:33
  • added virtual TSQLRestServer.EndCurrentThread method and TSQLRestServerStaticExternal.EndCurrentThread overriden method which will be called e.g. by TSQLite3HttpServer for each terminating threads, to release any thread-specific resources (for instance, external connections external connection resource as defined by TSQLDBConnectionPropertiesThreadSafe)
  • TSQLite3HttpServer will now call virtual TSQLRestServer.EndCurrentThread method in each of its terminating threads, to release any thread-specific resources (for instance, external connections in SQlite3DB)
file: [82d7950cc2] check-in: [ba6ff51ae9] user: ab branch: trunk, size: 656947
2012-09-02
10:26
added Iso8601ToSQL() function in addition to DateToSQL() and DateTimeToSQL() file: [f0e724c0ec] check-in: [e4b19dfe78] user: ab branch: trunk, size: 656689
2012-08-31
14:48
TSQLRecord.Create/FillPrepare/CreateAndFillPrepare and TSQLRest.OneFieldValue/MultiFieldValues methods signature BREAKING CHANGE: array of const used to be ParamsSQLWhere and expecting '%' in the FormatSQLWhere statement, is now called BoundsSQLWhere, and expects bound parameters specified as '?' in the FormatSQLWhere statement - this is less confusing for new users, and more close to the usual way of preparing database queries; but your existing user code SHALL BE CHECKED and fixed file: [4325a53c26] check-in: [82b9e305dd] user: ab branch: trunk, size: 656491
2012-08-27
16:51
  • new DateToSQL() and DateTimeToSQL() functions, returning a string with a JSON_SQLDATE_MAGIC prefix and proper UTF-8 / ISO-8601 encoding to be inlined as ? bound parameter in any SQL query (allow binding of date/time parameters as request by some external database engine which does not accept ISO-8601 text in this case)
  • ExtractInlineParameters() and SQLParamContent() decode ':("\uFFF12012-05-04"):' inlined parameters (i.e. text starting with JSON_SQLDATE_MAGIC after UTF-8 encoding) as sftDateTime kind of parameter
  • inlined parameters in any SQL query will bind explicitely TDateTime values if the parameter is transmitted as DateToSQL() or DateTimeToSQL() TEXT
  • documentation update about parameter binding (and date/time handling)
file: [257fac4aa5] check-in: [eaa12aef16] user: ab branch: trunk, size: 655080
2012-08-18
06:31
updated documentation file: [7b5ef18784] check-in: [6fda439201] user: ab branch: trunk, size: 652627
2012-08-15
14:38
  • SynDB shared database specific SQL magic enhanced
  • documentation update
file: [59ae1c11b3] check-in: [9755c6341b] user: ab branch: trunk, size: 652080
08:52
updated documentation file: [b2115df07f] check-in: [ae9da45d75] user: ab branch: trunk, size: 651015
2012-08-10
14:59
updated documentation about the new ODBC direct connection access (SynDBODBC.pas unit) file: [6dbf486472] check-in: [0980301f72] user: ab branch: trunk, size: 650811
2012-08-05
20:01
documentation refresh file: [902db0bebc] check-in: [18a20f5425] user: ab branch: trunk, size: 649816
16:56
completed documentation about interface-based services, and calling context file: [6eaf39e024] check-in: [aecd1f1d2c] user: ab branch: trunk, size: 648835
2012-08-02
15:16
changed TSQLRestServerCallBackParams content to be used as a generic parameters wrapper for both method callbacks and interface-based services: now aParams.Context.ID is to be used insted of aParams.ID file: [bb4f615ed8] check-in: [be7a9520cd] user: ab branch: trunk, size: 647456
2012-07-28
20:57
updated documentation file: [8fd5de3c4c] check-in: [6bc3a55037] user: ab branch: trunk, size: 647250
18:18
added TSQLDBSQLite3Connection.Synchronous property file: [e248e06d45] check-in: [54f4e32c25] user: ab branch: trunk, size: 644685
2012-07-26
16:08
documentation update about ACID, synchronous SQlite3 setting, and speed file: [5538801692] check-in: [0f89c32976] user: ab branch: trunk, size: 644741
2012-07-25
15:51
  • added TSQLDataBase.Synchronous and TSQLDataBase.WALMode properties
  • added TSQLDataBase.ExecuteNoException() overloaded methods
file: [6e0c7acd98] check-in: [18fc67d3db] user: ab branch: trunk, size: 641124
11:53
added general benchmark code for framework ORM, and updated related documentation file: [d1e108d003] check-in: [738bedfd84] user: ab branch: trunk, size: 638812
2012-07-24
11:52
removed TSQLRecordExternal class type, to allow any TSQLRecord (e.g. TSQLRecordMany) to be used with VirtualTableExternalRegister() - there was indeed no implementation requirement to force a specific class type - and associated documentation enhancements (including BATCH array binding) file: [c69b298b9b] check-in: [3cfd0c22ad] user: ab branch: trunk, size: 634969
2012-07-17
06:57
documentation update about (zeroing) weak pointers file: [9edc673c27] check-in: [cadd06bddc] user: G018869 branch: trunk, size: 629614
2012-07-12
15:32
updated documentation about ORM features of mORmot, when compared to other implementations file: [62b65b59c2] check-in: [9675d194ab] user: G018869 branch: trunk, size: 628601
2012-07-04
08:29
Fix random issue in ServerTimeStamp kind of properties: since TTimeLog type is bit-oriented, you can't just use add or substract two TTimeLog values when doing such date/time computation: use a TDateTime temporary conversion in such case. file: [7969978d71] check-in: [75935462ce] user: G018869 branch: trunk, size: 619721
2012-06-23
07:33
  • added ReplaceRowIDWithID optional parameter to GetJSONObjectAsSQL(), in order to allow working with external DB not allowing RowID (e.g. Oracle)
  • changed column named 'RowID' into 'ID' since it is reserved e.g. in Oracle
file: [d477ec6b61] check-in: [ffe496a829] user: User branch: trunk, size: 618682
2012-06-19
13:04
documentation update, mainly about (Zeroing) Weak pointers feature file: [2474ca220f] check-in: [22f1aff22c] user: G018869 branch: trunk, size: 618669
2012-06-15
18:28
added SetWeakZero() function and TObject class helper to handle ZEROed Weak interface assignment (with small performance penalty and memory use), corresponding to the ARC's Zeroing Weak pointers model file: [37b7003b2f] check-in: [39b7de8177] user: G018869 branch: trunk, size: 608535
15:47
enhanced documentation about License statement notice file: [93ee5422cc] check-in: [8bc6fbc26d] user: G018869 branch: trunk, size: 608481
2012-06-14
17:11
  • CopyObject() procedure now handle TCollection kind of object not only as sub properties
  • introducing TInterfacedCollection dedicated class, properly handling collection item creation on the Server side, with interface-based services: all contract operations shall use it instead of TCollection
file: [533e6d7a85] check-in: [9a0b706eb9] user: G018869 branch: trunk, size: 607672
2012-06-13
12:22
updated documentation to reflect the fact that "cardinal" kind of published properties are not handled properly yet - should use Int64 instead file: [522f44a409] check-in: [6549205fc3] user: G018869 branch: trunk, size: 604166
2012-05-26
19:00
documentation fixes file: [9c9d5f7e1e] check-in: [82dc3ba8e1] user: User branch: trunk, size: 604131
11:07
updated documentation about Domain Driven Design (DDD) file: [a8619e4113] check-in: [4c76dd230c] user: User branch: trunk, size: 603967
2012-05-25
15:28
updated documentation file: [7e41745b2d] check-in: [a12e0e0576] user: G018869 branch: trunk, size: 603084
2012-05-18
15:36
refactored/updated ORM documentation about Objects relationship (i.e. cardinality) file: [9dd5dbee8e] check-in: [064dd5562c] user: G018869 branch: trunk, size: 599197
2012-05-03
15:19
updated TTextWriter.RegisterCustomJSONSerializer() method to allow JSON serialization of any record content (used by RecordLoadJSON and TTextWriter.AddRecordJSON) - with associated documentation: see http://blog.synopse.info/post/2012/05/03/Custom-JSON-serialization-of-records file: [dadae1f184] check-in: [5b3468e16c] user: G018869 branch: trunk, size: 595765
2012-04-20
17:08
added article about WCF and mORMot SOA implementations file: [deaa051036] check-in: [3870d7cf0f] user: G018869 branch: trunk, size: 591800
2012-04-19
13:37
fixed Unicode compilation error file: [891b821a0b] check-in: [61169861b7] user: G018869 branch: trunk, size: 588779
13:09
added SAD-Ajax section of documentation (introducing Smart Studio and mORMot) file: [f2e636afca] check-in: [9a049fcaa9] user: G018869 branch: trunk, size: 588691
2012-04-13
16:21
FPC compatibility enhancement file: [bf533a56fd] check-in: [ecca0393cf] user: G018869 branch: trunk, size: 574316
10:00
  • allow rest to any class or dynamic array custom JSON serialization to the default serializer (by setting nil to both Reader and Writer callbacks)
  • enhanced documentation and regression tests, about custom class JSON serialization
file: [5c3b27478a] check-in: [bea19ebde8] user: G018869 branch: trunk, size: 574094
2012-04-12
18:59
get rid of the over-complicated aEndOfObject parameter in TDynArrayJSONCustomReader callbacks file: [e5574c93a1] check-in: [d0e2d37be4] user: G018869 branch: trunk, size: 570188
18:28
updated documentation and regression tests for TDynArray custom JSON serialization file: [411dae4b83] check-in: [97bf3890a8] user: G018869 branch: trunk, size: 570289
15:26
added TTextWriter.RegisterCustomJSONSerializer() method to allow JSON serialization of any dynamic array content (used by TDynArray.LoadFromJSON and TTextWriter.AddDynArrayJSON) file: [e8de762984] check-in: [36d0fcd3c7] user: G018869 branch: trunk, size: 565735
12:43
updated documentation about the TJSONSerializer.RegisterCustomSerializer() class method file: [f2afd8c123] check-in: [1b91852ea4] user: G018869 branch: trunk, size: 563085
2012-04-04
13:59
documentation enhancement about filtering and validating records file: [9fa2cdc0ba] check-in: [6d31a4de6f] user: G018869 branch: trunk, size: 562567
2012-03-28
10:01
  • now interface based services are responding with GET commands in additional to POST verb
  • Custom returned content (i.e. TServiceCustomAnswer) is now handled as expected by the Delphi client (i.e. TServiceFactoryClient class)
file: [1d8bad8821] check-in: [52105f4ebe] user: G018869 branch: trunk, size: 561325
2012-03-21
16:21
documentation update file: [073cebd3d8] check-in: [b74c92e188] user: G018869 branch: trunk, size: 559188
11:12
updated documentation about TServiceCustomAnswer kind of answer file: [534576f85e] check-in: [bdd1fd898f] user: G018869 branch: trunk, size: 558589
2012-03-08
19:14
updated the framework documentation file: [339134094d] check-in: [42c3263b6f] user: User branch: trunk, size: 557465
08:30
  • TSQLRestServerFullMemory class now handling persistence on both JSON and binary files - also updated samples and documentation to take notivce of this new class
  • new ReadStringFromStream() and WriteStringToStream() functions in SynCommons.pas
file: [cadbfea930] check-in: [cee7c99241] user: G018869 branch: trunk, size: 556699
2012-03-07
16:28
added TSQLRestServerFullMemory class to implement a basic REST server using only in-memory tables (will only handle CRUD commands, but is enough to handle authentication with optional persistence in JSON file) - the Project14ServerInMemory.dpr sample will use such a server for instance, and will compile as a 200 KB executable, using LVCL :) file: [c047c074d6] check-in: [99af04b23f] user: G018869 branch: trunk, size: 554418
10:58
framework documentation update - corresponding to several blog posts file: [e133fe0c42] check-in: [fe293f4479] user: G018869 branch: trunk, size: 549789
2012-03-06
18:01
documentation enhancements about interface-based services implementation file: [ef6ae0d975] check-in: [70bd12cf67] user: G018869 branch: trunk, size: 540304
2012-03-05
16:19
added the new default RESTful routing for interfaced-based services (in additional JSON-RPC mode), with associated regression tests file: [2d81b5733e] check-in: [ddb7545aca] user: G018869 branch: trunk, size: 532814
2012-03-04
19:12
not working revision - quick check in only file: [23528a14c6] check-in: [81e6381544] user: User branch: trunk, size: 525167
2012-03-02
21:01
documentation updated (first part of interface-based services description) file: [7cb7fb39e4] check-in: [d85e66ef0c] user: G018869 branch: trunk, size: 524804
2012-03-01
20:20
  • new TRawUTF8ListHashed class, with extend TRawUTF8List by using an internal hash table to optimized IndexOf() method call (including case sensitivity)
  • introducing security features for our interface-based implementation: a per interface, per method, and per authentication user group security policy can be easily implemented (with associated regression tests)
file: [e275219e9e] check-in: [11e01ba7e9] user: G018869 branch: trunk, size: 509907
2012-02-29
20:54
documentation update - corresponding mostly to http://blog.synopse.info/post/2012/02/29/Delphi-and-interfaces file: [62ebc745b3] check-in: [facbe4e611] user: G018869 branch: trunk, size: 508539
2012-02-20
16:34
  • added TSQLRestCache.SetCache(aRecord: TSQLRecord) overloaded method;
  • updated documentation (general table of contents + CRUD caching)
file: [22c432ca42] check-in: [efa16a1cc7] user: G018869 branch: trunk, size: 498629
13:37
reintroduce TSQLDataBaseSQLFunction.Create() constructor, and added some TSQLDataBase.RegisterSQLFunction() overloaded methods - also updated/completed associated documentation file: [8f5623ab45] check-in: [1d37480166] user: G018869 branch: trunk, size: 496058
2012-02-18
09:05
  • updated mORMot documentation
  • change main editor font to 'Consolas' (if available), and with word wrap
file: [2fc8ab0099] check-in: [5e993789ef] user: User branch: trunk, size: 491430
2012-02-17
18:09
  • optimized CRUD/ORM level Client and Server caching
  • updated corresponding documentation
  • added some dedicated regression tests
file: [1a81915c66] check-in: [fc9d3e757f] user: G018869 branch: trunk, size: 491524
2012-02-14
16:18
documentation update about caching mechanisms implemented within the framework file: [573435f9f7] check-in: [40db4c74b0] user: G018869 branch: trunk, size: 486089
2012-02-07
07:49
updated documentation about new Service callbacks signature file: [0a5758e1db] check-in: [2317e013f4] user: G018869 branch: trunk, size: 480427
2012-01-11
12:49
  • fixed issue TSynTableStatement when only one column was retrieved
  • fix issue about transactions not working with TSQLRestServerStaticInMemory
  • fixed issue in TSQLRestServerStaticInMemory on SELECT with only one column
  • now TSQLRestClientURI.BatchUpdate() will set only ID, TModTime and mapped fields when called over a TSQLRecord on which a FillPrepare() was made (and no FillClose was performed)
file: [cffb475cb9] check-in: [ad3e9c502e] user: G018869 branch: trunk, size: 480360
2012-01-04
17:08
now nested TCollection and TStringList/TRawUTF8List objects are transmitted as true JSON arrays or objects for adding (POST) and update (PUT) - this will save bandwidth and increase compatibility with AJAX clients (they were formerly transmitted as JSON strings) - note that retrieval (GET) is not yet implemented, since it is faster to transmit directly the TEXT value as stored within the database file: [c68722c498] check-in: [f87450236e] user: G018869 branch: trunk, size: 479313
2011-12-11
10:25
small doc change file: [d21a700ca4] check-in: [f142dc9b6f] user: ab branch: trunk, size: 478792
2011-12-07
12:30
some minor code refactoring file: [bcaecd4855] check-in: [0850e51412] user: G018869 branch: trunk, size: 478418
08:40
updated documentation about TSQLRecorD.FillPrepareMany method file: [5e2b26d48e] check-in: [3a12dd08f5] user: G018869 branch: trunk, size: 478418
2011-11-30
13:39
  • modified TDynArray.SaveToStream/LoadFromStream to read or save the data from the current stream position
  • TDynArray.SaveToStream() method can now save to any TStream class
file: [0be5018044] check-in: [f00ac8f58c] user: G018869 branch: trunk, size: 473568
2011-11-24
15:35
updated documentation about general OOP programming (SOLID principles) file: [354e66195d] check-in: [446d7a3188] user: G018869 branch: trunk, size: 473563
2011-11-11
13:52
  • TSQLRestClient.List and ListFmt methods now use TSQLRecordClass open array instead of TClass (for consistency)
  • new global RecordClassesToClasses() wrapper function to convert an array of TSQLRecordClass into the expected array of TClass
  • now TSQLRestServer.Auth service returns true JSON response as specified by its content type (for better AJAX compatibility)
file: [b8c3f87644] check-in: [5674fa9903] user: G018869 branch: trunk, size: 459999
2011-11-09
16:09
fixed typo file: [4e22f10465] check-in: [1a4d8a0cee] user: G018869 branch: trunk, size: 458944
08:25
documentation update about currency handling file: [8dd9fbbbc9] check-in: [e9d0caed14] user: G018869 branch: trunk, size: 458868
2011-09-25
08:39
updated documentation file: [8f71d7ba2b] check-in: [967014c6b8] user: ab branch: trunk, size: 454319
2011-09-17
09:43
fix small issue in testing procedure which made tests fail on high-end computers file: [cebd2b87a3] check-in: [f2dc8c2c99] user: ab branch: trunk, size: 452586
2011-09-14
16:46
documentation and main demo updated about i18n and L10n file: [91c8fc62fe] check-in: [ffa47fc268] user: G018869 branch: trunk, size: 452428
2011-09-13
15:21
updated documentation about TCreateTime new field type file: [50f9d12412] check-in: [b24dff5f9b] user: G018869 branch: trunk, size: 443625
2011-08-20
08:59
enhanced log viewer (and documentation) file: [1675efd7d8] check-in: [ed22240c3d] user: ab branch: trunk, size: 442614
2011-08-19
14:47
tuning and fixing logging implementation of the framework file: [ecb080773e] check-in: [d3916ef410] user: G018869 branch: trunk, size: 437625
2011-08-12
15:06
updated documentation with new logging events file: [65108829ee] check-in: [c2925fd80e] user: G018869 branch: trunk, size: 435023
2011-08-10
20:47
adult only removed :) file: [8417447d08] check-in: [358d6abecf] user: ab branch: trunk, size: 434995
18:40
documentation refresh before publication file: [352126f6e7] check-in: [82c790f5fa] user: ab branch: trunk, size: 434999
16:08
documentation enhancements file: [a21b50b5d9] check-in: [306ce29c98] user: G018869 branch: trunk, size: 434971
2011-08-09
18:20
  • new FormatUTF8() overloaded function, handling both '%' and '?' parameters (inserting '?' as inlined :(...): parameters, with proper string quote) - with associated regression tests
  • new TSQLRecord.Create, TSQLRecord.FillPrepare, TSQLRecord.CreateAndFillPrepare, TSQLRest.OneFieldValue, TSQLRest.MultiFieldValues, TSQLRestClient.EngineExecuteFmt and TSQLRestClient.ListFmt overloaded methods, accepting both '%' and '?' characters in the SQL WHERE format text, inlining '?' parameters with :(...): and auto-quoting strings
file: [2532b1f242] check-in: [09e8f38051] user: G018869 branch: trunk, size: 427319
2011-08-08
14:45
updated documentation file: [dafffd9085] check-in: [5250a35313] user: G018869 branch: trunk, size: 423775
2011-08-07
17:10
fix error in a diagram file: [270bd16637] check-in: [bb695a227a] user: ab branch: trunk, size: 423189
08:21
always making it better file: [38c2e0a784] check-in: [6335031999] user: ab branch: trunk, size: 423186
08:03
doc updated file: [2444879628] check-in: [14235b81f5] user: ab branch: trunk, size: 422914
2011-08-06
10:28
small fix file: [c721e91c75] check-in: [b9072979fb] user: ab branch: trunk, size: 422610
10:21
documentation update (new diagrams available) file: [2c9dcac8a2] check-in: [057473e3d8] user: ab branch: trunk, size: 422616
2011-08-05
16:42
huge documentation enhancements, mostly about SynDB external database handling file: [687d310b76] check-in: [6d26b53377] user: G018869 branch: trunk, size: 411441
2011-07-29
10:31
  • HeaderWithLogo option can be set globaly also for all documents in the [Project] section,
  • the same for the NoHeaderBorder= setting
  • more modern table layout, with no vertical lines, and doubled first row
file: [70df3c5fd6] check-in: [cf9b100078] user: G018869 branch: trunk, size: 367973
2011-07-22
09:40
new SynSQLite3 unit extracting the SQLite3 wrapper from the previous SQLite3 unit: this unit can therefore be used with our SynDB classes, without our mORMot overhead (and features) file: [7d25d1b353] check-in: [75b5b81a88] user: G018869 branch: trunk, size: 367857
2011-07-15
13:23
  • the shared fTempMemoryStream is not available any more (not thread-safe)
  • new TSQLRest.AcquireWrite/ReleaseWrite protected methods, used by TSQLRestServer.URI to safely write to the DB (e.g. for POST/PUT/DELETE...) with TSQLRest.AcquireWriteTimeOut, both thread-safe and transaction-safe
  • TSQLRest.TransactionBegin / Commit / RollBack methods now expect a SessionID parameter in order to allow safe concurent access: writing to the database is queued within a single client session
  • fixed issue with TAuthSession.IDCardinal=0 after 76 connections
  • updated documentation
file: [89258ac28d] check-in: [a63549f986] user: G018869 branch: trunk, size: 367857
2011-07-12
12:42
documentation completion file: [8cb6709a2c] check-in: [a437bc3356] user: G018869 branch: trunk, size: 362693
12:29
Thread-safety enhancements:
  • TSQLRestServerStaticInMemory now uses a per-Table Critical Section to have its EngineList, EngineRetrieve, EngineAdd, EngineUpdate, EngineDelete, EngineRetrieveBlob, EngineUpdateBlob methods begin thread-safe
  • enhanced TSQLRestServer.URI thread-safety (e.g. Sessions access)
file: [1c87c54065] check-in: [dce5d3a664] user: G018869 branch: trunk, size: 362150
2011-07-04
15:52
added FieldCount and Fields property to our TQuery wrapper file: [87372afc2a] check-in: [fb412de047] user: G018869 branch: trunk, size: 359962
2011-07-03
18:27
updated documentation about "sharding" - see http://blog.synopse.info/post/2011/07/03/Sharde-nothing-architecture file: [2caa820bb6] check-in: [1733a65d32] user: ab branch: trunk, size: 359960
2011-06-28
13:47
updated documentation file: [ea4d8a1737] check-in: [632e59e7fc] user: G018869 branch: trunk, size: 357859
2011-06-17
14:23
  • fixed issues in SQLite3UIEdit
  • several small compilation or documentation fixes
file: [e8cf02af1e] check-in: [bdf1f00225] user: ab branch: trunk, size: 357859
2011-06-16
07:19
documentation enhancement file: [11daa3d226] check-in: [b2fa02046a] user: ab branch: trunk, size: 357766
2011-06-15
11:49
compilation fix for SQLite3UIEdit version 1.14 file: [ae40d1226e] check-in: [b4c00d1253] user: ab branch: trunk, size: 356698
05:30
new SetCMYKFillColor and SetCMYKStrokeColor methods for TPdfCanvas file: [dc0bfcb7f1] check-in: [bc176b49b7] user: ab branch: trunk, size: 356246
2011-06-08
15:24
fixed small typo file: [33c60d12d9] check-in: [1d07de30ab] user: ab branch: trunk, size: 352877
13:04
  • generic Delphi 5 solution of exception interception
  • documentation enhancement
file: [9ba7a413ab] check-in: [154f9f7f11] user: ab branch: trunk, size: 352881
2011-06-03
15:55
  • updated documentation
  • fix '<' character HTML export in SynProject
file: [e887e0c41a] check-in: [85e0d42d7a] user: ab branch: trunk, size: 341375
10:02
  • SynMemoEx as used in SynProject editor: in case of menu from keyboard -> show popupmenu at caret position
  • documentation enhancement
file: [55cad95623] check-in: [00efcda2c6] user: ab branch: trunk, size: 340339
2011-06-01
16:01
deep rewrite of SynProject document generation core: could serve other backends than rtf/word file: [40ae4eb6d1] check-in: [a89741abd1] user: ab branch: trunk, size: 334941
2011-05-31
15:52
  • enhanced documentation
  • LoggingTest for Delphi 5
file: [fa169e7614] check-in: [b7563edfae] user: ab branch: trunk, size: 334871
2011-05-29
15:23
new OnAuthentificationFailed method to let the Client ask for a refreshed user name and password file: [2da43eb0f1] check-in: [c30985b26a] user: ab branch: trunk, size: 333513
2011-05-27
15:42
new right-click popup menu accessible for editor, with fast access to all tool functions file: [7092c04a31] check-in: [d97807044c] user: ab branch: trunk, size: 332963
2011-05-26
09:59
  • BigTable: fixed potential issue when compiled with THREADSAFE
  • enhanced documentation
file: [a48e13a0ef] check-in: [c83b1d9aa5] user: ab branch: trunk, size: 332560
09:03
new aCustomFieldsCSV parameter for FillPrepare / CreateAndFillPrepare methods of TSQLRecord, to retrieve only neeeded fields: be aware that not specified fields will be left untouched, so a later Update() call may corrupt the row data - this optional parameter is about to save bandwidth when retrieving records field in a loop file: [6ff1469da2] check-in: [d36871c73a] user: ab branch: trunk, size: 331920
2011-05-25
17:41
documentation update (for generation as sampledoc.zip) file: [d5b14b1795] check-in: [553dc78cb5] user: ab branch: trunk, size: 331478
15:31
documentation enhanced file: [827d869d04] check-in: [29abbcd43c] user: ab branch: trunk, size: 330864
14:21
  • added property CommitShouldNotUpdateFile to TSQLRestServerStaticInMemory to have pure in-memory virtual tables (i.e. COMMIT won't write anything)
  • now deletes outdated per-user sessions
  • custom SQL functions now working as exepected via high-level method TSQLDataBase.RegisterSQLFunction and TSQLDataBaseSQLFunction class
  • updated framework documentation
file: [408e3c56a2] check-in: [4f012f51f8] user: ab branch: trunk, size: 327474
2011-05-23
16:08
session and uri authentication implemented - also associated documentation file: [cb2a022703] check-in: [dc06f54458] user: ab branch: trunk, size: 313060
2011-05-22
18:08
In-memory virtual tables are now written on disk by default. For instance, COMMIT will call the UpdateToFile method. file: [5029f0e20f] check-in: [28baa05792] user: ab branch: trunk, size: 309340
2011-05-20
17:19
introducing framework security and authentication file: [32e4735529] check-in: [a08c2c046a] user: ab branch: trunk, size: 309205
2011-05-16
08:04
Explicitly enhance SOA orientation of the framework file: [d136103a24] check-in: [fa656104ad] user: ab branch: trunk, size: 300674
2011-05-14
09:07
  • changed the way Virtual Table modules are associated to TSQLRecordVirtual - not by the class name any more
  • documentation update
file: [d05f8a3b06] check-in: [7a9cdb7bc4] user: ab branch: trunk, size: 296473
2011-05-13
14:51
  • updated and tested Virtual Tables implementation
  • enhanced framework documentation to introduce Virtual Tables + some fixes
  • see e.g. TSQLVirtualTableLog and TSQLVirtualTableCursorLog and associated documentation for details and sample code
file: [26e71ea444] check-in: [1f7fd32764] user: ab branch: trunk, size: 295546
2011-05-10
11:40
updated the documentation in order to be more clear about using transactions in the framework file: [1828f86e3b] check-in: [c50e494a5b] user: ab branch: trunk, size: 271575
2011-05-05
17:18
first introduction of virtual table Delphi implementation, via TSQLVirtualTableModule/TSQLVirtualTable/TSQLVirtualTableCursor classes and corresponding low-level functions and structures file: [142cebfde6] check-in: [c682fcacab] user: ab branch: trunk, size: 270603
2011-05-03
15:01
new IntegerDynArrayContains(), RawUTF8DynArrayContainsCase/NoCase() and Byte/Word/Cardinal/Int64/CurrencyDynArrayContains(BlobField,I64) SQL functions, able to fast search data within T*DynArray and TRawUTF8DynArray published properties BLOB (Currency mapped as PInt64) file: [c852089086] check-in: [5c376ea962] user: ab branch: trunk, size: 270541
2011-04-30
11:47
enhanced keyword indexes file: [d00d5b97b9] check-in: [9bc4ebea3e] user: ab branch: trunk, size: 265618
2011-04-28
14:46
  • new NoConfidential global option in [Project]
  • now handle '\Index KeyWord 1,KeyWord 2' line or @*keyword@ inlined text, to be processed by DocumentIndex=...,Index
  • framework documentation now includes an Index of keywords, marked as @*keyword@ in the .pro file content
file: [ca63305bd8] check-in: [a2f09d055b] user: ab branch: trunk, size: 265304
2011-04-27
14:28
introducing TSQLRecordRTree to implement R-Tree virtual tables - and new TSQLRecordVirtual parent table for all virtual tables including TSQLRecordFTS* file: [8c90fa1f7c] check-in: [736af989cf] user: ab branch: trunk, size: 255216
2011-04-26
15:17
  • added regression tests for sftObject kind of properties
  • fixed some issues in handling sftObject kind of properties
  • written associated documentation for TRawUTF8List/TPersistent/TCollection properties in TSQLRecord
file: [743dbdf66c] check-in: [09caae83f0] user: ab branch: trunk, size: 244513
2011-04-22
15:51
ORM now handle TPersistent, TStrings, TCollection and TRawUTF8List as published properties (stored as TEXT in ObjectToJSON format) file: [fba1e7e72a] check-in: [84edebde5b] user: ab branch: trunk, size: 239186
2011-04-21
15:41
documentation update file: [343511e0ec] check-in: [31d15a6f17] user: ab branch: trunk, size: 237891
2011-04-19
15:58
added BATCH sequences for adding/updating/deleting records in documentation file: [40e06171a2] check-in: [8d4a17e91b] user: ab branch: trunk, size: 220738
14:38
  • enhanced documentation and SynFile main sample program, mainly about Report generation
  • GetMimeContentType() function has now an optional FileName parameter
  • TTextWriter.Add(Format..) has now a JSONEscape: boolean=false parameter (used e.g. during logging to keep text on the same line)
  • ExtractAllResources function now handled parent properties
  • new DrawTextU/DrawTextAcrossColsFromCSV methods for TGDIPages
file: [167921c7a2] check-in: [39d1c320fd] user: ab branch: trunk, size: 215524
09:46
documentation update file: [5a87d250fe] check-in: [564b858a28] user: ab branch: trunk, size: 206507
2011-04-15
13:55
updated documentation file: [aba160e350] check-in: [c3d5d774ce] user: ab branch: trunk, size: 180097
2011-03-21
18:42
documentation update file: [3fb9dfa2f5] check-in: [695668b7d0] user: ab branch: trunk, size: 176489
2011-03-18
17:07
updated framework documentation and main sample source code (now described in the SAD document) file: [96cca68dd8] check-in: [2935e72846] user: ab branch: trunk, size: 175993
2011-03-17
16:41
updated framework documentation file: [8f737fe8fb] check-in: [1ad20a1648] user: ab branch: trunk, size: 159504
2011-02-16
14:26
udpated SQLite3 documentation file: [a3502af095] check-in: [1bb722bfc3] user: ab branch: trunk, size: 122725
2011-02-13
19:55
updated documentation file: [57ec3c8be0] check-in: [1216d9d159] user: ab branch: trunk, size: 99261
2010-12-16
17:58
  • fixed sqlite3_result_text() implementation
  • added sqlite3_aggregate_context() and sqlite3InternalFree() functions
  • new CONCAT() function available in SQL statements to process fast string concatenation
  • now handle automaticaly prepared SQL statements: the parameters must be surrounded with :(...): in order to use an internal pool of prepared TSQLRequest; example of possible inlined values are :(1234): :(12.34): :(12E-34): :("text"): or :('text'): (with double quoting inside the text, just like any SQL statement)
file: [be2fd5b5a9] check-in: [6a8c47527d] user: G018869 branch: trunk, size: 97470
2010-07-15
16:58
Synopse SQLite3 Framework.pro updated file: [634cf3e874] check-in: [1a320bea61] user: ab branch: trunk, size: 88809
2010-07-12
18:44
Synopse SQLite3 Framework documentation source files (e.g. .pro) included in the SQLite3/Documentation sub directory file: [baec7001c5] check-in: [6a8abda7db] user: ab branch: trunk, size: 69792 Added