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

2017-04-22
14:30
[a922d17542] part of check-in [355bc8d36d] {3628} preliminary support of cardinal type for ORM published properties (user: ab branch: trunk)
2017-03-27
16:15
[3f8dfc7fb7] part of check-in [288dc03168] {3549} fixed ArticleView.html to enable comments addition (user: ab branch: trunk)
12:22
[2a36572e08] part of check-in [14beddc6c8] {3545} updated documentation and enhanced tests about TJSONSerializer.RegisterCustomSerializerFieldNames (user: ab branch: trunk)
2017-03-25
08:25
[8ef0edb5fa] part of check-in [bafe7d6b2c] {3542} updated documentation (user: ab branch: trunk)
2017-03-20
11:57
[295fc94f85] part of check-in [11885e2abf] {3525} slightly hardened ECCAuthorize() function (user: ab branch: trunk)
2017-03-18
17:06
[e0429b960b] part of check-in [3d5d10db28] {3523} updated documentation about Application Locking and the ECCAuthorize() function (user: ab branch: trunk)
2017-02-20
08:22
[c578ed0035] part of check-in [cb41eada97] {3419} enhanced documentation details about JSON serialization (user: ab branch: trunk)
2017-01-15
18:33
[a0f5f6b830] part of check-in [1fc6109dbc] {3322} updated documentation mainly about TDateTimeMS (user: ab branch: trunk)
2017-01-14
14:35
[7316bea2a9] part of check-in [fcde2db5ac] {3318} TUnixTime published property ORM/ODM support and associated documentation (user: ab branch: trunk)
2017-01-13
16:40
[55484b5a80] part of check-in [5c4e70533f] {3314} regenerated documentation (user: ab branch: trunk)
2016-12-21
14:45
[57fb0b3945] part of check-in [8ea0757cf1] {3274} ObjectToJSONDebug/woStorePointer will write .map/.mab source code line number for ESynException as "Address" field (user: ab branch: trunk)
10:32
[b6efe21e63] part of check-in [367884bde1] {3269} udpated documentation (user: ab branch: trunk)
2016-12-19
20:31
[fd88ad3935] part of check-in [c220fb6552] {3257} enhanced documentation about JWT (user: ab branch: trunk)
2016-12-10
11:50
[616b3abe7f] part of check-in [1088fc22a5] {3237} updated framework documentation (user: ab branch: trunk)
2016-11-24
14:46
[4d0ac34d65] part of check-in [17efb8078e] {3191} small documentation fix (user: ab branch: trunk)
2016-11-10
17:54
[bad79aef6e] part of check-in [5f8f9d507a] {3178} documentation update (user: ab branch: trunk)
2016-10-31
11:49
[09c1499758] part of check-in [a68c1a4427] {3158} documentation fix (user: ab branch: trunk)
2016-10-21
16:46
[1688267c62] part of check-in [eaf4dfe32f] {3130} updated documentation mainly about dvoAllowDoubleValue TDocVariantData serialization option (user: ab branch: trunk)
2016-10-18
12:06
[3bbbaed806] part of check-in [5063dca2e0] {3113} udpdated documentation, about ECC "cheat mode" (user: ab branch: trunk)
2016-10-16
18:41
[fbfa577b40] part of check-in [a20d201ec7] {3100} new TECDHEProtocol.FromKey and FromKeySetCA methods to initialize an ECDHE secure protocol from a single text information (user: ab branch: trunk)
2016-10-14
10:03
[6f588ac70b] part of check-in [df04833b6f] {3091} fixed and enhanced TAESCFBCRC and TAESOFBCRC implementation (user: ab branch: trunk)
2016-10-10
11:50
[9cc713fcbb] part of check-in [c61cd048a3] {3073} new TECDHEProtocol class - next step is fix and publish the associated regression tests (user: ab branch: trunk)
2016-10-09
19:45
[6912ed67a9] part of check-in [dbf3d09083] {3070} new TECDHEClient and TECDHEServer classes to implement ECDHE safe client/server communication protocol - not tested nor published yet (user: ab branch: trunk)
2016-10-01
15:38
[6d32534045] part of check-in [48fca4fc4f] {3026} fixed Delphi 2010+ regression introduced by [31c0f0b0845fcf] (user: ab branch: trunk)
2016-09-27
19:00
[0d4d0d4016] part of check-in [6efa5859f7] {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 (user: ab branch: trunk)
15:10
[d98c6d7e32] part of check-in [a26a61b7c7] {3015} prepare a draft protocol documentation of upcoming ECDHE implementation in SynEcc (user: ab branch: trunk)
2016-09-26
07:08
[089ac0e739] part of check-in [58b12ceb47] {3007} fixed
 generation in SynProject HTML export
(user: ab branch: trunk)
2016-09-25
18:22
[e99250978d] part of check-in [b8db8dc55a] {3006} updated the documentation about reasons why we implemented SynEcc from scratch (user: ab branch: trunk)
2016-09-24
17:55
[d246731d4f] part of check-in [76d7446ed1] {3001} new SynECC encryption chapter in the framework documentation (user: ab branch: trunk)
2016-09-04
14:34
[8d8fb65216] part of check-in [4116c1bfc2] {2924} updated documentation (user: ab branch: trunk)
2016-08-18
10:33
[0b18a6c55f] part of check-in [d390c354c7] {2878} small documentation fixes (user: ab branch: trunk)
2016-08-17
13:08
[eb6aaaf426] part of check-in [9b4cd9ad57] {2873} documentation update including SynEcc integration (user: ab branch: trunk)
2016-07-27
14:48
[8f7116b9fd] part of check-in [6064a072aa] {2804} BREAKING CHANGE: renamed all HTML_* constants as HTTP_* - since those return codes are HTTP-related, not HTML-related (user: ab branch: trunk)
2016-07-10
11:50
[bc88e15279] part of check-in [a706159e3a] {2776} small documentation fixes (user: ab branch: trunk)
2016-06-19
13:22
[e0bc69a0f2] part of check-in [d5d43b3811] {2757} updated/fixed documentation (user: ab branch: trunk)
2016-05-28
10:38
[616d2495ba] part of check-in [c21c3fcf07] {2694} enhanced CpuFeatures set and introducing ToText() overloaded function (user: ab branch: trunk)
2016-05-27
12:33
[7cb23ab932] part of check-in [118ac5df33] {2693} refactoring of Nullable*Null values - no functional change - also fixed associated documentation (user: ab branch: trunk)
2016-04-22
09:22
[d10a003fbb] part of check-in [a3a100fc73] {2590} official support of Delphi 10.1 Berlin - any feedback is welcome! (user: ab branch: trunk)
2016-04-20
07:11
[067cc1695e] part of check-in [51102fc37e] {2585} enhanced documentation about TSynFilter to explicitly state that it would transform the fields input according to some rules (user: ab branch: trunk)
2016-04-12
07:20
[23a721bc20] part of check-in [69e7a71838] {2539} fixed typo (user: ab branch: trunk)
2016-03-23
07:09
[da80f22b3c] part of check-in [9e0993364b] {2470} fixed typo in documentation (user: ab branch: trunk)
2016-02-11
19:09
[dffa7f8511] part of check-in [54af53f3b1] {2388} ensure TDDDAppSettingsStorageAbstract would accept unknown properties in incoming .settings file (which happen usually in case of class type evolution) (user: ab branch: trunk)
12:19
[3f4308c887] part of check-in [6c7ea0c9d2] {2382} updated documentation mainly about TSQLRestClientRedirect class (user: ab branch: trunk)
2016-01-21
15:37
[904831d4b3] part of check-in [75109b17be] {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 (user: ab branch: trunk)
2016-01-13
18:15
[e8db90d07b] part of check-in [e3848c4a9d] {2257} updated documentation about how to use properly the ISQLDBRows interface (user: ab branch: trunk)
2016-01-10
19:35
[4a069bdb04] part of check-in [2451afeed5] {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 (user: ab branch: trunk)
2016-01-09
18:38
[6c9ca109cd] part of check-in [4553f15e25] {2237} added IAutoLocker.Safe property (user: ab branch: trunk)
16:13
[3e48e664e2] part of check-in [9af2484b69] {2236} updated documentation, mainly about TSynLocker abilities (user: ab branch: trunk)
2015-12-24
16:55
[3a709b6e32] part of check-in [b968d8740e] {2218} updated documentation, about MongoDB authentication (user: ab branch: trunk)
15:11
[406f34fee7] part of check-in [fed52cd6ec] {2217} updated documentation (user: ab branch: trunk)
2015-12-11
20:38
[e631e257a4] part of check-in [5a18eb4c47] {2155} enhanced documentation about automated Services Audit-Trail (user: ab branch: trunk)
2015-11-22
14:41
[6c5df09de4] part of check-in [80f2f8aea3] {2090} fixed two typos in the doc (user: ab branch: trunk)
2015-11-19
17:14
[69d27bd2d3] part of check-in [81c335d731] {2077} updated documentation, mainly about new Informix support (user: ab branch: trunk)
2015-11-18
19:39
[dcb7abfd01] part of check-in [78beca1bc6] {2071} several low-level performance optimizations (user: ab branch: trunk)
2015-11-17
20:13
[18857b57a6] part of check-in [5368eaec47] {2070} documentation enhancements, especially about interface-based services callbacks (user: ab branch: trunk)
2015-10-21
10:15
[30a5190681] part of check-in [8ae0201c77] {2008} updated documentation about licensing: use of "FPC modified LGPL" (user: ab branch: trunk)
2015-10-16
08:09
[355a31d08b] part of check-in [885dcbab80] {2003} updated documentation, mainly about SynDBOracle advanced use (user: ab branch: trunk)
2015-09-30
18:48
[6c4ae98957] part of check-in [18ea20e98e] {1936} SQLite3 collation changes - Variant fields would use BINARY default collation - SetCustomCollationForAllRawUTF8() method enhanced as SetCustomCollationForAll() with a specific type (user: ab branch: trunk)
2015-09-25
13:23
[13ae2406c7] part of check-in [a05845bd7a] {1920} updated framework documentation about TNullable* types (user: ab branch: trunk)
2015-09-08
08:27
[f3c04beb19] part of check-in [2fe77775c1] {1857} refreshed documentation for explicit support of Delphi 10 Seattle (user: ab branch: trunk)
2015-08-27
14:04
[087d306aa8] part of check-in [267f83567e] {1837} reverted to default compression hcSynzip, which seems in fact a good compromise before compression rate and CPU use (user: ab branch: trunk)
09:29
[99f7dc87dc] part of check-in [4fafcc6d2c] {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 (user: ab branch: trunk)
2015-08-19
11:53
[f8b9f0279e] part of check-in [4324d186e7] {1810} refined documentation about BATCH process and BLOB fields (user: ab branch: trunk)
2015-08-02
14:51
[63b2565ced] part of check-in [107b84ebde] {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") (user: ab branch: trunk)
2015-07-22
10:14
[0f3f4dfd5d] part of check-in [97e107a990] {1678} introducing TServiceFactoryClient.ParamsAsJSONObject property (user: ab branch: trunk)
2015-06-30
21:49
[af886e870e] part of check-in [c6dad25635] {1585} introducing variable count of parameters for MVC Web (user: ab branch: trunk)
2015-06-29
11:25
[0bdba4acac] part of check-in [7e8482bd4d] {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
(user: ab branch: trunk)
2015-06-22
15:27
[de51c47685] part of check-in [a0ce727a5a] {1528} introducing JsonGet() and JsonHas() SQL functions for fast JOSN process within the SQLite3 engine itself (user: ab branch: trunk)
2015-06-18
09:01
[2ecd2490bf] part of check-in [52d1431dd7] {1495} updated the documentation about CQRS services client/server definition (user: ab branch: trunk)
2015-06-17
06:51
[3bb021b68f] part of check-in [e2150f6528] {1486} introducing TSynDBDataSet.IgnoreColumnDataSize property and optional IgnoreColumnDataSize parameter to TSQLDBProxyStatementRandomAccess.Create (user: ab branch: trunk)
2015-06-12
16:16
[a34500d427] part of check-in [2d45daba58] {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
(user: ab branch: trunk)
2015-06-09
07:22
[3d4747a3c9] part of check-in [c4fba61075] {1448} enhanced documentation and samples about callback notifications via WebSockets (user: ab branch: trunk)
2015-06-02
13:52
[292deefc74] part of check-in [554989ff86] {1432} comments and documentation updates (no functional change) (user: ab branch: trunk)
2015-06-01
11:47
[7f9c7cc2db] part of check-in [fff78b68b4] {1424} fixed ticket [5a8ec14e25] about potential GPF in TSQLTable.DeleteColumnValues (user: ab branch: trunk)
11:20
[293bfd1edb] part of check-in [f0e923e6fa] {1423} updated documentation, mostly about DDD Event Sourcing (user: ab branch: trunk)
2015-05-21
10:35
[d35decf47b] part of check-in [cd20687e28] {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 (user: ab branch: trunk)
2015-05-18
14:05
[463511a8f2] part of check-in [44ea6f239d] {1370} renamed ICQRSQuery as more explicit ICQRSService and TCQRSQueryObject as TCQRSService (user: ab branch: trunk)
10:13
[333fc769b0] part of check-in [b39de89678] {1369} documentation fixes and updates, mainly about DDD's CQRS implementation (user: ab branch: trunk)
2015-05-17
18:36
[bafd8401d0] part of check-in [331baeb537] {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 (user: ab branch: trunk)
2015-05-14
12:38
[9b22fb4e11] part of check-in [e284039135] {1354} introduced TSynLog.NotifyThreadEnded() method so that thread numbers and resources would be re-used during logging - included test sample with 600 created threads (user: ab branch: trunk)
2015-05-09
15:49
[8c22392048] part of check-in [d71cd0052e] {1317} updated SQLite3 engine to latest 3.8.10.1 revision (user: ab branch: trunk)
2015-05-08
11:47
[f4b7d74829] part of check-in [e8d17fa35a] {1312} added RawByteString explicit support for SOA interface-based services parameters - content will be transmitted as base64-encoded JSON text (user: ab branch: trunk)
2015-05-04
13:01
[68d2946958] part of check-in [4c8b66d311] {1295} small typo fixes to the documentation (user: ab branch: trunk)
2015-05-03
17:19
[7d00fc312e] part of check-in [05efee2cab] {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 (user: ab branch: trunk)
16:49
[218c0f56a0] part of check-in [08ed312d34] {1290} updated the documentation, mainly about SOLID and IoC (user: ab branch: trunk)
2015-04-28
13:24
[8b4377fe2b] part of check-in [46df876f20] {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) (user: ab branch: trunk)
2015-04-12
20:38
[bc94cd4bea] part of check-in [166f6f2ffc] {1220} updated documentation (user: ab branch: trunk)
14:08
[2f49e2ff79] part of check-in [a8af14e0d7] {1217} updated documentation about error handling via SOA, trying to replace exceptions by proper DTOs (user: ab branch: trunk)
10:47
[dec79b0860] part of check-in [1a590a9b6b] {1216} updated comments and documentation about Delphi XE8 support (which was effective since weeks, but not yet advertised) (user: ab branch: trunk)
2015-04-10
16:21
[931d45bb45] part of check-in [914153c465] {1210} documentation update, mainly about DDD principles (user: ab branch: trunk)
2015-04-07
13:47
[6d72cf2e5e] part of check-in [288929305e] {1205} added some diagrams to the documentation (user: ab branch: trunk)
2015-04-06
19:51
[4507dcf7fc] part of check-in [f4c34b7f3b] {1204} documentation update, introducing Real-Time ORM replication, and asynchronous callbacks (user: ab branch: trunk)
2015-04-05
15:17
[0a375fcbe5] part of check-in [798505de48] {1197} small documentation update, to reflect [a33c699430c7904] change (user: ab branch: trunk)
2015-04-04
11:32
[5568ee87de] part of check-in [60d0cdc3c5] {1195} documentation update (user: ab branch: trunk)
2015-04-01
08:22
[55d89d5705] part of check-in [219cce8d59] {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 (user: ab branch: trunk)
07:43
[e73b589d75] part of check-in [15b9e23e32] {1171} udpated documentation, introducing new diagrams for master/slave ORM replication (user: ab branch: trunk)
2015-03-31
21:00
[a352ad1752] part of check-in [f171c96539] {1169} documentation update (user: ab branch: trunk)
2015-03-18
20:42
[642c195d7c] part of check-in [ee2910ae4c] {1104} small documentation fix reported by ASiwon - thanks for pointing this out! (user: ab branch: trunk)
10:01
[b11968d6dc] part of check-in [8b20c5eec2] {1097} small SynDB / variant fixes and enhancements (user: ab branch: trunk)
2015-03-17
17:34
[650c44e4c8] part of check-in [f9262364f2] {1092} documentation update (user: ab branch: trunk)
2015-03-16
18:02
[5c4cff70b0] part of check-in [d414764423] {1084} small documentation update (user: ab branch: trunk)
2015-03-03
22:29
[5dd45178e5] part of check-in [78ce0600e1] {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 (user: ab branch: trunk)
14:57
[34e6615a58] part of check-in [50e19d5b3f] {1026} tests and documentation update (user: ab branch: trunk)
2015-02-28
13:46
[ff87b7d1dc] part of check-in [323fc78f11] {994} introducing EInterfaceResolverException class and overloaded TInterfaceResolverInjected.RegisterGlobal() and RegisterGlobalDelete() methods allowing to manage shared DI/IoC with a class instance (user: ab branch: trunk)
2015-02-26
20:25
[0bae5e841e] part of check-in [2d71d11f55] {985} small documentation clarification about the licensing terms: the framework is MPL/GPL/LGPL - only its documentation is pure GPL! (user: ab branch: trunk)
19:53
[2ed360cc0d] part of check-in [a07c62b48e] {981} introducing TSQLHttpClientCurl class, using cross-platform libcurl to connect over HTTP or HTTPS (using system OpenSSL library, if available) (user: ab branch: trunk)
2015-02-22
15:01
[1cdd7993ae] part of check-in [add517c844] {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 (user: ab branch: trunk)
2015-02-19
18:11
[43f7fd8e71] part of check-in [33b96ec7b3] {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) (user: ab branch: trunk)
2015-02-18
17:38
[42bfaf1938] part of check-in [c31d8a73e3] {926} small documentation update (user: ab branch: trunk)
2015-02-16
12:20
[1d78051c82] part of check-in [13c49a84b0] {907} added TSQLTable.FieldAsFloat() overloaded methods (user: ab branch: trunk)
2015-02-15
13:15
[b4f7a82657] part of check-in [9b60596cae] {902} ExeVerionRetrieve() replaced by the more explicit SetExecutableVersion() function - this commit also includes several fixes for the Linux platform (user: ab branch: trunk)
2015-02-14
10:53
[8f12150704] part of check-in [d5028ca27e] {900} small documentation fix about TSQLRest.Add(...,true) (user: ab branch: trunk)
2015-02-09
20:55
[cb00b09924] part of check-in [c189af8b2a] {870} documentation enhancements (user: ab branch: trunk)
2015-02-08
20:25
[a6fd71ebfe] part of check-in [89d383c67f] {862} updated documentation, mainly about CrossKylix support (user: ab branch: trunk)
2015-02-07
10:21
[e1a7597b2d] part of check-in [9737c12898] {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 (user: ab branch: trunk)
08:17
[ed8b91189b] part of check-in [4a18c1883f] {840} documentation now refers to our shared DDD units (user: ab branch: trunk)
08:15
[1e3c13fe78] part of check-in [f1546e5ec2] {839} some minor fixes so that framework regression tests do pass as expected (user: ab branch: trunk)
2015-02-06
09:10
[8c9fda4dea] part of check-in [afdeeef14c] {831} added SetID() procedure as a wrapper around SetInt64() for setting TID variables (user: ab branch: trunk)
2015-02-03
13:29
[d50f88e8cb] part of check-in [74693cd76d] {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 (user: ab branch: trunk)
2015-02-01
08:46
[f3165993af] part of check-in [48b400fcee] {795} documentation update about HTTP API 2.0 (user: ab branch: trunk)
2015-01-31
13:44
[f78ac67fff] part of check-in [0973e6a83c] {789} enhanced documentation to advice use of SQLNCLI11, part of the "Microsoft SQL Server 2012 Native Client", when connecting to MS SQL Server (user: ab branch: trunk)
2015-01-30
13:18
[081e5034a8] part of check-in [afca04fed5] {782} updated documentation to state that IIS Manager can simply install the certificate and register it without having to use makecert (user: ab branch: trunk)
2015-01-29
17:50
[d30658a11d] part of check-in [0793b3eae7] {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] (user: ab branch: trunk)
14:39
[7e688f7edc] part of check-in [914731dfe2] {771} updated documentation about "netsh http" command line tool use (user: ab branch: trunk)
2015-01-15
20:11
[8c57337ad5] part of check-in [b19fe457c0] {718} documentation update mainly about AES-NI (user: ab branch: trunk)
2015-01-11
08:52
[294e28c4b9] part of check-in [9ce9f10356] {696} updated documentation about FPC 2.7.1/3.1.1 installation and use, especially under Linux (user: ab branch: trunk)
2015-01-05
19:01
[f32c169b87] part of check-in [1f34e1c0d4] {679} small documentation fix (user: ab branch: trunk)
2015-01-03
21:06
[5cfd507bff] part of check-in [d581de4dbd] {673} updated documentation (user: ab branch: trunk)
2014-12-18
23:32
[c22bb541a0] part of check-in [f839bfad2a] {647} fixed MongoDB typos in documentation (user: ab branch: trunk)
2014-12-12
19:47
[a18c787f46] part of check-in [9416d466bf] {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] (user: ab branch: trunk)
18:00
[0198761ae5] part of check-in [24cf77569c] {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! (user: ab branch: trunk)
2014-12-11
17:46
[d1e9ba455b] part of check-in [ee6a66e61f] {635} added TSQLRestServer.RootRedirectGet property to allow easy redirection (user: ab branch: trunk)
14:59
[6e3ad949c1] part of check-in [4c6d4bb4a3] {633} added TSQLRestServerURIContext.ReturnFileFromFolder() method, for direct fast transmission to a HTTP client, handling "304 Not Modified" and proper mime type recognition (user: ab branch: trunk)
14:14
[e3dec55742] part of check-in [2dc9a48b61] {632} added TSQLHttpServer.DomainHostRedirect() method for virtual-host redirection of Internet domains or sub-domains (user: ab branch: trunk)
2014-12-03
09:39
[21551c9ff8] part of check-in [f5098e65f0] {606} SynProject will now create valid HTML content with { or } characters (user: ab branch: trunk)
09:09
[0292320078] part of check-in [fa8b20983b] {605} added sum() SQL function to MongoDB ODM query conversion process (user: ab branch: trunk)
2014-11-30
18:13
[2803b6927b] part of check-in [d989624955] {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 (user: ab branch: trunk)
18:00
[3b5195de6b] part of check-in [26d9bfafa7] {600} DISTINCT() MAX() MIN() AVG() functions and the GROUP BY clause are now converted into optimized MongoDB aggregation pipelines (user: ab branch: trunk)
2014-11-29
15:02
[b24ac987ec] part of check-in [4b5379b32d] {595} ODM will now handle *DynArrayContains() functions as fast native $in:[] MongoDB query operations (user: ab branch: trunk)
08:30
[0d75feb7b3] part of check-in [c13710637e] {590} refresh contributor list (user: ab branch: trunk)
2014-11-28
16:32
[f4237db7fe] part of check-in [abbdfa5563] {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! (user: ab branch: trunk)
2014-11-27
14:50
[c2f8d2910a] part of check-in [54c80cdf77] {580} added TSQLRestClientURI.BatchStartAny() method and updated documentation (user: ab branch: trunk)
2014-11-25
19:44
[c1e0bf27db] part of check-in [1e6d342400] {575} added TSynAuthenticationRest e.g. for SynDBRemote to check REST users (user: ab branch: trunk)
2014-11-24
21:07
[e8496ffb00] part of check-in [dc89ec80fc] {570} fixed SynDBRemote authentication process and enhanced documentation (user: ab branch: trunk)
19:26
[1e4bb96377] part of check-in [7b57d1934f] {569} enhanced background process and documentation (user: ab branch: trunk)
2014-11-23
18:06
[5ba3a57b29] part of check-in [07372546f3] {560} small documentation fix (user: ab branch: trunk)
16:55
[a12186fc7e] part of check-in [881797779c] {559} BREAKING CHANGE: new SynLog.pas and SynTests.pas units, extracted from SynCommons (user: ab branch: trunk)
2014-11-22
18:01
[dc2130f60b] part of check-in [20cafb695f] {558} let SynDBRemote support concurrent transactions (via a simple blocking mode) (user: ab branch: trunk)
12:28
[670d00b868] part of check-in [c2338f8c4b] {557} transmitted content via SynDBRemote will now be encrypted (user: ab branch: trunk)
10:48
[6083e7b679] part of check-in [c731f35d18] {556} enhanced documentation about the new project publishing Cross-Platform wrappers for sample 28 (user: ab branch: trunk)
2014-11-20
10:04
[5bb88b9c12] part of check-in [6ee1f73472] {549} fixed issue with UnicodeString values with custom variant types late binding (user: ab branch: trunk)
2014-11-19
20:34
[8a4aaee9fe] part of check-in [4ef2640170] {545} small documentation update (user: ab branch: trunk)
2014-11-18
17:59
[1e616f583b] part of check-in [72a8402367] {542} small fixes to circumvent an asm generation issue with Delphi 2007 (user: ab branch: trunk)
15:55
[48006440b5] part of check-in [4548619710] {539} benchmarked both sockets and WinHTTP API for client access - also updated the documentation (user: ab branch: trunk)
12:38
[a762f898ee] part of check-in [647505a1f0] {538} documentation enhancements (user: ab branch: trunk)
12:21
[055e9712ec] part of check-in [bed4c8bf9e] {537} allow SynDBExplorer to serve or access a SynRemoteDB connection via HTTP (user: ab branch: trunk)
11:16
[4db65341e4] part of check-in [4336b32329] {536} added SynRemoteDB connection to the "External DB performance" sample (user: ab branch: trunk)
2014-11-17
23:34
[ae73244955] part of check-in [dcc0fd3897] {533} introducing SynDBRemote.pas unit for HTTP remote access via SynDB classses - see the updated documentation (user: ab branch: trunk)
2014-11-15
17:17
[0b89b79de4] part of check-in [8ef74dd71e] {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 (user: ab branch: trunk)
2014-11-14
23:31
[4a324320b4] part of check-in [7f710d10b0] {516} allow to associate a TID published fields to a given table via "type TSQLRecordClientID = type TTID" definition (user: ab branch: trunk)
20:25
[291705edfc] part of check-in [bec1a0fbdf] {515} explicitely notify about the http://bugs.freepascal.org/view.php?id=26602 issue for IAutoFree use limitations with FPC (user: ab branch: trunk)
15:21
[8a51d57a80] part of check-in [3059ceda1d] {514} renamed IgnoreSSLCertificate to IgnoreSSLCertificateErrors and implemented in parameters of class functions - thanks EMartin for the patch (submitted by GitHub) (user: ab branch: trunk)
14:19
[79a192042d] part of check-in [8efec7a670] {513} documentation update mainly about the newly introduced TID = Int64 type and the TAutoFree features (user: ab branch: trunk)
09:25
[3af0cd8f3b] part of check-in [352d596041] {509} updated framework documentation about external database process (previous content was occulting NoSQL backends) (user: ab branch: trunk)
2014-11-11
17:49
[285f74d75d] part of check-in [0b41a9cbe6] {495} small documentation fix (user: ab branch: trunk)
17:38
[de1b9e607e] part of check-in [c6453db6e2] {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]
(user: ab branch: trunk)
2014-11-09
20:27
[0ec767c983] part of check-in [a7c8f43770] {485} let SynProject handle Alt+F10 shortcut for adding a link to a numerated paragraph (user: ab branch: trunk)
2014-11-08
12:46
[86cb4967cb] part of check-in [4788b39f5b] {481} enhanced FPC compatibility (user: ab branch: trunk)
2014-11-06
20:44
[c94bb75dc6] part of check-in [4a93f9ec66] {472} udpdated framework documentation (user: ab branch: trunk)
15:53
[a76a42cfbd] part of check-in [b3a45a7418] {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 (user: ab branch: trunk)
2014-11-05
15:04
[678e8a6de5] part of check-in [7372995a3a] {470} updated mORMot documentation when generated as HTML - including responsive design :) (user: ab branch: trunk)
13:42
[d041ec07b0] part of check-in [6026c388a9] {469} framework documentation is now available as HTML! (user: ab branch: trunk)
09:53
[adf1e8de41] part of check-in [2cbcb18bb6] {468} updated documentation, mainly about Zeos/ZDBC integration (user: ab branch: trunk)
2014-11-02
08:18
[faeed8ed17] part of check-in [6e1bc870fd] {458} let all our TDataSet components work with FPC/Lazarus - thanks Alf for the patch! (user: ab branch: trunk)
2014-10-28
20:43
[a137a6bee4] part of check-in [8e80a32c7d] {429} enhanced documentation (user: User branch: trunk)
13:05
[6ac29f64d1] part of check-in [e6c595154b] {423} added overloaded procedure TSQLModelRecordProperties.FTS4WithoutContent() using field names instead of a complex expression (user: User branch: trunk)
11:09
[7780b7667d] part of check-in [61310fb324] {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 (user: User branch: trunk)
2014-10-27
15:21
[bc7b4a474e] part of check-in [0d4110cd46] {413} updated MVC/MVVM [bd94c11ab1] documentation (user: User branch: trunk)
2014-10-25
11:46
[b8af5a2a0a] part of check-in [b633684b34] {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] (user: User branch: trunk)
2014-10-24
19:40
[bc616fb822] part of check-in [cdc7ed74b7] {393} finishing documentation about MVC - [bd94c11ab1] feature request (user: User branch: trunk)
2014-10-23
21:27
[7ebee5ef1e] part of check-in [c697a47dc2] {386} documentation refresh - including latest mORMot MVC features - see request [bd94c11ab1] (user: User branch: trunk)
16:05
[b1aead5c02] part of check-in [c802573c64] {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 (user: User branch: trunk)
2014-10-22
15:03
[0b0aa212d7] part of check-in [e8417814e4] {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 (user: User branch: trunk)
2014-09-26
10:32
[332e15e896] part of check-in [d79b3f7643] {283} added TSQLRestServer.InitializeTables() method to initialize void tables and replace CreateMissingTables process e.g. for MongoDB external storage - replace {282} buggy implementation (user: User branch: trunk)
2014-09-19
13:21
[44e49ff098] part of check-in [c90684aab9] {264} ServiceContext threadvar will now be set in all ORM and SOA process, to allow access to the execution context (user: User branch: trunk)
2014-09-18
11:42
[3d733a105e] part of check-in [cee02ea67b] 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) (user: User branch: trunk)
2014-09-15
13:20
[dc761045ad] part of check-in [a040c1e2aa] 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!
(user: User branch: trunk)
2014-09-12
09:24
[686e4c8e25] part of check-in [721aad7b6d] another documentation update (user: User branch: trunk)
08:38
[0ef20a3bfa] part of check-in [634722446c] enhanced documentation about integrating legacy code still modifying the database (user: User branch: trunk)
2014-09-10
14:15
[4b6c70016b] part of check-in [16fd14dec8] 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) (user: User branch: trunk)
09:39
[9e737c1a56] part of check-in [6dbad60098] documentation update (mainly about new security options) (user: User branch: trunk)
2014-09-09
15:26
[1cffa09436] part of check-in [577de174f3] documentation update mainly about new features in logging, e.g. cross-platform logging, remote logging and new fixed time log file rotation (user: User branch: trunk)
2014-09-05
18:12
[c0fd7f052a] part of check-in [2bf3ced4bf] official XE7 support of the framework as reported by users in our forum thread! (user: User branch: trunk)
2014-09-04
19:49
[25e9277e50] part of check-in [246e36d314] fixed TPersistent process in TJSONWriter.WriteObject - thanks Jordi for the pull request in (user: User branch: trunk)
08:47
[c133fe682e] part of check-in [0ec7937018] document update linked to [f024266c0839] (user: User branch: trunk)
2014-09-02
08:01
[1797d96968] part of check-in [2094a3a14f] 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 (user: User branch: trunk)
2014-08-29
09:46
[d95fcbd21d] part of check-in [1c559cc09a] small documentation update (user: User branch: trunk)
2014-08-28
16:54
[5d88c6c844] part of check-in [c7717b0ff9] added TSQLInitializeTableOptions parameter to TSQLRestServer.CreateMissingTables and TSQLRecord.InitializeTable methods, to tune underlying table creation (e.g. disable indexes creation) (user: User branch: trunk)
2014-08-27
17:05
[89cdca24fe] part of check-in [6e587a2dd6] updated documentation (user: User branch: trunk)
2014-08-25
14:41
[7efb457927] part of check-in [196e555c82] another small documentation update (user: User branch: trunk)
2014-08-24
22:41
[4a0b43ae1d] part of check-in [1b79eee2b1] updated documentation (user: User branch: trunk)
2014-08-23
15:46
[ed5142b99e] part of check-in [c170d26d8b] added upcoming Delphi XE7 most probable version number (user: User branch: trunk)
14:49
[c0e69a7f37] part of check-in [85b9c26c5e] 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 (user: User branch: trunk)
2014-08-22
10:41
[6564b0847b] part of check-in [9f0723cbff] fixed memory leak in SynCrossPlatformJSON, when handling TByteDynArray properties for BLOB fields (user: User branch: trunk)
2014-08-20
13:52
[79766c49cd] part of check-in [34eb32169a] enhanced CRUD level cache methods to support an array of IDs to be cached as parameters, and made the documentation more explicit (user: User branch: trunk)
08:22
[0ce12821e4] part of check-in [ad871ec39d] ensure ExecutePrepared fails if BindArray() was used when the underlying provider does not support array binding (user: User branch: trunk)
2014-08-19
14:34
[62ab2e0dcd] part of check-in [0b0f595b12] added Array Binding support for SynDBZeos - with the ZDBC 7.2 branch (only for Oracle yet) (user: User branch: trunk)
09:41
[11d6ff9b38] part of check-in [d9e53fd620] enhanded documentation, mainly about TSQLRestStorageRemote class, TSQLRestServer.RemoteDataCreate() method and TSQLRestServerRemoteDB class for feature request [3453f314d97d] (user: User branch: trunk)
2014-08-18
05:39
[a220b54682] part of check-in [25d6493fcb] fixed unexpected "comma":"," issue in context data when generating cross-platform client wrappers (user: User branch: trunk)
2014-08-17
16:27
[aedf3423bd] part of check-in [573768651c] enhanced documentation about performance tuning in mORMot (user: User branch: trunk)
2014-08-16
19:35
[f350c4c714] part of check-in [8b00561e35] 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) (user: User branch: trunk)
2014-08-15
17:39
[8a4f168851] part of check-in [b7f2a20b39] fixed Delphi 5 compilation issue (user: User branch: trunk)
14:26
[1748166bc8] part of check-in [5630b2574d] documentation update mainly about the newly introduced TSQLDataBase.BackupBackground() method (user: User branch: trunk)
2014-08-14
07:42
[a9f0abbca9] part of check-in [7dc899399f] ensure mORMotDB.pas virtual write operations do not call Engine*() but direct SQL (user: User branch: trunk)
2014-08-11
21:20
[0caf65ba01] part of check-in [2032d405d8] some other documentation fixes (user: User branch: trunk)
15:58
[488c067cca] part of check-in [acc1ddc296] some documentation fixes (user: User branch: trunk)
14:11
[7daac16202] part of check-in [3c7c0bc20c] cross-platform support documentation is now almost finished so [09ae8513eb], [168eb753e5] and [d7e5521da5] feature requests could be marked as implemented! (user: User branch: trunk)
2014-08-10
17:09
[a209d685fa] part of check-in [2b7d3698c0] documentation updates about client code generation as requested by [09ae8513eb], [168eb753e5] and [d7e5521da5] (not finished yet) (user: User branch: trunk)
2014-08-08
08:22
[677c6c803e] part of check-in [d0dcc2ed76] added TSQLRestServerURIContext.Input*OrVoid[] properties and refactoring of the various TSQLRestAuthentication*.Auth() methods to use the Input*[] property instead of UrlDecode*() (user: User branch: trunk)
2014-08-07
17:42
[c13093a54d] part of check-in [6d87b2af7b] added TSQLRestServerAuthenticationHttpBasic authentication class for [d214048facaa3944f96ee5b3] - includes deep refactoring of the TSQLRestServerAuthentication* classes (user: User branch: trunk)
2014-08-05
10:15
[a22f9f9ef6] part of check-in [3f2ebac0af] CrossPlatform support of interface-based services for all supported types and content (user: User branch: trunk)
06:31
[e2e9e06a54] part of check-in [b447b0c0a7] updated documentation (user: User branch: trunk)
2014-08-04
19:48
[1891820399] part of check-in [51321d6949] updated documentation, mainly about XML responses for interface-based SOA (user: User branch: trunk)
2014-07-19
09:39
[c417a03276] part of check-in [320c689bde] updated documentation mainly about how to return a file content via HTTP (user: User branch: trunk)
2014-07-15
18:16
[60339f0bb8] part of check-in [0e8f6458f9] small documentation typo fixes (user: User branch: trunk)
2014-07-11
17:00
[33fcacebe3] part of check-in [76a3543819] updated documentation (user: User branch: trunk)
2014-07-06
11:29
[9ed1c9614a] part of check-in [11f6d1c4e9] enabled PUBLISHRECORD for Delphi XE5 - see ticket [b653e5f4ca] (user: User branch: trunk)
2014-07-01
18:40
[c803e30721] part of check-in [67c70fb3fb] 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) (user: User branch: trunk)
2014-06-27
12:47
[b5fbae8026] part of check-in [708e46bc26] other typos fixed in the documentation (user: User branch: trunk)
2014-06-24
10:05
[d2adc02343] part of check-in [83df4eccdb] enhanced cross-platform client support, especially for the NEXTGEN target (user: User branch: trunk)
2014-06-22
13:32
[4a0593e69f] part of check-in [0af204f950] updated documentation, mainly for Audit-Trail about the new TSQLRecordHistory class type (used to store the history), and TSQLRestServer.TrackChanges() to initiate change tracking (user: User branch: trunk)
2014-06-20
15:45
[15b25e7203] part of check-in [68f8acc123] updated framework documentation (user: User branch: trunk)
2014-06-08
13:43
[9bda48e749] part of check-in [4d59d398d4] 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 (user: User branch: trunk)
2014-06-07
20:43
[da0261b99e] part of check-in [03c51d043b] updated documentation, about InternalRegisterCustomProperties() and TGUID (user: User branch: trunk)
2014-06-01
20:33
[c542304942] part of check-in [e30a88c874] added some comments to new sample 28 (user: User branch: trunk)
2014-05-20
10:55
[6956cbf862] part of check-in [dbed282a48] updated documentation (user: User branch: trunk)
2014-05-18
18:25
[1cafbbb323] part of check-in [010f6771d7] ensure we speak about "Windows Messages" instead of the non-sense "GDI Messages" term (user: User branch: trunk)
2014-05-16
19:47
[578973565a] part of check-in [97ef768e41] updated framework documentation - mainly about the newly introduced JSON serialization using the enhanced RTTI available since Delphi 2010 (user: User branch: trunk)
2014-05-15
14:04
[c660ca0dd1] part of check-in [976a824618] 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 :) (user: User branch: trunk)
2014-05-14
10:33
[9589fea806] part of check-in [7834caa14b] updated framework documentation (user: User branch: trunk)
2014-05-13
12:37
[bdc202b8ff] part of check-in [62f1461a55] updated documentation (user: User branch: trunk)
2014-05-12
07:43
[21f29244b2] part of check-in [fd20a67fc6] fixed typos and some compilation warnings (user: User branch: trunk)
2014-05-11
11:49
[f0ad69fd44] part of check-in [15206e6699] fixed some typo (user: User branch: trunk)
2014-05-10
18:11
[b3ead9faac] part of check-in [0c5bad111b] 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) (user: User branch: trunk)
15:28
[7121bcd91a] part of check-in [c8931064d1] updated documentation (user: User branch: trunk)
08:31
[f9271ae2ab] part of check-in [c89026cac9] 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 (user: User branch: trunk)
2014-05-09
15:02
[2a712450e4] part of check-in [e1e58505f3] 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
(user: User branch: trunk)
2014-05-08
13:47
[16f36b346d] part of check-in [3c0d63706f] 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
(user: User branch: trunk)
2014-05-07
12:28
[63dd5c0370] part of check-in [800e23e6a7] 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) (user: User branch: trunk)
08:02
[00d201e9ad] part of check-in [1be95ea5d7] enhanced SynProject's HTML/BBCODE clipboard paste content (user: User branch: trunk)
2014-05-06
20:11
[33d802ddc9] part of check-in [e8340a4797] added MongoDB direct and ORM/ODM information in the framework documentation :) (user: User branch: trunk)
2014-05-05
08:35
[4a8cc4f0d5] part of check-in [bf77c216ab] fixed documentation (user: User branch: trunk)
07:34
[10c9660d94] part of check-in [a104339696] udpated documentation about TSQLRestServerStaticInMemory and ACID (user: User branch: trunk)
2014-04-28
16:40
[bb46d6cf3b] part of check-in [0c1bc8d05c] fixed a small typo issue (user: User branch: trunk)
08:45
[c7e26b9ec7] part of check-in [c67a82e128] finishing documentation about SynMustache (user: User branch: trunk)
2014-04-27
19:42
[c96f9d0af4] part of check-in [40c4842ff3] updated documentation about the Mustache rendering engine (in the MVC section of the SAD 1.18 pdf) (user: User branch: trunk)
2014-04-26
18:14
[b5af26e7d7] part of check-in [e88233403c] introducing documentation about Mustache template rendering with mORMot (user: User branch: trunk)
2014-04-22
12:03
[fd3c5442ef] part of check-in [752b4b12f9] 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) (user: User branch: trunk)
2014-04-21
07:49
[e00f8f1a07] part of check-in [687f12d548] 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! (user: User branch: trunk)
2014-04-17
19:01
[680ab06ed9] part of check-in [425a824388] Delphi XE6 support (not fully tested yet since we can't afford to pay the license as unpaid Open Sourcers) - feedback is welcome! (user: User branch: trunk)
09:11
[966e75c3dc] part of check-in [c332923941] small documentation enhancement about MVC (user: User branch: trunk)
2014-04-13
14:33
[cdebf954fc] part of check-in [9d92d6cdaf] updated documentation about SOA design (user: User branch: trunk)
2014-04-10
14:48
[94aa129c8f] part of check-in [7719d8274d] all TSQLHttpClient* classes are now thread-safe (i.e. protected by a global mutex, as other TSQLRestClientURI implementations already did) (user: User branch: trunk)
2014-04-09
20:59
[1b11c50478] part of check-in [6b214823e0] updated documentation, mainly about Create*Joined() constructors, and also about data sharding via TDocVariant variant published properties (aka schema-less NoSQL within mORMot) (user: User branch: trunk)
18:55
[04881eb7b2] part of check-in [6fe2dd5218] introducing TSQLRecord.CreateJoined() and CreateAndFillPrepareJoined() constructors, to auto-initialize and load nested TSQLRecord properties (user: User branch: trunk)
2014-04-08
14:15
[e5a885a0d1] part of check-in [fdfd0959dd] 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 (user: User branch: trunk)
2014-04-07
18:07
[705d2ed9dd] part of check-in [1101f033bb] added THttpApiServer.ServerSessionID and UrlGroupID read-only properties (user: User branch: trunk)
10:39
[8dcece4f08] part of check-in [73e2b756e2] updated documentation - now SpiderMonkey integration is documented as needed :) (user: User branch: trunk)
2014-04-06
14:37
[afbc8c1fd8] part of check-in [4391d51d04] fixed documentation typo (user: User branch: trunk)
14:21
[eb0c1ce214] part of check-in [4ae04f43d1] updated documentation about SpiderMonkey implementation within the framework (not finished yet) (user: User branch: trunk)
2014-04-02
19:42
[3d6a785ef1] part of check-in [3f1d2194ef] TDocVariantDataKind enumeration renamed to TDocVariantKind, and sdkUndefined, sdkObject, sdkArray renamed to dvUndefined, dvObject, dvArray (user: User branch: trunk)
16:53
[e0073a9da2] part of check-in [f94f197df3] updated source code and documentation to easily let SpiderMonkey library files to be downloaded - it is always better with a download URI! (user: User branch: trunk)
2014-03-29
15:23
[92587d930b] part of check-in [cbb76728ec] 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) (user: User branch: trunk)
2014-03-26
20:04
[ce764cc219] part of check-in [920964f3dc] updated documentation (user: User branch: trunk)
2014-03-16
17:59
[8650881c16] part of check-in [23ed1be8a4] updated documentation (user: User branch: trunk)
2014-03-15
15:14
[f0d6716bfd] part of check-in [fe4622ef5c] small enhancements + fixes to the documentation (user: User branch: trunk)
2014-03-14
14:37
[b51d85304a] part of check-in [2177050b87] updated documentation, mainly about ORM field/column mapping (user: User branch: trunk)
2014-03-07
09:42
[5381bd3df9] part of check-in [a5411f2044] fixed documentation (user: abouchez branch: trunk)
09:14
[4bd383b088] part of check-in [3828725498] added MySQL benchmark and official support in documentation (user: abouchez branch: trunk)
2014-03-06
16:17
[bf7f721542] part of check-in [8b69ea33ec] 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 (user: abouchez branch: trunk)
2014-03-05
16:08
[c5da5763eb] part of check-in [103fcd7e36]
  • 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
(user: abouchez branch: trunk)
2014-03-04
20:10
[df39ed9f0b] part of check-in [cf9bf72e43] added TDocVariantData.Delete() methods, and corresponding Delete() pseudo methods to the TDocVariant instance (user: User branch: trunk)
17:29
[4e57152abe] part of check-in [5da7381545] 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 (user: abouchez branch: trunk)
13:37
[8b28b4fc72] part of check-in [0eb4302161] updated documentation (mainly for keyword indexes) (user: abouchez branch: trunk)
12:50
[e50e5908e3] part of check-in [0ad22954dc] added SQLite3 access via ODBC driver to the performance benchmark (user: abouchez branch: trunk)
2014-03-03
17:18
[546126a785] part of check-in [2c8f6061e1] 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 :) (user: abouchez branch: trunk)
15:33
[3269bae827] part of check-in [6bbee294a0] 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 (user: abouchez branch: trunk)
2014-03-02
17:59
[1aa794296d] part of check-in [63e214dd4d] 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 (user: User branch: trunk)
2014-02-26
22:21
[587e88834d] part of check-in [1d1d134a76] fixed documentation (user: User branch: trunk)
14:23
[f5f0be7a3b] part of check-in [ae30cc3b64] finishing code review for TDynArray support of variant content, and also fixing some unexpected issues when working with WideString values (user: abouchez branch: trunk)
2014-02-25
21:59
[0b22466557] part of check-in [fbed086c0d] TDynArray will now recognize TVariantDynArray or variant fields (user: User branch: trunk)
14:53
[5007d43a39] part of check-in [a47631a077] in LogViewer tool, incremental search will now remain on the same line if it matches the current entry (user: abouchez branch: trunk)
13:00
[c0a9924eb9] part of check-in [5838ebf974] introducing TDocVariant documentation (together with a blog article) (user: abouchez branch: trunk)
2014-02-18
15:18
[f7f8abd4ae] part of check-in [a995777007] documentation update about TDocVariant (not finished - first draft) (user: abouchez branch: trunk)
2014-02-17
09:09
[9620f2874f] part of check-in [f3c36aca42] enhanced documentation about interface-based services security setting - e.g. to explictly refer to TServiceFactoryServer.ByPassAuthentication (user: abouchez branch: trunk)
2014-02-13
13:40
[3b725dfa27] part of check-in [5dc231900e] added RawByteString support for text-based record serialization, using Base-64 encoding (user: abouchez branch: trunk)
2014-02-12
16:28
[2dd9078dbb] part of check-in [be65b4c730] polishing MongoDB process - still not tested ! (user: abouchez branch: trunk)
2014-02-05
13:59
[1c66042ba6] part of check-in [d160739301] updated documentation about Server-side execution options (threading), i.e. especially the newly introduced optExecLockedPerInterface optExecInPerInterfaceThread optFreeInPerInterfaceThread options (user: abouchez branch: trunk)
2014-01-28
13:51
[34b12a6520] part of check-in [e6c05e58a9] 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 (user: abouchez branch: trunk)
2014-01-22
09:28
[b8b47ba0fa] part of check-in [c826016e40]
  • 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
(user: abouchez branch: trunk)
2014-01-20
08:11
[bd15f56c98] part of check-in [9014c28bd5]
  • 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
(user: abouchez branch: trunk)
2014-01-18
15:01
[0154de41b5] part of check-in [eacdd07cc5] updated documentation (user: User branch: trunk)
2014-01-13
08:52
[78fba4f0f9] part of check-in [9c3cc7b170] updated performance stats about documentation to reflect the corresponding blog article (user: abouchez branch: trunk)
2014-01-10
16:44
[b5e1ad375d] part of check-in [0dd3b2ddbe] fixed documentation about change from Ctxt.ID into Ctxt.TableID - still making the implicit explicit ! :) (user: abouchez branch: trunk)
2014-01-08
21:11
[ef0e686a37] part of check-in [37cd2be9b3] updated documentation (user: User branch: trunk)
2014-01-07
11:02
[0711a51f6d] part of check-in [7b4dd9f2d3]
  • 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
(user: abouchez branch: trunk)
2014-01-05
21:06
[a3f0d49783] part of check-in [9c684658c5] fixed ticket [027bb9678d] - now TSQLRecordRTree class works as expected + includes associated regression tests (user: User branch: trunk)
16:51
[4be6d29dd5] part of check-in [f9b04a46c8]
  • 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
(user: User branch: trunk)
2014-01-04
16:36
[9d7efa5339] part of check-in [2c1b4276f5] documentation update - and published blog articles (user: User branch: trunk)
2014-01-03
15:11
[f3bf31b65a] part of check-in [41b65802db] documentation enhancements (user: abouchez branch: trunk)
2014-01-02
19:11
[e0a2bec7e2] part of check-in [f5155cfe4b] documentation update (user: User branch: trunk)
16:16
[89e86dc9b6] part of check-in [cbaf3385e1] fixed and updated documentation, mainly about Domain-Driven Design (user: abouchez branch: trunk)
2014-01-01
18:07
[eb40409ec2] part of check-in [4af76fb794] updated documentation, especially the SAD pdf with a re-written Domain-Driven Design definition and implementation guide (user: User branch: trunk)
2013-12-27
13:54
[3b77aa9dc2] part of check-in [5f418f2a75] enhanced the TSQLDBUniDACConnectionProperties.URI() method to handle an optional port number (user: User branch: trunk)
2013-12-18
18:44
[67ca08db34] part of check-in [b0371f5e5a] now text-defined JSON record serialization is able to handle any pre-defined record types - added regression tests and updated documentation (user: User branch: trunk)
2013-12-12
14:34
[ff53e168a8] part of check-in [767c34eae7] TTextWriter.RegisterCustomJSONSerializerFromText() now support JSON serialization/unserialization of TGUID values (encoded as JSON strings) (user: abouchez branch: trunk)
2013-12-10
21:31
[2ffbca0ad8] part of check-in [93530dffb2] updated documentation (user: User branch: trunk)
18:00
[60199697f4] part of check-in [34e31b7516] updated framework documentation about custom JSON serialization of records via text definition (user: abouchez branch: trunk)
2013-12-08
17:58
[e7988faf96] part of check-in [542954f2cf] updated documentation to state Delphi XE5 support (user: User branch: trunk)
2013-11-26
19:25
[2cb6364b3f] part of check-in [a3f893ac2d] enhanced existing TClientDataset filling methods (user: User branch: trunk)
2013-11-12
19:41
[98d2554cd2] part of check-in [783a90fd9f] documentation update (user: User branch: trunk)
2013-11-11
18:06
[fc1d820dcd] part of check-in [fc46e98a61] enhanced MSSQL support for UniDAC provider - and added performance info to documentation (user: abouchez branch: trunk)
14:53
[0211621e28] part of check-in [17c4877408]
  • 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)
(user: abouchez branch: trunk)
2013-11-09
16:04
[e8a3fefccb] part of check-in [622e817c49] documentation update (user: User branch: trunk)
2013-11-08
16:29
[c53608d4b4] part of check-in [7510364dd0] added performance tests with FireDAC + MSSQL (user: abouchez branch: trunk)
07:08
[2f48a9b66c] part of check-in [53d54276a0] updated documentation (user: User branch: trunk)
2013-11-06
14:13
[69a338b314] part of check-in [35cd8533cb] 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 (user: abouchez branch: trunk)
2013-11-04
17:57
[0f9017bcca] part of check-in [63b6db715d] enhanced MS SQL Server support (e.g. fix INDEX creation) and associated documentation (and benchmarking) (user: abouchez branch: trunk)
2013-10-31
08:31
[ace2cfa273] part of check-in [3a7d079385] let TServiceRunningContext.Request be a reference to the TSQLRestServerURIContext class (pointer not neded since it is not a record any more) (user: abouchez branch: trunk)
2013-10-27
09:10
[501c8f0b37] part of check-in [0b6aeb8eea] updated documentation - beginning SpiderMonkey integration with mORMot core (user: User branch: trunk)
2013-10-17
20:14
[5dbd4d8bc5] part of check-in [45ddd2d618] fix documentation RTF format error (user: User branch: trunk)
18:24
[5cf1b02cd0] part of check-in [4ea027aef6] updated documentation (user: abouchez branch: trunk)
18:08
[d37e48ea90] part of check-in [4359ace86e] 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 (user: abouchez branch: trunk)
2013-10-16
21:08
[c3dfdb0b67] part of check-in [b82b568abd] updated documentation about JSON and REST (user: User branch: trunk)
2013-10-15
18:16
[bac1321ce7] part of check-in [c28e9e05c2] 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
(user: abouchez branch: trunk)
2013-10-14
18:58
[a46c8d6bf2] part of check-in [58ec77ab61] added TInterfaceStub.ExpectsTrace() overloaded methods accepting RawUTF8 content directly (avoiding call to Hash32) (user: abouchez branch: trunk)
2013-10-09
20:57
[ca86db39e1] part of check-in [044b66d414] fixed Delphi 2007 compilation (user: User branch: trunk)
2013-09-11
15:13
[3293849889] part of check-in [694796adbb] minor documentation update (user: abouchez branch: trunk)
2013-09-10
16:09
[22d326e552] part of check-in [7a7cd06932] updated documentation about multi-thread performance testing (user: abouchez branch: trunk)
2013-09-09
07:15
[a2ff2155b7] part of check-in [68166aaa74] fixed documentation: renamed unproper "data contract" into "service contract" (user: abouchez branch: trunk)
06:54
[d52f0a0b97] part of check-in [d2f477d816] updated documentation: added a new FAQ section (user: abouchez branch: trunk)
2013-09-08
18:22
[28053a626f] part of check-in [443df565f4] updated doc (user: User branch: trunk)
2013-09-04
10:59
[81ea18b1f4] part of check-in [8122a8c339] added aUseSSL parameter to TSQLHttpServer.Create(), allowing HTTPS secure content publishing, when using the http.sys kind of server (user: abouchez branch: trunk)
2013-08-03
20:22
[9d47007bf8] part of check-in [aa1f324c6c] documentation fix (user: User branch: trunk)
2013-07-27
18:24
[1d2cf14831] part of check-in [a4fbf38b3f] documentation update (user: User branch: trunk)
2013-07-19
15:34
[b133b8c3c6] part of check-in [73c3c1a26e] small documentation changes (user: User branch: trunk)
12:57
[6a108cda6b] part of check-in [2fa720de1c] 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! (user: abouchez branch: trunk)
2013-07-05
07:13
[eff0fdaed2] part of check-in [4271734aa3]
  • added EIndirectException for translating exceptions between contexts
  • this EIndirectException will be used to handle background exceptions for feature request [68337ae98a]
(user: abouchez branch: trunk)
2013-07-04
12:41
[3677704f5c] part of check-in [d86d7dceb2]
  • 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
(user: abouchez branch: trunk)
2013-06-14
14:48
[d98e73fe06] part of check-in [f0763f38de] introducing FireDAC / AnyDAC support for mORMot, including Array DML for high-speed process (user: abouchez branch: trunk)
07:46
[0184b0ed4f] part of check-in [9d1ac1c56d] updated documentation about performance when using customized LockingMode property (user: abouchez branch: trunk)
2013-06-10
13:55
[360ca9c907] part of check-in [9bccb9a92b] fixed documentation about i18n - ticket [f5d591812c] (user: abouchez branch: trunk)
2013-06-07
10:52
[191a3e9934] part of check-in [bfeee3ff12] updated documentation, regarding new authentication classes, with a lot of rewrite of the security information (user: ab branch: trunk)
2013-05-24
14:34
[1fd7664575] part of check-in [7e03c16197] updated documentation about REGEXP new SQLite3 operator (user: abouchez branch: trunk)
2013-05-21
12:22
[4c957a384f] part of check-in [e7517d9658] updated documentation about using static in-memory Virtual tables from the client side (user: abouchez branch: trunk)
2013-05-20
18:07
[b3961726fe] part of check-in [f782f5d5e8] updated documentation, especially about useHttpApiRegisteringURI (user: ab branch: trunk)
2013-05-15
08:27
[35efe30b07] part of check-in [59eb20700d] Delphi XE4 compatibility (Windows target platform only for Win32/Win64) (user: abouchez branch: trunk)
2013-05-08
21:24
[ca6a17a038] part of check-in [e5175796f4] updated documentation (user: ab branch: trunk)
2013-05-07
13:06
[cf7bb04b51] part of check-in [783a67b6d3] new TSQLRest.Service<T: IInterface> method to retrieve a service instance (user: abouchez branch: trunk)
2013-05-03
05:51
[eb6677860b] part of check-in [9654eddc8c] updated SAD documentation with refreshed benchmark values (user: abouchez branch: trunk)
2013-04-25
13:58
[7baa5e53d9] part of check-in [6308e26c35] added TServiceInstanceImplementation.sicPerThread mode - feature request [cb76c866bb] (user: abouchez branch: trunk)
2013-04-15
20:56
[5e5858e13e] part of check-in [7806ffbc88] new DateToSQL() overloaded function with direct Year/Month/Day parameters (user: ab branch: trunk)
2013-04-13
11:13
[52de2c3b7d] part of check-in [6c2cfd38b6] updated documentation (user: ab branch: trunk)
2013-04-12
13:58
[a3984045dd] part of check-in [8c7d7c14d9] fixed typo (user: abouchez branch: trunk)
13:55
[9988511219] part of check-in [2e0238916f]
  • 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)
(user: abouchez branch: trunk)
09:37
[056e34e75b] part of check-in [96fbe48fa8] method-based services are now able to handle "304 Not Modified" optimized response to save bandwith, in TSQLRestServerCallBackParams.Returns/Results (user: abouchez branch: trunk)
2013-04-11
12:01
[687b853759] part of check-in [bac175885a] updated documentation (user: abouchez branch: trunk)
08:25
[5844b7d45f] part of check-in [04c3138299] updated documentation about ORM/SQlite3 column collations (user: abouchez branch: trunk)
2013-03-28
08:40
[62c146804a] part of check-in [0af088b1fe] updated documentation (user: abouchez branch: trunk)
2013-03-27
19:06
[30a689a594] part of check-in [1e0f071b15] add one cartoon to the documentation :) (user: ab branch: trunk)
16:29
[16573cece6] part of check-in [f3a44c24b4] fixed typo in the documentation (user: abouchez branch: trunk)
16:19
[2542dad784] part of check-in [ca309124c2] added TSQLTable.Step(), FieldBuffer() and Field() methods, handling a cursor at TSQLTable level, with optional late-binding column access (user: abouchez branch: trunk)
2013-03-25
19:53
[2af19e9572] part of check-in [53fcf87b33] updated documentation about logging rotation feature (user: abouchez branch: trunk)
2013-03-23
09:28
[ee76a28413] part of check-in [fd7095b97e] updated documentation to link to our own 3.7.16 sqlite3-64.dll (user: ab branch: trunk)
2013-03-20
06:29
[a02b6aaa7a] part of check-in [7d73b6638f] updated documentation about compilation of mORMot units within packages - to avoid E2201 compiler error (user: abouchez branch: trunk)
2013-03-15
10:54
[f594d9029c] part of check-in [f5ebddd364] documentation update about used units (user: abouchez branch: trunk)
08:12
[12ac03c9a1] part of check-in [a7f016fa6f] updated documentation to reflect IE/FF6 browser limitation when trying to view directly published JSON content (user: abouchez branch: trunk)
2013-03-14
19:20
[4de661a732] part of check-in [049f9dddfb] updated documentation (user: abouchez branch: trunk)
09:15
[5445c62a68] part of check-in [ecefb98191] updated documentation to illustrate how method-based services can return any content, including binary with the expected MIME type (user: abouchez branch: trunk)
2013-03-10
09:38
[7bf35bedbd] part of check-in [9d58967139] documentation fixes (user: ab branch: trunk)
2013-03-08
15:22
[d9e6d36f67] part of check-in [5098552158] SAD fixes (user: abouchez branch: trunk)
15:14
[d3531db414] part of check-in [0ab724587c] SAD documentation changes (user: abouchez branch: trunk)
14:03
[94281ba809] part of check-in [b55d9d1d3b] documentation update (user: abouchez branch: trunk)
2013-03-06
07:28
[168bb3cb83] part of check-in [66261c9e2e] updated documentation about logging features (user: abouchez branch: trunk)
2013-03-05
08:12
[97819c5c2c] part of check-in [3a7b4cd259] updated SAD information about http.sys server implementation (user: abouchez branch: trunk)
2013-02-28
09:05
[07ba9229ff] part of check-in [5d1336b02f] enhanced Windows 64 bit support, including regression tests - still unfixed GPF error with virtual tables in 64 bit mode :( (user: abouchez branch: trunk)
2013-02-26
17:15
[e6c0775814] part of check-in [1c023e4794] 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] (user: abouchez branch: trunk)
10:34
[a390dddb90] part of check-in [532ade8f30] finishing [65fe490e9d] implementation, including corresponding documentation (user: abouchez branch: trunk)
2013-02-21
16:17
[6c16f96bc9] part of check-in [d730ae04ca] documentation update (user: abouchez branch: trunk)
2013-02-18
10:50
[9129776a2d] part of check-in [8429315282] updated documentation about database benchmarking (and auto-generate statistic tables) - also refresh associated blog article with new table layout (user: abouchez branch: trunk)
2013-02-17
14:00
[889c71b252] part of check-in [4c2a3fdb64] updated SAD documentation (user: ab branch: trunk)
2013-02-15
14:08
[79e521aaf2] part of check-in [eedef929c8] new RawJSON string type to force no JSON serialization in interface-based services (to be used e.g. for transmitting TSQLTableJSON results) (user: abouchez branch: trunk)
2013-02-14
16:47
[fa673bb84e] part of check-in [4501bc9ffd] updated documentation (user: abouchez branch: trunk)
2013-02-09
14:45
[ec3c496ea0] part of check-in [495a1363ed] added SynDBZEOS.pas unit - to be used with Zeos 3.x version of the components (user: ab branch: trunk)
2013-02-08
18:14
[8d842ee17d] part of check-in [c28139fbae] introducing new SynDBBDE.pas unit (user: abouchez branch: trunk)
13:09
[0dc1b6ecef] part of check-in [8848e431a4] updated documentation (user: abouchez branch: trunk)
2013-02-03
14:23
[ebb3a50501] part of check-in [ce3676c43a] enhanced documentation, especially about mORMot logging features (user: ab branch: trunk)
2013-02-02
19:43
[975ecdfe97] part of check-in [37f260e4d7] 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 (user: ab branch: trunk)
18:54
[b3b6e319b0] part of check-in [edae410b72] updated documentation, especially refactoring JSON serialization related content (user: ab branch: trunk)
16:09
[49059200c4] part of check-in [af87b595bf] fix ticket [54af269043] about "Either this OR that" (user: ab branch: trunk)
2013-02-01
13:03
[b30ab5686c] part of check-in [343160d845] introduced 32bit/64bit safe TSQLRecord.AsTSQLRecord property, to be used when assigning IDs to a TSQLRecord published property - also updated the corresponding documentation (user: abouchez branch: trunk)
2013-01-19
10:51
[7e2b547a1a] part of check-in [5939e68725] documentation update (user: ab branch: trunk)
2013-01-18
17:07
[d760155c36] part of check-in [abcb8f46ea] updated documentation about TObjectList serialization (user: abouchez branch: trunk)
16:36
[757dd01715] part of check-in [730c07e487]
  • 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
(user: abouchez branch: trunk)
2013-01-17
07:52
[3931c70818] part of check-in [0b7919bbdc] BREAKING CHANGE of TTextWriter/TJSONWriter.WriteObject() method and ObjectToJSON() function: serialization is now defined with TTextWriterWriteObjectOptions set - therefore, TJSONSerializerCustomWriter callback signature changed. (user: abouchez branch: trunk)
2013-01-16
19:28
[f480fc84d8] part of check-in [ea38f48017] enhanced documentation about interface-based services (user: ab branch: trunk)
2013-01-15
11:05
[0cc0ffab0a] part of check-in [7bc10b3350] updated documentation about TInterfacedCollection.GetClass method which has been now fixed as a class function (user: abouchez branch: trunk)
2013-01-09
14:47
[b89759378e] part of check-in [99d11beda7] MS ribbon UI license is not needed any more (user: abouchez branch: trunk)
2013-01-06
19:37
[b155501e6a] part of check-in [4968e28b63] documentation update (user: ab branch: trunk)
2013-01-05
19:54
[7df4d634bf] part of check-in [4a7377a1a2] updated documentation (user: ab branch: trunk)
2013-01-04
18:53
[5b11a3f115] part of check-in [ff4c50e532] updated documentation about DDD (user: abouchez branch: trunk)
2013-01-02
19:02
[a578d1e281] part of check-in [8e29e9913d] updated documentation about FastMM4, and extracted exception interception from SAD to SDD (user: ab branch: trunk)
2013-01-01
18:05
[888824e8b4] part of check-in [7fbd57116c] minor documentation typo fix (user: ab branch: trunk)
2012-12-31
14:57
[93cca22417] part of check-in [d219c6aa69] updated documentation for new year (user: ab branch: trunk)
2012-12-30
18:02
[58201a5dc8] part of check-in [c2210c642d] documentation update (user: ab branch: trunk)
2012-12-16
20:47
[71d9c0d401] part of check-in [c8227e11c2] updated framework documentation (user: ab branch: trunk)
2012-12-15
18:29
[75b8b9c4e7] part of check-in [311d5658d6] updated mORMot documentation - deep refactoring, changing general layout into smaller chapters (user: ab branch: trunk)
2012-12-11
11:04
[3506a11046] part of check-in [f2408976e7] 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 (user: abouchez branch: trunk)
2012-12-10
16:18
[03a056ef53] part of check-in [d603a32c21]
  • added optional TextTruncateAtLength parameter for TSynLog/ISynLog.Log()
  • refactoring of the logging process in mORMot.pas
(user: abouchez branch: trunk)
2012-12-09
19:02
[18b70051a2] part of check-in [8b104922d0] minor documentation updates (user: ab branch: trunk)
09:46
[fbb8655fbd] part of check-in [a18d210cc1] updated documentation (user: ab branch: trunk)
2012-12-08
19:45
[1cf7e38d55] part of check-in [d4b4f719de] new TSQLRestServerCallBackParams.Input*[] properties, for easy URI parameter retrieval at server-side method-based service implementation - also updated documentation and associated blog article (user: ab branch: trunk)
2012-12-07
17:08
[242ff975f6] part of check-in [b61f3fb992] added an alternative way of implementing callbacks, using variants, in addition to the previous (and faster) JSON array based possibility (user: abouchez branch: trunk)
2012-12-06
15:41
[a7928eb02d] part of check-in [b8e4a01246] updated documentation about source code unit file names (user: abouchez branch: trunk)
10:39
[4d22339606] part of check-in [33d7574134] documentation update (user: abouchez branch: trunk)
2012-12-05
10:35
[f7311fcc50] part of check-in [c1b6696521] renamed aParams: TSQLRestServerCallBackParams into more explicit/neutral Ctxt: TSQLRestServerCallBackParams signature (user: abouchez branch: trunk)
2012-12-04
17:27
[417e713731] part of check-in [ace12b0996]
  • 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)
(user: abouchez branch: trunk)
2012-12-02
18:50
[34caac83da] part of check-in [49462603c9] enhanced variant support and documentation (e.g. in RecordLoad/RecordSave - still testing and dynamic arrays to process) (user: ab branch: trunk)
2012-11-28
13:34
[88d5e0a827] part of check-in [1c6fe7a1fd] 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 (user: abouchez branch: trunk)
2012-11-20
13:05
[72a8a644fd] part of check-in [a388d079a0] updated documentation about Authentication in mORMot using Windows credentials (user: abouchez branch: trunk)
2012-11-05
19:42
[662492d132] part of check-in [3383e49e4e] added TInterfacedObjectWithCustomCreate kind of class, making easy to use virtual constructors for TSQLRestServer.ServiceRegister() (user: ab branch: trunk)
2012-10-28
21:34
[3d8dc68ed4] part of check-in [a43a141303] updated documentation (user: ab branch: trunk)
2012-10-26
10:05
[6f124040ed] part of check-in [a7a76f441d] updated documentation (user: abouchez branch: trunk)
2012-10-22
05:55
[ccec6b5d30] part of check-in [3773230b33] fix documentation about "REST and JSON": authentication shall be disabled first (user: abouchez branch: trunk)
2012-10-18
14:20
[8861ad6b01] part of check-in [c0b2c719de] 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 (user: abouchez branch: trunk)
2012-10-16
12:19
[c3bf2f10d3] part of check-in [41a6ada266] fixed unexpected issue in TSQLRestClientURI.BatchSend() when nothing is to be sent (user: abouchez branch: trunk)
2012-10-15
12:07
[a75cd64677] part of check-in [e8cf3f4815] documentation enhancements (user: abouchez branch: trunk)
2012-10-14
23:12
[6fe0d8ad05] part of check-in [d019c0567b] polished and completed stub / mock features - including end-user documentation (user: ab branch: trunk)
2012-10-03
11:48
[d5c2cb542c] part of check-in [695567cbd1] 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 (user: abouchez branch: trunk)
2012-09-14
07:58
[122e3d0053] part of check-in [1f14b8042e] updated documentation to reflect [cc9865c5b4] changes (user: abouchez branch: trunk)
2012-09-03
12:33
[82d7950cc2] part of check-in [ba6ff51ae9]
  • 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)
(user: ab branch: trunk)
2012-09-02
10:26
[f0e724c0ec] part of check-in [e4b19dfe78] added Iso8601ToSQL() function in addition to DateToSQL() and DateTimeToSQL() (user: ab branch: trunk)
2012-08-31
14:48
[4325a53c26] part of check-in [82b9e305dd] 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 (user: ab branch: trunk)
2012-08-27
16:51
[257fac4aa5] part of check-in [eaa12aef16]
  • 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)
(user: ab branch: trunk)
2012-08-18
06:31
[7b5ef18784] part of check-in [6fda439201] updated documentation (user: ab branch: trunk)
2012-08-15
14:38
[59ae1c11b3] part of check-in [9755c6341b]
  • SynDB shared database specific SQL magic enhanced
  • documentation update
(user: ab branch: trunk)
08:52
[b2115df07f] part of check-in [ae9da45d75] updated documentation (user: ab branch: trunk)
2012-08-10
14:59
[6dbf486472] part of check-in [0980301f72] updated documentation about the new ODBC direct connection access (SynDBODBC.pas unit) (user: ab branch: trunk)
2012-08-05
20:01
[902db0bebc] part of check-in [18a20f5425] documentation refresh (user: ab branch: trunk)
16:56
[6eaf39e024] part of check-in [aecd1f1d2c] completed documentation about interface-based services, and calling context (user: ab branch: trunk)
2012-08-02
15:16
[bb4f615ed8] part of check-in [be7a9520cd] 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 (user: ab branch: trunk)
2012-07-28
20:57
[8fd5de3c4c] part of check-in [6bc3a55037] updated documentation (user: ab branch: trunk)
18:18
[e248e06d45] part of check-in [54f4e32c25] added TSQLDBSQLite3Connection.Synchronous property (user: ab branch: trunk)
2012-07-26
16:08
[5538801692] part of check-in [0f89c32976] documentation update about ACID, synchronous SQlite3 setting, and speed (user: ab branch: trunk)
2012-07-25
15:51
[6e0c7acd98] part of check-in [18fc67d3db]
  • added TSQLDataBase.Synchronous and TSQLDataBase.WALMode properties
  • added TSQLDataBase.ExecuteNoException() overloaded methods
(user: ab branch: trunk)
11:53
[d1e108d003] part of check-in [738bedfd84] added general benchmark code for framework ORM, and updated related documentation (user: ab branch: trunk)
2012-07-24
11:52
[c69b298b9b] part of check-in [3cfd0c22ad] 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) (user: ab branch: trunk)
2012-07-17
06:57
[9edc673c27] part of check-in [cadd06bddc] documentation update about (zeroing) weak pointers (user: G018869 branch: trunk)
2012-07-12
15:32
[62b65b59c2] part of check-in [9675d194ab] updated documentation about ORM features of mORmot, when compared to other implementations (user: G018869 branch: trunk)
2012-07-04
08:29
[7969978d71] part of check-in [75935462ce] 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. (user: G018869 branch: trunk)
2012-06-23
07:33
[d477ec6b61] part of check-in [ffe496a829]
  • 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
(user: User branch: trunk)
2012-06-19
13:04
[2474ca220f] part of check-in [22f1aff22c] documentation update, mainly about (Zeroing) Weak pointers feature (user: G018869 branch: trunk)
2012-06-15
18:28
[37b7003b2f] part of check-in [39b7de8177] 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 (user: G018869 branch: trunk)
15:47
[93ee5422cc] part of check-in [8bc6fbc26d] enhanced documentation about License statement notice (user: G018869 branch: trunk)
2012-06-14
17:11
[533e6d7a85] part of check-in [9a0b706eb9]
  • 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
(user: G018869 branch: trunk)
2012-06-13
12:22
[522f44a409] part of check-in [6549205fc3] updated documentation to reflect the fact that "cardinal" kind of published properties are not handled properly yet - should use Int64 instead (user: G018869 branch: trunk)
2012-05-26
19:00
[9c9d5f7e1e] part of check-in [82dc3ba8e1] documentation fixes (user: User branch: trunk)
11:07
[a8619e4113] part of check-in [4c76dd230c] updated documentation about Domain Driven Design (DDD) (user: User branch: trunk)
2012-05-25
15:28
[7e41745b2d] part of check-in [a12e0e0576] updated documentation (user: G018869 branch: trunk)
2012-05-18
15:36
[9dd5dbee8e] part of check-in [064dd5562c] refactored/updated ORM documentation about Objects relationship (i.e. cardinality) (user: G018869 branch: trunk)
2012-05-03
15:19
[dadae1f184] part of check-in [5b3468e16c] 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 (user: G018869 branch: trunk)
2012-04-20
17:08
[deaa051036] part of check-in [3870d7cf0f] added article about WCF and mORMot SOA implementations (user: G018869 branch: trunk)
2012-04-19
13:37
[891b821a0b] part of check-in [61169861b7] fixed Unicode compilation error (user: G018869 branch: trunk)
13:09
[f2e636afca] part of check-in [9a049fcaa9] added SAD-Ajax section of documentation (introducing Smart Studio and mORMot) (user: G018869 branch: trunk)
2012-04-13
16:21
[bf533a56fd] part of check-in [ecca0393cf] FPC compatibility enhancement (user: G018869 branch: trunk)
10:00
[5c3b27478a] part of check-in [bea19ebde8]
  • 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
(user: G018869 branch: trunk)
2012-04-12
18:59
[e5574c93a1] part of check-in [d0e2d37be4] get rid of the over-complicated aEndOfObject parameter in TDynArrayJSONCustomReader callbacks (user: G018869 branch: trunk)
18:28
[411dae4b83] part of check-in [97bf3890a8] updated documentation and regression tests for TDynArray custom JSON serialization (user: G018869 branch: trunk)
15:26
[e8de762984] part of check-in [36d0fcd3c7] added TTextWriter.RegisterCustomJSONSerializer() method to allow JSON serialization of any dynamic array content (used by TDynArray.LoadFromJSON and TTextWriter.AddDynArrayJSON) (user: G018869 branch: trunk)
12:43
[f2afd8c123] part of check-in [1b91852ea4] updated documentation about the TJSONSerializer.RegisterCustomSerializer() class method (user: G018869 branch: trunk)
2012-04-04
13:59
[9fa2cdc0ba] part of check-in [6d31a4de6f] documentation enhancement about filtering and validating records (user: G018869 branch: trunk)
2012-03-28
10:01
[1d8bad8821] part of check-in [52105f4ebe]
  • 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)
(user: G018869 branch: trunk)
2012-03-21
16:21
[073cebd3d8] part of check-in [b74c92e188] documentation update (user: G018869 branch: trunk)
11:12
[534576f85e] part of check-in [bdd1fd898f] updated documentation about TServiceCustomAnswer kind of answer (user: G018869 branch: trunk)
2012-03-08
19:14
[339134094d] part of check-in [42c3263b6f] updated the framework documentation (user: User branch: trunk)
08:30
[cadbfea930] part of check-in [cee7c99241]
  • 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
(user: G018869 branch: trunk)
2012-03-07
16:28
[c047c074d6] part of check-in [99af04b23f] 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 :) (user: G018869 branch: trunk)
10:58
[e133fe0c42] part of check-in [fe293f4479] framework documentation update - corresponding to several blog posts (user: G018869 branch: trunk)
2012-03-06
18:01
[ef6ae0d975] part of check-in [70bd12cf67] documentation enhancements about interface-based services implementation (user: G018869 branch: trunk)
2012-03-05
16:19
[2d81b5733e] part of check-in [ddb7545aca] added the new default RESTful routing for interfaced-based services (in additional JSON-RPC mode), with associated regression tests (user: G018869 branch: trunk)
2012-03-04
19:12
[23528a14c6] part of check-in [81e6381544] not working revision - quick check in only (user: User branch: trunk)
2012-03-02
21:01
[7cb7fb39e4] part of check-in [d85e66ef0c] documentation updated (first part of interface-based services description) (user: G018869 branch: trunk)
2012-03-01
20:20
[e275219e9e] part of check-in [11e01ba7e9]
  • 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)
(user: G018869 branch: trunk)
2012-02-29
20:54
[62ebc745b3] part of check-in [facbe4e611] documentation update - corresponding mostly to http://blog.synopse.info/post/2012/02/29/Delphi-and-interfaces (user: G018869 branch: trunk)
2012-02-20
16:34
[22c432ca42] part of check-in [efa16a1cc7]
  • added TSQLRestCache.SetCache(aRecord: TSQLRecord) overloaded method;
  • updated documentation (general table of contents + CRUD caching)
(user: G018869 branch: trunk)
13:37
[8f5623ab45] part of check-in [1d37480166] reintroduce TSQLDataBaseSQLFunction.Create() constructor, and added some TSQLDataBase.RegisterSQLFunction() overloaded methods - also updated/completed associated documentation (user: G018869 branch: trunk)
2012-02-18
09:05
[2fc8ab0099] part of check-in [5e993789ef]
  • updated mORMot documentation
  • change main editor font to 'Consolas' (if available), and with word wrap
(user: User branch: trunk)
2012-02-17
18:09
[1a81915c66] part of check-in [fc9d3e757f]
  • optimized CRUD/ORM level Client and Server caching
  • updated corresponding documentation
  • added some dedicated regression tests
(user: G018869 branch: trunk)
2012-02-14
16:18
[573435f9f7] part of check-in [40db4c74b0] documentation update about caching mechanisms implemented within the framework (user: G018869 branch: trunk)
2012-02-07
07:49
[0a5758e1db] part of check-in [2317e013f4] updated documentation about new Service callbacks signature (user: G018869 branch: trunk)
2012-01-11
12:49
[cffb475cb9] part of check-in [ad3e9c502e]
  • 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)
(user: G018869 branch: trunk)
2012-01-04
17:08
[c68722c498] part of check-in [f87450236e] 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 (user: G018869 branch: trunk)
2011-12-11
10:25
[d21a700ca4] part of check-in [f142dc9b6f] small doc change (user: ab branch: trunk)
2011-12-07
12:30
[bcaecd4855] part of check-in [0850e51412] some minor code refactoring (user: G018869 branch: trunk)
08:40
[5e2b26d48e] part of check-in [3a12dd08f5] updated documentation about TSQLRecorD.FillPrepareMany method (user: G018869 branch: trunk)
2011-11-30
13:39
[0be5018044] part of check-in [f00ac8f58c]
  • 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
(user: G018869 branch: trunk)
2011-11-24
15:35
[354e66195d] part of check-in [446d7a3188] updated documentation about general OOP programming (SOLID principles) (user: G018869 branch: trunk)
2011-11-11
13:52
[b8c3f87644] part of check-in [5674fa9903]
  • 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)
(user: G018869 branch: trunk)
2011-11-09
16:09
[4e22f10465] part of check-in [1a4d8a0cee] fixed typo (user: G018869 branch: trunk)
08:25
[8dd9fbbbc9] part of check-in [e9d0caed14] documentation update about currency handling (user: G018869 branch: trunk)
2011-09-25
08:39
[8f71d7ba2b] part of check-in [967014c6b8] updated documentation (user: ab branch: trunk)
2011-09-17
09:43
[cebd2b87a3] part of check-in [f2dc8c2c99] fix small issue in testing procedure which made tests fail on high-end computers (user: ab branch: trunk)
2011-09-14
16:46
[91c8fc62fe] part of check-in [ffa47fc268] documentation and main demo updated about i18n and L10n (user: G018869 branch: trunk)
2011-09-13
15:21
[50f9d12412] part of check-in [b24dff5f9b] updated documentation about TCreateTime new field type (user: G018869 branch: trunk)
2011-08-20
08:59
[1675efd7d8] part of check-in [ed22240c3d] enhanced log viewer (and documentation) (user: ab branch: trunk)
2011-08-19
14:47
[ecb080773e] part of check-in [d3916ef410] tuning and fixing logging implementation of the framework (user: G018869 branch: trunk)
2011-08-12
15:06
[65108829ee] part of check-in [c2925fd80e] updated documentation with new logging events (user: G018869 branch: trunk)
2011-08-10
20:47
[8417447d08] part of check-in [358d6abecf] adult only removed :) (user: ab branch: trunk)
18:40
[352126f6e7] part of check-in [82c790f5fa] documentation refresh before publication (user: ab branch: trunk)
16:08
[a21b50b5d9] part of check-in [306ce29c98] documentation enhancements (user: G018869 branch: trunk)
2011-08-09
18:20
[2532b1f242] part of check-in [09e8f38051]
  • 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
(user: G018869 branch: trunk)
2011-08-08
14:45
[dafffd9085] part of check-in [5250a35313] updated documentation (user: G018869 branch: trunk)
2011-08-07
17:10
[270bd16637] part of check-in [bb695a227a] fix error in a diagram (user: ab branch: trunk)
08:21
[38c2e0a784] part of check-in [6335031999] always making it better (user: ab branch: trunk)
08:03
[2444879628] part of check-in [14235b81f5] doc updated (user: ab branch: trunk)
2011-08-06
10:28
[c721e91c75] part of check-in [b9072979fb] small fix (user: ab branch: trunk)
10:21
[2c9dcac8a2] part of check-in [057473e3d8] documentation update (new diagrams available) (user: ab branch: trunk)
2011-08-05
16:42
[687d310b76] part of check-in [6d26b53377] huge documentation enhancements, mostly about SynDB external database handling (user: G018869 branch: trunk)
2011-07-29
10:31
[70df3c5fd6] part of check-in [cf9b100078]
  • 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
(user: G018869 branch: trunk)
2011-07-22
09:40
[7d25d1b353] part of check-in [75b5b81a88] 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) (user: G018869 branch: trunk)
2011-07-15
13:23
[89258ac28d] part of check-in [a63549f986]
  • 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
(user: G018869 branch: trunk)
2011-07-12
12:42
[8cb6709a2c] part of check-in [a437bc3356] documentation completion (user: G018869 branch: trunk)
12:29
[1c87c54065] part of check-in [dce5d3a664] 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)
(user: G018869 branch: trunk)
2011-07-04
15:52
[87372afc2a] part of check-in [fb412de047] added FieldCount and Fields property to our TQuery wrapper (user: G018869 branch: trunk)
2011-07-03
18:27
[2caa820bb6] part of check-in [1733a65d32] updated documentation about "sharding" - see http://blog.synopse.info/post/2011/07/03/Sharde-nothing-architecture (user: ab branch: trunk)
2011-06-28
13:47
[ea4d8a1737] part of check-in [632e59e7fc] updated documentation (user: G018869 branch: trunk)
2011-06-17
14:23
[e8cf02af1e] part of check-in [bdf1f00225]
  • fixed issues in SQLite3UIEdit
  • several small compilation or documentation fixes
(user: ab branch: trunk)
2011-06-16
07:19
[11daa3d226] part of check-in [b2fa02046a] documentation enhancement (user: ab branch: trunk)
2011-06-15
11:49
[ae40d1226e] part of check-in [b4c00d1253] compilation fix for SQLite3UIEdit version 1.14 (user: ab branch: trunk)
05:30
[dc0bfcb7f1] part of check-in [bc176b49b7] new SetCMYKFillColor and SetCMYKStrokeColor methods for TPdfCanvas (user: ab branch: trunk)
2011-06-08
15:24
[33c60d12d9] part of check-in [1d07de30ab] fixed small typo (user: ab branch: trunk)
13:04
[9ba7a413ab] part of check-in [154f9f7f11]
  • generic Delphi 5 solution of exception interception
  • documentation enhancement
(user: ab branch: trunk)
2011-06-03
15:55
[e887e0c41a] part of check-in [85e0d42d7a]
  • updated documentation
  • fix '<' character HTML export in SynProject
(user: ab branch: trunk)
10:02
[55cad95623] part of check-in [00efcda2c6]
  • SynMemoEx as used in SynProject editor: in case of menu from keyboard -> show popupmenu at caret position
  • documentation enhancement
(user: ab branch: trunk)
2011-06-01
16:01
[40ae4eb6d1] part of check-in [a89741abd1] deep rewrite of SynProject document generation core: could serve other backends than rtf/word (user: ab branch: trunk)
2011-05-31
15:52
[fa169e7614] part of check-in [b7563edfae]
  • enhanced documentation
  • LoggingTest for Delphi 5
(user: ab branch: trunk)
2011-05-29
15:23
[2da43eb0f1] part of check-in [c30985b26a] new OnAuthentificationFailed method to let the Client ask for a refreshed user name and password (user: ab branch: trunk)
2011-05-27
15:42
[7092c04a31] part of check-in [d97807044c] new right-click popup menu accessible for editor, with fast access to all tool functions (user: ab branch: trunk)
2011-05-26
09:59
[a48e13a0ef] part of check-in [c83b1d9aa5]
  • BigTable: fixed potential issue when compiled with THREADSAFE
  • enhanced documentation
(user: ab branch: trunk)
09:03
[6ff1469da2] part of check-in [d36871c73a] 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 (user: ab branch: trunk)
2011-05-25
17:41
[d5b14b1795] part of check-in [553dc78cb5] documentation update (for generation as sampledoc.zip) (user: ab branch: trunk)
15:31
[827d869d04] part of check-in [29abbcd43c] documentation enhanced (user: ab branch: trunk)
14:21
[408e3c56a2] part of check-in [4f012f51f8]
  • 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
(user: ab branch: trunk)
2011-05-23
16:08
[cb2a022703] part of check-in [dc06f54458] session and uri authentication implemented - also associated documentation (user: ab branch: trunk)
2011-05-22
18:08
[5029f0e20f] part of check-in [28baa05792] In-memory virtual tables are now written on disk by default. For instance, COMMIT will call the UpdateToFile method. (user: ab branch: trunk)
2011-05-20
17:19
[32e4735529] part of check-in [a08c2c046a] introducing framework security and authentication (user: ab branch: trunk)
2011-05-16
08:04
[d136103a24] part of check-in [fa656104ad] Explicitly enhance SOA orientation of the framework (user: ab branch: trunk)
2011-05-14
09:07
[d05f8a3b06] part of check-in [7a9cdb7bc4]
  • changed the way Virtual Table modules are associated to TSQLRecordVirtual - not by the class name any more
  • documentation update
(user: ab branch: trunk)
2011-05-13
14:51
[26e71ea444] part of check-in [1f7fd32764]
  • 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
(user: ab branch: trunk)
2011-05-10
11:40
[1828f86e3b] part of check-in [c50e494a5b] updated the documentation in order to be more clear about using transactions in the framework (user: ab branch: trunk)
2011-05-05
17:18
[142cebfde6] part of check-in [c682fcacab] first introduction of virtual table Delphi implementation, via TSQLVirtualTableModule/TSQLVirtualTable/TSQLVirtualTableCursor classes and corresponding low-level functions and structures (user: ab branch: trunk)
2011-05-03
15:01
[c852089086] part of check-in [5c376ea962] 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) (user: ab branch: trunk)
2011-04-30
11:47
[d00d5b97b9] part of check-in [9bc4ebea3e] enhanced keyword indexes (user: ab branch: trunk)
2011-04-28
14:46
[ca63305bd8] part of check-in [a2f09d055b]
  • 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
(user: ab branch: trunk)
2011-04-27
14:28
[8c90fa1f7c] part of check-in [736af989cf] introducing TSQLRecordRTree to implement R-Tree virtual tables - and new TSQLRecordVirtual parent table for all virtual tables including TSQLRecordFTS* (user: ab branch: trunk)
2011-04-26
15:17
[743dbdf66c] part of check-in [09caae83f0]
  • 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
(user: ab branch: trunk)
2011-04-22
15:51
[fba1e7e72a] part of check-in [84edebde5b] ORM now handle TPersistent, TStrings, TCollection and TRawUTF8List as published properties (stored as TEXT in ObjectToJSON format) (user: ab branch: trunk)
2011-04-21
15:41
[343511e0ec] part of check-in [31d15a6f17] documentation update (user: ab branch: trunk)
2011-04-19
15:58
[40e06171a2] part of check-in [8d4a17e91b] added BATCH sequences for adding/updating/deleting records in documentation (user: ab branch: trunk)
14:38
[167921c7a2] part of check-in [39d1c320fd]
  • 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
(user: ab branch: trunk)
09:46
[5a87d250fe] part of check-in [564b858a28] documentation update (user: ab branch: trunk)
2011-04-15
13:55
[aba160e350] part of check-in [c3d5d774ce] updated documentation (user: ab branch: trunk)
2011-03-21
18:42
[3fb9dfa2f5] part of check-in [695668b7d0] documentation update (user: ab branch: trunk)
2011-03-18
17:07
[96cca68dd8] part of check-in [2935e72846] updated framework documentation and main sample source code (now described in the SAD document) (user: ab branch: trunk)
2011-03-17
16:41
[8f737fe8fb] part of check-in [1ad20a1648] updated framework documentation (user: ab branch: trunk)
2011-02-16
14:26
[a3502af095] part of check-in [1bb722bfc3] udpated SQLite3 documentation (user: ab branch: trunk)
2011-02-13
19:55
[57ec3c8be0] part of check-in [1216d9d159] updated documentation (user: ab branch: trunk)
2010-12-16
17:58
[be2fd5b5a9] part of check-in [6a8c47527d]
  • 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)
(user: G018869 branch: trunk)
2010-07-15
16:58
[634cf3e874] part of check-in [1a320bea61] Synopse SQLite3 Framework.pro updated (user: ab branch: trunk)
2010-07-12
18:44
Added [baec7001c5] part of check-in [6a8abda7db] Synopse SQLite3 Framework documentation source files (e.g. .pro) included in the SQLite3/Documentation sub directory (user: ab branch: trunk)