Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
2012-11-28
| ||
13:34 | Renamed to SQLite3/mORMot.pas. 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 check-in: [1c6fe7a1fd] user: abouchez branch: trunk, size: 0 | |
2012-11-26
| ||
09:23 | fixed issue in TSQLRestServerStaticExternal.EngineDeleteWhere() when calling commands like MyDB.Delete(TSQLMyClass, 'PLU < ?', [20000]) file: [754dea97aa] check-in: [73c7d1ce94] user: abouchez branch: trunk, size: 1250442 | |
2012-11-23
| ||
10:09 | override User.PasswordHashHexa with Windows Authentication context ID to ensure work even if not connected to a domain file: [3afd0012fe] check-in: [9c6cd2ded8] user: abouchez branch: trunk, size: 1250444 | |
2012-11-22
| ||
15:58 |
| |
2012-11-21
| ||
15:38 |
| |
08:16 | refresh session context timer in case of GetTickCount() 49 days overflow file: [b1fe771acc] check-in: [8f1b38a05f] user: abouchez branch: trunk, size: 1250157 | |
2012-11-20
| ||
12:41 | Let SessionUser.LogonName be filled by value as retrieved from server side, when Windows Authentication is used file: [befecb5b14] check-in: [78837c4156] user: abouchez branch: trunk, size: 1250086 | |
10:43 | fix TSQLRestClientURI.Commit/RollBack to work as expected by TSQLRestClientURI.TransactionBegin() file: [68054da786] check-in: [faffe2f286] user: abouchez branch: trunk, size: 1249902 | |
10:38 | allow only to delete its own session - security fix for ticket [7723fa7ebd] file: [9dbcc1db9e] check-in: [9f5e95b350] user: abouchez branch: trunk, size: 1249759 | |
10:25 | added Windows Authentication as a potential way of Client-Server authentication to mORMot file: [43422829b3] check-in: [d92d2f2de1] user: abouchez branch: trunk, size: 1249871 | |
2012-11-15
| ||
13:24 | fixed Unicode compilation issues file: [5c4a1767d8] check-in: [950480023e] user: abouchez branch: trunk, size: 1243055 | |
08:54 | fixed ticket [c7e163cfe7] file: [ad68e608a1] check-in: [577318fa52] user: abouchez branch: trunk, size: 1243024 | |
2012-11-14
| ||
16:37 | added JSON serialization of Variant and WideString types in JSONToObject() / ObjectToJSON() functions and WriteObject method file: [5047890a21] check-in: [6232341ec3] user: abouchez branch: trunk, size: 1243016 | |
16:20 |
| |
2012-11-06
| ||
10:11 | fixed issue in TServiceFactoryServer.CreateInstance() method file: [c39a827d80] check-in: [646d312153] user: ab branch: trunk, size: 1233388 | |
2012-11-05
| ||
21:31 | introducing smvVariant kind of parameter for interface-based services file: [c7ce7181a9] check-in: [fd12ca0082] user: ab branch: trunk, size: 1233362 | |
19:42 | added TInterfacedObjectWithCustomCreate kind of class, making easy to use virtual constructors for TSQLRestServer.ServiceRegister() file: [3328e5c538] check-in: [3383e49e4e] user: ab branch: trunk, size: 1231577 | |
2012-11-01
| ||
10:58 | fix runtime error when multiple dynamic arrays properties are defined in a TSQLRecord file: [6ab605c567] check-in: [d1246203be] user: ab branch: trunk, size: 1230296 | |
2012-10-28
| ||
09:06 | new two BinaryToText/TextToBinary protected methods allowing custom storage of binary content as text file: [f6b0c54c9f] check-in: [6226ec0b74] user: ab branch: trunk, size: 1230297 | |
2012-10-26
| ||
16:50 | fixed some compilation issues file: [9ca7b7ecc4] check-in: [72fbc6eea3] user: ab branch: trunk, size: 1228988 | |
15:23 | introducing sftBlobCustom and sftUTF8Custom kind of field (not yet implemented) file: [6ef1b484df] check-in: [2c6f4bf633] user: abouchez branch: trunk, size: 1229126 | |
10:03 | deep code refactoring, introducing TSQLPropInfo* classes in order to decouple the ORM definitions from the RTTI - will allow definition of any class members, even if there is no RTTI generated or via custom properties attributes or a fluent interface file: [a87f8721b9] check-in: [79546deff4] user: abouchez branch: trunk, size: 1223578 | |
2012-10-22
| ||
06:43 | moved SQLFromSelectWhere() from a global function to a TSQLModel method (to prepare "Table per class hierarchy" mapping in mORMot) file: [dea85203df] check-in: [64f7517bb9] user: abouchez branch: trunk, size: 1156646 | |
2012-10-19
| ||
18:35 | introducing TSQLPropInfo* classes for a more generic RTTI handling - starting of a huge code refactoring in SQLite3Commons.pas file: [73c86e9e12] check-in: [f1364f9b7d] user: abouchez branch: trunk, size: 1156511 | |
2012-10-18
| ||
14:20 | TSQLRestClientURINamedPipe and TSQLRestClientURIMessage are now thread-safe (i.e. protected by a system mutex) therefore can be called from a multi-threaded process, e.g. TSQLRestServer instances as proxies file: [0e0b7ebe65] check-in: [c0b2c719de] user: abouchez branch: trunk, size: 1152598 | |
2012-10-17
| ||
11:31 |
| |
2012-10-16
| ||
12:19 | fixed unexpected issue in TSQLRestClientURI.BatchSend() when nothing is to be sent file: [a102b37a42] check-in: [41a6ada266] user: abouchez branch: trunk, size: 1178227 | |
2012-10-15
| ||
12:06 | changed TOnInterfaceStubExecute function prototype to have only one "var Params: TOnInterfaceStubExecuteParams" argument (easier to write inlined delegates) file: [ff93100103] check-in: [8954db6df9] user: abouchez branch: trunk, size: 1178007 | |
2012-10-14
| ||
23:12 | polished and completed stub / mock features - including end-user documentation file: [074d816750] check-in: [d019c0567b] user: ab branch: trunk, size: 1177248 | |
08:44 |
| |
2012-10-13
| ||
11:04 | added logging / tracing feature to TInterfaceStub and associated ExpectsTrace() methods - now our mocking / stubbing feature sounds almost complete, and the only Delphi mocking solution I know able to handle such low-level trace checking file: [e5d2a1ba5f] check-in: [1e4387b37d] user: ab branch: trunk, size: 1169256 | |
2012-10-12
| ||
22:41 | TInterfaceStub.ExpectsCount() parameters order enhancement file: [06e6f413c3] check-in: [da887de603] user: ab branch: trunk, size: 1159711 | |
22:35 |
| |
22:16 | added RecordSaveJSON() function which follows TTextWriter.AddRecordJSON() format file: [6c9a773e1d] check-in: [67660b261f] user: ab branch: trunk, size: 1154753 | |
16:29 | fixes for inlined Check() function error and Unicode warnings file: [b296d4bf7c] check-in: [310b6e70ad] user: ab branch: trunk, size: 1154728 | |
14:16 | fixed issue in TSQLRestServer.Create() about authentication enabling file: [4589b90a69] check-in: [073074697e] user: abouchez branch: trunk, size: 1154720 | |
13:43 |
* introducing TInterfaceStub and TInterfaceMock classes to define high-performance interface stubbing and mocking via a fluent interface * added dedicated EInterfaceFactoryException * added TServiceMethod.DefaultResult property, to be used for stubs/mocks * TServiceFactory.Create() and its children will now alwyas have an optional aContractExpected parameter (for consistency with TServiceFactoryClient)file: [c5735de6ba] check-in: [7e021f8fa8] user: abouchez branch: trunk, size: 1154735 | |
2012-10-09
| ||
10:04 |
huge interface mocking code refactoring:
| |
2012-10-08
| ||
12:04 | introduced abstract TServiceFactoryFake class, parent of all interface fake class implementation (for client-sider services or mocks/stubs) file: [1365f4d9b9] check-in: [082f778515] user: abouchez branch: trunk, size: 1119081 | |
2012-10-06
| ||
15:02 | SetWeakZero() function will now use a much faster per-class lock design file: [dc51ec048b] check-in: [072dd1bbb5] user: ab branch: trunk, size: 1116375 | |
2012-10-03
| ||
15:27 |
| |
11:48 | introduced more readable "stored AS_UNIQUE" published property definition in TSQLRecord (via the explicit AS_UNIQUE=false constant) - see http://blog.synopse.info/post/2012/10/03/Today-s-sugar%3A-%22stored-AS_UNIQUE%22-syntax file: [6829977566] check-in: [695567cbd1] user: abouchez branch: trunk, size: 1115626 | |
2012-10-02
| ||
08:46 | added TSQLTable.GetAsInt64() method - proposal [3bea5d89c6] file: [d5b20586a5] check-in: [93d2c038cc] user: abouchez branch: trunk, size: 1114968 | |
08:39 | fixed potential errors JSON generation issue in TSQLRestServer.URI - ticket [b0e9116aeb] file: [fb761271a2] check-in: [97a8bc4cb2] user: abouchez branch: trunk, size: 1114628 | |
2012-09-27
| ||
09:36 | added RemoveCommentsFromJSON() procedure and associated regression test - from MPV proposal file: [1702850e2a] check-in: [87c570c277] user: abouchez branch: trunk, size: 1114351 | |
2012-09-26
| ||
14:36 | allow TSQLRestServer.ExportServerMessage to be started in conjunction with other protocols (like named pipes) file: [8d260d46a6] check-in: [bd8fab792e] user: abouchez branch: trunk, size: 1114090 | |
09:54 | fix potential GDI handle resource leak in TSQLRestClientURIMessage.Create file: [1b2a61f8d9] check-in: [7b99e0bee1] user: abouchez branch: trunk, size: 1113992 | |
2012-09-24
| ||
12:23 |
| |
2012-09-18
| ||
07:04 |
| |
2012-09-14
| ||
07:15 | fixed PasswordHashHexa field width file: [798cb9ad6b] check-in: [acb9d3ffef] user: abouchez branch: trunk, size: 1113106 | |
06:27 | small typo fix file: [8f3a80b567] check-in: [537100e64f] user: abouchez branch: trunk, size: 1113106 | |
05:28 |
| |
2012-09-11
| ||
09:30 | changed GetBitCSV/SetBitCSV CSV format to use 'first-last,' pattern to regroup set bits (reduce storage size e.g. for TSQLAccessRights) - format is still read-compatible with old layout, but will more optimized for size and human-readable file: [cd5437d464] check-in: [ca97a46a41] user: abouchez branch: trunk, size: 1105483 | |
2012-09-10
| ||
14:40 | new protected TSQLRestServer.InternalAdaptSQL method, extracted from URI() process to also be called by TSQLRestServer.InternalListJSON() for proper TSQLRestServerStatic.AdaptSQLForEngineList(SQL) call file: [19561a2ab6] check-in: [c1285b2bee] user: abouchez branch: trunk, size: 1105371 | |
12:22 | TSQLAuthUser and TSQLAuthGroup have now "index ..." attributes to their RawUTF8 properties, to allow direct handling in external databases file: [a6b3bbac6f] check-in: [cbea85fb7b] user: abouchez branch: trunk, size: 1105002 | |
09:53 | fix Delphi 6 compilation issue file: [c3dfc20c7d] check-in: [81187b7058] user: abouchez branch: trunk, size: 1104739 | |
2012-09-07
| ||
16:25 | added TSQLRest.Delete() overloaded method with a WHERE clause parameter - including direct SQL execution and ORM dedicated notifications / coherency checking file: [0fd2e8f90a] check-in: [1cb51e996f] user: ab branch: trunk, size: 1104512 | |
06:08 | fix for Delphi 2009 file: [9dab3505d2] check-in: [42f544fc40] user: ab branch: trunk, size: 1097634 | |
2012-09-06
| ||
19:23 | refactoring of TServiceMethod.InternalExecute to change the Instances parameter to be specified as an open array for fast execution over multiple instances of implementation classes (to be used to implement one-way callback events) file: [a60f6a1347] check-in: [f864f1825d] user: ab branch: trunk, size: 1097569 | |
2012-09-05
| ||
10:02 | fixed implementation and added multi-thread testing of ExecuteInMainThread() method file: [aad3489220] check-in: [e98e24e118] user: ab branch: trunk, size: 1097086 | |
2012-09-04
| ||
16:00 | documentation update file: [32c8f68f27] check-in: [5048547937] user: ab branch: trunk, size: 1096784 | |
15:50 | added "Enable" optional parameter to TServiceFactoryServer.ExecuteInMainThread() method file: [15cb578712] check-in: [6600ed0b85] user: ab branch: trunk, size: 1096443 | |
15:43 |
| |
12:09 | refactoring of TServiceMethod.InternalExecute low-level asm implementation file: [e3bbdb4a67] check-in: [c09a974fc9] user: ab branch: trunk, size: 1092453 | |
2012-09-03
| ||
13:12 | added per-thread cleaning (i.e. TSQLResetServer.EndCurrentThread call) also for TSQLRestServerNamedPipeResponse connection protocol file: [b0489e4a3f] check-in: [5d905a0105] user: ab branch: trunk, size: 1092378 | |
12:33 |
| |
2012-08-31
| ||
14:48 | TSQLRecord.Create/FillPrepare/CreateAndFillPrepare and TSQLRest.OneFieldValue/MultiFieldValues methods signature BREAKING CHANGE: array of const used to be ParamsSQLWhere and expecting '%' in the FormatSQLWhere statement, is now called BoundsSQLWhere, and expects bound parameters specified as '?' in the FormatSQLWhere statement - this is less confusing for new users, and more close to the usual way of preparing database queries; but your existing user code SHALL BE CHECKED and fixed file: [34808810e4] check-in: [82b9e305dd] user: ab branch: trunk, size: 1090825 | |
2012-08-29
| ||
15:50 | fixed several LVCL and Delphi 5 compilation issues file: [f00b046edf] check-in: [9422fb8309] user: ab branch: trunk, size: 1089245 | |
2012-08-27
| ||
16:51 |
| |
2012-08-22
| ||
12:41 |
| |
2012-08-21
| ||
16:24 | force deletion coherency in procedure TSQLRestServerStaticExternal.InternalBatchStop file: [a3f37b49e3] check-in: [adffc15dae] user: ab branch: trunk, size: 1083716 | |
14:39 | convert most definition of deprecated "object" into "record", when possible, for latest versions of Delphi file: [997d8bdb51] check-in: [2ffa10011a] user: ab branch: trunk, size: 1083673 | |
2012-08-20
| ||
07:48 | added aUseBatchMode optional parameter to TSQLRecordMany.ManyDelete() method file: [d742e774f1] check-in: [c0c4838f26] user: ab branch: trunk, size: 1082942 | |
2012-08-17
| ||
14:28 |
| |
2012-08-14
| ||
11:20 | fixed ticket [4f5df7f18f] - about potential overflow of TSQLRestServerStats values (changed to QWord kind of property) file: [2cda875cdf] check-in: [50f9b92f9d] user: ab branch: trunk, size: 1082140 | |
2012-08-04
| ||
10:53 | changed TSQLRecordProperties.BlobFieldsBits property into BlobFields, as an array of PPropInfo (for faster process) file: [a7bf4c05c0] check-in: [21f6dcf031] user: ab branch: trunk, size: 1081537 | |
09:42 | handle NULL values for BLOBs as expected file: [81c72dcf9a] check-in: [be2c287f3f] user: ab branch: trunk, size: 1081342 | |
2012-08-03
| ||
05:48 | fixed issue about BLOB unproperly serialized into JSON (e.g. now uses null) file: [bae1301b94] check-in: [0dfada3aa2] user: ab branch: trunk, size: 1081191 | |
2012-08-02
| ||
15:16 | changed TSQLRestServerCallBackParams content to be used as a generic parameters wrapper for both method callbacks and interface-based services: now aParams.Context.ID is to be used insted of aParams.ID file: [ec28378026] check-in: [be7a9520cd] user: ab branch: trunk, size: 1080881 | |
10:08 | various fixes and speed-ups, especially in the TSQLRestServerStaticInMemory process file: [d10edcf45e] check-in: [ab4478695e] user: ab branch: trunk, size: 1082077 | |
06:07 | TSQLRestServerStaticInMemory hash-based search will handle RawUTF8 properties just like the SYSTEMNOCASE collation: it will be 100% compatible with the default SQlite3 engine file: [b4bdfca802] check-in: [0103c8dbd5] user: ab branch: trunk, size: 1081244 | |
2012-08-01
| ||
16:34 |
| |
15:30 | fixed issue in TSQLRestClientURI.EngineAdd() when server returned -1 file: [4490476a96] check-in: [0d4153b3a3] user: ab branch: trunk, size: 1068669 | |
15:27 | added TSQLRest.Retrieve() overloaded method for easy parameter binding file: [ac641b1144] check-in: [3de256a408] user: ab branch: trunk, size: 1068559 | |
2012-07-27
| ||
15:00 | added optional "rowCount": in TSQLRestServerStaticInMemory.GetJSONValues, TSQLTable.GetJSONValues and in TSQLTableJSON.ParseAndConvert for about 5% faster process of huge content (mpv proposal) file: [75784f5ef3] check-in: [1ecf509a4b] user: ab branch: trunk, size: 1067709 | |
11:58 | new TSQLRestServerStaticInMemory.ExpandedJSON property, and associated fixes to ensure the created JSON content is valid file: [268b645397] check-in: [2edda3889b] user: ab branch: trunk, size: 1066980 | |
2012-07-26
| ||
16:08 |
| |
09:32 |
| |
2012-07-25
| ||
11:51 | fixed performance issue about pessimistic TSQLRestServerStaticInMemory.fIDSorted value file: [eaabbcac6b] check-in: [ff2321257a] user: ab branch: trunk, size: 1064388 | |
2012-07-24
| ||
13:22 | TSQLModel.Create() will reset all supplied classes to be defined as non virtual (i.e. Kind=rSQLite3), but will copy the kind of tables (internal/external) in case of clone file: [02c88e5546] check-in: [e0f8e78ad0] user: ab branch: trunk, size: 1063832 | |
11:52 | removed TSQLRecordExternal class type, to allow any TSQLRecord (e.g. TSQLRecordMany) to be used with VirtualTableExternalRegister() - there was indeed no implementation requirement to force a specific class type - and associated documentation enhancements (including BATCH array binding) file: [4db7077284] check-in: [3cfd0c22ad] user: ab branch: trunk, size: 1062865 | |
2012-07-23
| ||
11:58 | added EnsureUniqueTableInFrom parameter for function GetTableIndexFromSQLSelect) file: [e0a2d3e191] check-in: [c5e910961d] user: ab branch: trunk, size: 1061802 | |
07:27 | implemented feature request [7f6828999d] - about the possibility to use standard read/write in conjunction with custom read/write in JSONToObject and ObjectToJSON (mpv proposal - thanks!) file: [bec336be68] check-in: [45a798d805] user: G018869 branch: trunk, size: 1061627 | |
2012-07-21
| ||
10:30 | fix issues with some kind of input data file: [07797dda41] check-in: [5fdb5e0e5e] user: User branch: trunk, size: 1060967 | |
10:12 | new GotoNextNotSpace() and GotoEndOfQuotedString() functions file: [5416b4c9e9] check-in: [5c08860c99] user: User branch: trunk, size: 1060801 | |
2012-07-20
| ||
16:14 | added TSQLRestServerStatic.AdaptSQLForEngineList virtual method to handle most generic SELECT cases (overriden e.g. in SQLite3DB unit) file: [14c7eb523f] check-in: [be6c892fea] user: G018869 branch: trunk, size: 1060908 | |
08:25 | now JSONToObject/ObjectToJSON functions and WriteObject method will handle standard TPersistent class serialization into/from JSON object file: [125ba749fa] check-in: [2b5516cd24] user: G018869 branch: trunk, size: 1060240 | |
2012-07-19
| ||
13:37 | fix GPF issue when working with virtual tables on complex SQL queries file: [f809638bd7] check-in: [59fe5c929f] user: G018869 branch: trunk, size: 1058818 | |
13:25 | 'SELECT *' statements on virtual/external tables will by-pass the SQLite3 virtual table module: TSQLRecord.FillPrepare can be up to 30% faster file: [af86fb8aa9] check-in: [f067d8d845] user: G018869 branch: trunk, size: 1058792 | |
2012-07-18
| ||
15:57 |
| |
2012-07-17
| ||
06:56 | added TJSONObjectDecoder record/object helper for JSON object decoding (used e.g. by GetJSONObjectAsSQL() function, and for SQlite3DB process) file: [c18ac6735f] check-in: [a01eff7eb0] user: G018869 branch: trunk, size: 1052568 | |
2012-07-16
| ||
15:01 |
| |
2012-07-11
| ||
06:49 | now JSON parser will handle #1..' ' chars as whitespace (not only ' ') - just as expected by the specifications file: [111e0d85db] check-in: [01003b9517] user: G018869 branch: trunk, size: 1047540 | |
06:14 | now JSON parser will allow whitespace inserted between any pair of tokens, even after true/false/null, as expected by the specification - fix ticket [db2d4aed31] file: [ff61854787] check-in: [c8f19233cf] user: G018869 branch: trunk, size: 1047284 | |
2012-07-10
| ||
15:00 | fixed compilation issues since SQLite3Pages upgrade into Unicode ready implementation, introducing TSQLTable.ExpandAsSynUnicode method file: [95b2844284] check-in: [6a34b75c47] user: G018869 branch: trunk, size: 1047191 | |
2012-07-05
| ||
07:13 | now huge service JSON response is truncated (to default 20 KB) in logs file: [490a81d140] check-in: [2190897ad9] user: G018869 branch: trunk, size: 1046449 | |
2012-07-04
| ||
17:35 | external direct insert, update or delete actions (i.e. when the TSQLRestServerStaticExternal instance is called directly) will now flush the low-level SQLite3 DB SQL/JSON cache, as expected by the virtual tables (e.g. both TSQLRestServerStaticInMemoryExternal and TSQLRestServerStaticExternal classes) file: [6a2e44286a] check-in: [ce2e1dec5c] user: G018869 branch: trunk, size: 1045966 | |
08:29 |
Fix random issue in ServerTimeStamp kind of properties: since TTimeLog type is bit-oriented, you can't just use add or substract two TTimeLog values when doing such date/time computation: use a TDateTime temporary conversion in such case.
file: [9da0d60cf8]
check-in: [75935462ce]
user: G018869
branch: trunk,
size: 1043972
| |
2012-06-26
| ||
14:59 |
| |
2012-06-23
| ||
18:30 |
| |
07:33 |
| |
05:58 | fixed issue with Delphi 2009 file: [c416925e99] check-in: [ce734bb138] user: User branch: trunk, size: 1040987 | |
2012-06-22
| ||
16:16 | added TSQLTable.FieldLengthMax method file: [5936e19dfd] check-in: [12b395261a] user: G018869 branch: trunk, size: 1040977 | |
2012-06-17
| ||
18:27 | Interface to object conversion enhanced for any kind of fake clients file: [84fd261304] check-in: [a16fde7b40] user: User branch: trunk, size: 1040385 | |
2012-06-16
| ||
07:50 | small enhancements for TObjectListHashed file: [64d6780f22] check-in: [262f4c6c43] user: User branch: trunk, size: 1040185 | |
2012-06-15
| ||
19:49 | fix several compilation issues with class helpers before Delphi XE2, and other "joyeuset�es" file: [f859d4f391] check-in: [fa4f8891ed] user: User branch: trunk, size: 1040108 | |
18:28 | added SetWeakZero() function and TObject class helper to handle ZEROed Weak interface assignment (with small performance penalty and memory use), corresponding to the ARC's Zeroing Weak pointers model file: [cf15aaac74] check-in: [39b7de8177] user: G018869 branch: trunk, size: 1040065 | |
18:26 | TSQLRestCache.Notify*() methods made public for low-level potential use file: [827ca93f72] check-in: [5325a462e1] user: G018869 branch: trunk, size: 1033531 | |
15:47 | fixed issue about harcoded 'ID' column, not compatible with virtual tables file: [20f1aaab30] check-in: [aa10d080dd] user: G018869 branch: trunk, size: 1033375 | |
2012-06-14
| ||
17:20 | fix some typo error from latest check-in file: [7658f710c0] check-in: [b9ec190c07] user: G018869 branch: trunk, size: 1033473 | |
17:11 |
| |
2012-06-13
| ||
12:43 |
| |
2012-05-30
| ||
17:00 | made URI check case-insensitive (as for official RFC) - fix ticket [d324b4932c] file: [7acbd42f24] check-in: [3d14c64280] user: G018869 branch: trunk, size: 1028520 | |
16:30 | fixed issue in TSQLTable.GetJSONValues about JSON number encoding file: [40c3f29a80] check-in: [eb2b772e52] user: G018869 branch: trunk, size: 1028421 | |
2012-05-29
| ||
18:41 |
| |
2012-05-28
| ||
14:04 | now ObjectToJSON/JSONToObject will unserialize sets and enumerations as an array of string, if HumanReadable is set to TRUE file: [99fcefdbe7] check-in: [21220be121] user: User branch: trunk, size: 1028329 | |
13:40 | 2nd occurence of this Inc(PW) in TServiceFactory.AddMethodsFromTypeInfo method was already corrected as such, but not the first - fix [345611403f] file: [82a51056c0] check-in: [7d5c731817] user: User branch: trunk, size: 1027185 | |
13:29 | fix unexpected error dialog file: [39a9ab04a8] check-in: [5dd3bcaefa] user: User branch: trunk, size: 1027186 | |
2012-05-23
| ||
12:38 | JSON functions now handle '0' as number according to http://json.org specs file: [dd4c940cd3] check-in: [7f82fd67bd] user: G018869 branch: trunk, size: 1027264 | |
2012-05-18
| ||
15:36 | refactored/updated ORM documentation about Objects relationship (i.e. cardinality) file: [04e1c8ea82] check-in: [064dd5562c] user: G018869 branch: trunk, size: 1026723 | |
2012-05-17
| ||
16:35 | fixed issue in client side fake interface creation, when returning a DateTime kind of value file: [6158222792] check-in: [e0ff26f3fc] user: User branch: trunk, size: 1026656 | |
2012-05-16
| ||
15:15 | now Iso2S() - i.e. overriden i18nDateText global function pointer - will handle a date-only or time-only supplied value as expected file: [5ab7b6ab6d] check-in: [5aa2c35b43] user: G018869 branch: trunk, size: 1026649 | |
2012-05-03
| ||
15:19 | updated TTextWriter.RegisterCustomJSONSerializer() method to allow JSON serialization of any record content (used by RecordLoadJSON and TTextWriter.AddRecordJSON) - with associated documentation: see http://blog.synopse.info/post/2012/05/03/Custom-JSON-serialization-of-records file: [064fd902b9] check-in: [5b3468e16c] user: G018869 branch: trunk, size: 1026639 | |
2012-04-29
| ||
17:35 | fix issue in TPropInfo.SetValue + TSQLRecord.ClearProperties with Value=nil file: [c434dcd20e] check-in: [e11083b973] user: User branch: trunk, size: 1026613 | |
2012-04-28
| ||
07:54 | added RecordManySourceProp / RecordManyDestProp / RecordManySourceClass / RecordManyDestClass to the TSQLRecordProperties file: [15a6c11bc9] check-in: [f7a31b4586] user: User branch: trunk, size: 1026319 | |
2012-04-18
| ||
15:09 | now TSQLRestClientURI BATCH sequences methods will allow to mix several TSQLRecord in its sequence of BatchAdd/BatchUpdate/BatchDelete calls - if initiated as BatchStart(nil) file: [89933affce] check-in: [6c97b80ed9] user: G018869 branch: trunk, size: 1025593 | |
2012-04-16
| ||
08:05 | added TSQLRestServer.ServiceMethodByPassAuthentication method in order to allow by-pass of the RESTful authentication scheme for some methods (can be used e.g. to server some HTML content for a non SOA client file: [854109acdb] check-in: [5b4e96bfbf] user: G018869 branch: trunk, size: 1016824 | |
05:59 | make sense to have an explicit exception here file: [22c1937080] check-in: [c56be3152c] user: G018869 branch: trunk, size: 1015730 | |
05:38 | added an explicit warning in case of wrong client code implementation (instead of an Assert): any used Interface shall be released before the Client file: [1a7706451d] check-in: [8071540884] user: G018869 branch: trunk, size: 1015833 | |
2012-04-15
| ||
18:12 | Minor compilation issue fixed for Unicode versions of Delphi file: [66d587d232] check-in: [9f6337c6f9] user: User branch: trunk, size: 1015603 | |
2012-04-13
| ||
16:32 | added TSQLRestClientURI.OnSetUser notification event (called from SetUser) file: [0ad6d011ca] check-in: [fb33bc533f] user: G018869 branch: trunk, size: 1015562 | |
16:21 | FPC compatibility enhancement file: [03561b9631] check-in: [ecca0393cf] user: G018869 branch: trunk, size: 1014748 | |
10:00 |
| |
2012-04-12
| ||
18:59 | get rid of the over-complicated aEndOfObject parameter in TDynArrayJSONCustomReader callbacks file: [f1eed4c4e5] check-in: [d0e2d37be4] user: G018869 branch: trunk, size: 1011983 | |
18:28 | updated documentation and regression tests for TDynArray custom JSON serialization file: [67e4705eaa] check-in: [97bf3890a8] user: G018869 branch: trunk, size: 1012145 | |
12:43 | updated documentation about the TJSONSerializer.RegisterCustomSerializer() class method file: [5c2d491644] check-in: [1b91852ea4] user: G018869 branch: trunk, size: 1009275 | |
10:05 | added TJSONSerializer.RegisterCustomSerializer() method to allow JSON serialization of any class (thanks Pavel "aka mpv" for the idea and patch) file: [28cfc0ff3d] check-in: [84383103f4] user: G018869 branch: trunk, size: 1008874 | |
2012-04-11
| ||
11:39 | continuing compilation with FPC (Win32 platform by now) file: [52f960c450] check-in: [ef5cd9b40a] user: G018869 branch: trunk, size: 1004820 | |
07:43 | new ForceID parameter for TSQLRestClientURI.BatchAdd() to allow adding a record with a given ID file: [6c460f79e0] check-in: [bc45f7bbd3] user: G018869 branch: trunk, size: 1004098 | |
2012-04-10
| ||
09:26 | new ForceID parameter for TSQLRest.Add() to allow adding a given ID file: [0c437de4e3] check-in: [3f9985da02] user: G018869 branch: trunk, size: 1003847 | |
2012-04-08
| ||
08:13 | TSQLRestClientURI.CallBackPut() will now return any HTTP response content (even if it is not HTTP/1.1 compliant, and not work over some networks) file: [f5987afc84] check-in: [9dcb4681ce] user: User branch: trunk, size: 1003074 | |
2012-04-06
| ||
16:08 | made TOnAuthentificationFailed an object method event file: [2368e51f5a] check-in: [1bc71e61bc] user: G018869 branch: trunk, size: 1002907 | |
15:20 | authentication session deletions were not properly handled file: [02dc3ee2b9] check-in: [a51ce2fac0] user: G018869 branch: trunk, size: 1002695 | |
11:53 |
| |
11:34 | fix issue of unhandled buffer in TSQLTableJSON.UpdateFrom() file: [90980269cb] check-in: [fc65a0c9a2] user: G018869 branch: trunk, size: 1002050 | |
05:27 | fix Delphi XE compilation issue file: [8f8d31ffc2] check-in: [13e8f45769] user: G018869 branch: trunk, size: 1001366 | |
2012-04-03
| ||
12:01 | try to fix potential compiler issues of Delphi 2009 file: [c1ea1b7142] check-in: [c1228fe691] user: G018869 branch: trunk, size: 1001313 | |
2012-03-30
| ||
08:15 | added logging of authentication file: [f1faec99d6] check-in: [dac514e940] user: G018869 branch: trunk, size: 1001266 | |
2012-03-29
| ||
13:30 | more than MAX_SQLFIELDS-1 columns (by default, 63) will raise an exception file: [44ecc92a97] check-in: [d80a9a9a46] user: G018869 branch: trunk, size: 1001088 | |
2012-03-28
| ||
17:31 | most units now compile with Delphi XE2 in 64 Bit mode :) file: [944a5c6bcf] check-in: [160f88b541] user: User branch: trunk, size: 1000957 | |
11:35 | some code refactoring file: [8aa21c5f75] check-in: [8b4510718b] user: G018869 branch: trunk, size: 1000716 | |
10:01 |
| |
2012-03-27
| ||
20:14 | reUrlEncodedSQL kind of GET execution is now encoded as sql=.... inline parameter file: [b433438a75] check-in: [0a6f5f3a6a] user: User branch: trunk, size: 998522 | |
20:03 | added reUrlEncodedSQL remote access right, to allow execution of SQL statement from a GET with the content encoded on the URI (as from XMLHTTPRequest) file: [8686f06b00] check-in: [6053a9ddc9] user: User branch: trunk, size: 998646 | |
09:11 | make interface services call multi-thread (was blocked within the "AcquireWrite" global lock) file: [8c6715136c] check-in: [a56cba70ce] user: G018869 branch: trunk, size: 997821 | |
2012-03-21
| ||
10:57 | added TServiceCustomAnswer record type to be used as result for a function method for custom content in interface-based services (not for TServiceContainerClient remote access, but for AJAX/HTML request) file: [210f36c1ef] check-in: [2466ce9e88] user: G018869 branch: trunk, size: 997302 | |
09:08 |
| |
2012-03-19
| ||
13:19 | TSQLRequest.Execute(JSON: TStream) now allows field names at least, even with no data (as expected by TSQLRestClientURI.UpdateFromServer) file: [6d2495b357] check-in: [f633312bdc] user: G018869 branch: trunk, size: 992857 | |
2012-03-13
| ||
13:47 |
| |
2012-03-09
| ||
15:57 | new TSQLRest.EngineUpdateField protected method for a field content update (with PUT ModelRoot/TableName?setname=..&set=..&wherename=..&where=..) and removal of deprecated TSQLRestServer.UpdateField methods file: [1d19ea782d] check-in: [2ab0c7d298] user: G018869 branch: trunk, size: 991445 | |
2012-03-08
| ||
19:06 | fix UNICODE compilation issues (Delphi >= 2009) file: [237979cb08] check-in: [1c857d723d] user: User branch: trunk, size: 993342 | |
17:46 | changed implementation of TSQLRestServerRemoteDB.UpdateField by adding a dedicated RESTful command for such field update file: [8ee1691ecd] check-in: [ad01f9b28f] user: G018869 branch: trunk, size: 993324 | |
17:14 |
| |
08:30 |
| |
2012-03-07
| ||
16:28 | added TSQLRestServerFullMemory class to implement a basic REST server using only in-memory tables (will only handle CRUD commands, but is enough to handle authentication with optional persistence in JSON file) - the Project14ServerInMemory.dpr sample will use such a server for instance, and will compile as a 200 KB executable, using LVCL :) file: [6182611731] check-in: [99af04b23f] user: G018869 branch: trunk, size: 979390 | |
12:09 | added "14 - Interface based services" sample file: [125cb27f7e] check-in: [eab9f6d937] user: G018869 branch: trunk, size: 969507 | |
10:57 |
| |
2012-03-05
| ||
16:19 | added the new default RESTful routing for interfaced-based services (in additional JSON-RPC mode), with associated regression tests file: [9e342ea641] check-in: [ddb7545aca] user: G018869 branch: trunk, size: 962839 | |
2012-03-04
| ||
19:12 | not working revision - quick check in only file: [8d27a5243a] check-in: [81e6381544] user: User branch: trunk, size: 957769 | |
2012-03-03
| ||
10:02 | fixed several Delphi 2009+ issues (UNICODE) file: [0b673a87fe] check-in: [b8e3addc96] user: User branch: trunk, size: 956054 | |
2012-03-02
| ||
21:00 | consolidated log creation when using services file: [37556b45ed] check-in: [f1af63f37d] user: G018869 branch: trunk, size: 956038 | |
15:14 | some modifications in LVCL + associated mORMot updates file: [b0db41777d] check-in: [3c6ded3f3d] user: G018869 branch: trunk, size: 955666 | |
11:15 | added sicPerSession, sicPerUser and sicPerGroup interface server-side implementation modes will maintain one object instance per running session / user / group (only working if RESTful authentication is enabled) file: [30012afb53] check-in: [143b76a626] user: G018869 branch: trunk, size: 955656 | |
2012-03-01
| ||
20:57 | added "method":"_signature_" to retrieve the implementation signature, if TServiceContainerServer.PublishSignature is set to TRUE - it is set to FALSE by default, for security reasons file: [3278973c86] check-in: [982c9d5cd3] user: G018869 branch: trunk, size: 952690 | |
20:51 | added an optional custom contract to be used instead of standard methods signature on the client side file: [905a8898aa] check-in: [71d9373fe6] user: G018869 branch: trunk, size: 951976 | |
20:20 |
| |
13:54 |
| |
2012-02-29
| ||
20:56 |
| |
16:54 |
| |
2012-02-28
| ||
19:03 |
| |
13:04 |
| |
10:00 |
| |
2012-02-26
| ||
18:29 | mORMot framework now implements Client-Server service implementation using regular Delphi interfaces (and a JSON-RPC like protocol) file: [0cbba48b89] check-in: [8610718386] user: User branch: trunk, size: 923384 | |
00:38 | small fixes file: [3b56b218b9] check-in: [7fc613f8b2] user: User branch: trunk, size: 918489 | |
00:26 |
| |
2012-02-24
| ||
13:08 | server-side implementation of the interface-based services completed - simple provided regression tests passed with success - beware: some nice code within in order to call an interface from and to JSON encoded remote requests! file: [2c1d11d78a] check-in: [6b39ccefe8] user: G018869 branch: trunk, size: 904257 | |
2012-02-21
| ||
18:26 | interface-based services implementation continues file: [71517f5790] check-in: [aa06b5eed6] user: G018869 branch: trunk, size: 884063 | |
2012-02-20
| ||
16:34 |
| |
10:07 | added aHashedPassword parameter to TSQLRestClientURI.SetUser - when it is TRUE, the aPassword parameter is expected to contain the already-hashed value, just as stored in PasswordHashHexa (i.e. SHA256('salt'+Value) as in TSQLAuthUser.SetPasswordPlain method) file: [1bd71b2062] check-in: [fed40c6cd6] user: G018869 branch: trunk, size: 883312 | |
09:42 | TFileBufferWriter.Create now accepts up to 4 MB internal buffer size file: [8a34ca7ee8] check-in: [ec9a53a44c] user: G018869 branch: trunk, size: 882844 | |
2012-02-17
| ||
18:09 |
| |
2012-02-16
| ||
20:37 | added a generic JSON error message mechanism within the framework (including error code as integer and text, with custom error messages in RecordCanBeUpdated method and also in TSQLRestServerCallBackParams) file: [87ef0b03b1] check-in: [cd4268f42b] user: G018869 branch: trunk, size: 878568 | |
2012-02-15
| ||
16:58 | comments minor refresh file: [6f9278918f] check-in: [915874bfc0] user: G018869 branch: trunk, size: 875569 | |
2012-02-11
| ||
12:04 | new property ExpectMangledURI to accept only one kind of service naming at the URI level file: [c9b53e0ec6] check-in: [b3c77d96a0] user: User branch: trunk, size: 875496 | |
2012-02-10
| ||
09:59 | faster pure pascal IdemPropName() functions (comparing 4 chars at once) file: [28db6289ef] check-in: [a96671b1d9] user: G018869 branch: trunk, size: 874708 | |
2012-02-08
| ||
16:22 | introducing new TSynAnsiConvert and TSynAnsiFixedWidth classes, able to process Unicode to/from Ansi conversion in all possible code pages, with generic access methods and optimized handling of fixed width encodings file: [d358e1a67b] check-in: [fef5fd8640] user: G018869 branch: trunk, size: 874709 | |
2012-02-07
| ||
07:46 |
| |
2012-02-03
| ||
14:54 | associated TSQLRestServer.CacheFlush service for flushing the Server cache file: [61e06f2c6d] check-in: [e0800f4af4] user: G018869 branch: trunk, size: 874334 | |
13:09 | made TSQLRestCache thread-safe (access is now locked per table) file: [d384d93f74] check-in: [0301c59dc7] user: G018869 branch: trunk, size: 870729 | |
2012-02-02
| ||
20:22 |
| |
2012-02-01
| ||
17:49 | minor changes file: [ef4c936eeb] check-in: [7ca32cbc66] user: G018869 branch: trunk, size: 859375 | |
2012-01-27
| ||
13:53 | fixed issue when retrieving RTTI for interface methods with Delphi XE2 (layout changed) file: [e34991526f] check-in: [e94f5ea91a] user: User branch: trunk, size: 855681 | |
2012-01-24
| ||
14:26 |
| |
2012-01-23
| ||
10:14 | fix issue when handling null JSON objects in GetJSONObjectAsSQL() function file: [89eca6bd72] check-in: [a8dc9c352e] user: G018869 branch: trunk, size: 855551 | |
2012-01-20
| ||
13:33 | changed copyright notice to "(C) 2012" - yes, happy new year ! file: [5e759c0d52] check-in: [d8b446f0b5] user: G018869 branch: trunk, size: 854993 | |
13:28 | speed enhancement on filling records from multiple rows file: [090e492500] check-in: [eb25bf19d9] user: G018869 branch: trunk, size: 854993 | |
10:25 | faster TSQLRestServerStaticInMemory.LoadFromJSON and LoadFromBinary methods file: [d10a126ef2] check-in: [eb86fef8a9] user: G018869 branch: trunk, size: 854473 | |
2012-01-18
| ||
21:25 | small Delphi 2009+ warning fix file: [d0d73574ab] check-in: [5892d62da3] user: User branch: trunk, size: 853237 | |
16:00 | SynDBExplorer ensure that the supplied file name on command line is a true SQLite3 database file: [f3e490847d] check-in: [c41afa2717] user: G018869 branch: trunk, size: 853208 | |
15:53 | new FillStringGrid() function, ready to fill a regular TStringGrid file: [6e3acb0511] check-in: [2af8e888d3] user: G018869 branch: trunk, size: 853141 | |
2012-01-17
| ||
19:57 | minor code enhancements file: [bedebdc4d9] check-in: [29bec093fa] user: G018869 branch: trunk, size: 853102 | |
2012-01-16
| ||
08:41 | fix issue about missing last item in JSONToObject() function file: [7ec954231f] check-in: [3e56f6ef4d] user: G018869 branch: trunk, size: 853116 | |
2012-01-12
| ||
09:30 |
| |
2012-01-11
| ||
12:49 |
| |
2012-01-07
| ||
12:20 | code refactoring to allow compilation with Delphi XE2 background compiler (e.g. syntax check or code completion) file: [222cb59db6] check-in: [ddcf953db5] user: User branch: trunk, size: 847270 | |
2012-01-06
| ||
10:44 | TSQLRecordFill only maps if column is a valid field - fix "Error calling TSQLRecord.FillRow with non existing properties" issue file: [75b1faec6b] check-in: [b5a5919070] user: G018869 branch: trunk, size: 847142 | |
2012-01-04
| ||
17:08 | now nested TCollection and TStringList/TRawUTF8List objects are transmitted as true JSON arrays or objects for adding (POST) and update (PUT) - this will save bandwidth and increase compatibility with AJAX clients (they were formerly transmitted as JSON strings) - note that retrieval (GET) is not yet implemented, since it is faster to transmit directly the TEXT value as stored within the database file: [f60fc15cf7] check-in: [f87450236e] user: G018869 branch: trunk, size: 847013 | |
17:07 | TSQLRestServer.URI now returns "Location:" header without the digital signature (e.g. 'Location: People/11012') for a POST (=CRUD create/add) file: [f40ed4692f] check-in: [57c9ef5947] user: G018869 branch: trunk, size: 844679 | |
2011-12-21
| ||
18:47 | fixed some minor compilation errors file: [40b3f184b5] check-in: [4f2294edaa] user: User branch: trunk, size: 844442 | |
2011-12-16
| ||
16:16 | Interface-based SOA implementation continues file: [5744fdc177] check-in: [42e36c47d1] user: G018869 branch: trunk, size: 844419 | |
2011-12-15
| ||
19:33 | introducing new methods to handle interface-based Client-Server SOA using RTTI - only generic registering process yet - but sounds fine, and it seems to have enough RTTI available over Delphi 6 and up :) file: [8cdb9d247e] check-in: [7f8cbbbe44] user: G018869 branch: trunk, size: 843645 | |
2011-12-14
| ||
08:33 | try to avoid use of all unneeded FreeAndNil calls in the code - see http://www.nickhodges.com/post/Using-FreeAndNil.aspx file: [c6372cf845] check-in: [782a4fa14f] user: G018869 branch: trunk, size: 825055 | |
2011-12-13
| ||
22:12 | fix compilation issue file: [a3adf732d4] check-in: [4ebba84594] user: User branch: trunk, size: 825104 | |
20:29 | now TSQLRestServer.LaunchCallBack will check for an exact method signature match before executing it (if there is enough RTTI, i.e. Delphi 7 and up) file: [b5d1908c23] check-in: [6f7ddd5118] user: G018869 branch: trunk, size: 825035 | |
2011-12-10
| ||
10:24 | fix compilation warnings on UNICODE version of Delphi file: [24563e76e1] check-in: [400098ba8f] user: ab branch: trunk, size: 818726 | |
2011-12-07
| ||
16:07 | fix issue in TSQLRecord.FillFrom() which forgot to update InternalState file: [c1218701b0] check-in: [4d8613523e] user: G018869 branch: trunk, size: 818573 | |
12:30 | some minor code refactoring file: [4dfacb1f04] check-in: [0850e51412] user: G018869 branch: trunk, size: 818398 | |
06:56 | fix issue in SetInt64Prop() procedure which failed the update of a property with no explicit setter file: [09e5c3b480] check-in: [eff2485f1d] user: G018869 branch: trunk, size: 818644 | |
2011-12-06
| ||
17:02 | new TSQLRecord.CreateAndFillPrepareMany and FillPrepareMany methods, able to create a JOINed SELECT statement including all nested TSQLRecordMany properties (including custom WHERE clause if necessary) file: [2d49b03584] check-in: [8cef2fcbc5] user: G018869 branch: trunk, size: 818530 | |
12:38 | re-declared TSQLAccessRights record as an object, and added some dedicated methods: FromString, ToString, Edit file: [dd5c89639a] check-in: [8090be0806] user: G018869 branch: trunk, size: 813601 | |
2011-12-02
| ||
19:56 | continuing TSQLRecord.FillPrepareMany() method implementation (not finished yet) file: [d7d38a674d] check-in: [820f59e878] user: G018869 branch: trunk, size: 812352 | |
2011-12-01
| ||
20:28 | faster and more generic TSQLRecord.FillPrepare/FillRow implementation file: [01be7a82d3] check-in: [2c0e5fe01f] user: G018869 branch: trunk, size: 805084 | |
2011-11-24
| ||
15:36 |
| |
2011-11-18
| ||
16:14 | fixed LVCL compilation issue file: [fab3ba8eae] check-in: [91ccd08b4d] user: G018869 branch: trunk, size: 798630 | |
2011-11-15
| ||
17:58 | TPropInfo.CopyValue method now specifically handle copy of TCollection published properties items (used e.g. in TSQLRecord.FillFrom) file: [0d35e593b1] check-in: [0f0bc73310] user: G018869 branch: trunk, size: 798602 | |
2011-11-11
| ||
13:52 |
| |
2011-11-06
| ||
14:45 | fix issue about record locking in TSQLRestClientURI.Retrieve method file: [b66b380cbf] check-in: [84bf8e1520] user: ab branch: trunk, size: 793836 | |
2011-11-01
| ||
09:53 | now TSQLRestServer.Auth service returns text/plain as content type (for better AJAX compatibility) file: [052e77fccb] check-in: [f888f68320] user: ab branch: trunk, size: 793597 | |
2011-10-28
| ||
13:54 | all EngineList methods (including TSQLRestServerStaticInMemory class) now handles an optional integer pointer, to return the count of row data (excluding field names) file: [5a1b3f8d8d] check-in: [9997c975d6] user: G018869 branch: trunk, size: 793437 | |
2011-10-19
| ||
17:09 | fixed issue in TSQLRecord.FillPrepare when the table has less columns that the filling TSQLTable (can occur e.g. when using aCustomFieldsCSV parameter in FillPrepare method) file: [da4d5df0d9] check-in: [0e68516af6] user: G018869 branch: trunk, size: 792444 | |
14:56 | fix unexpected exception raised in TSQLRecord.FillOne if FillPrepare was successfull, but did not return any row file: [260438c0cc] check-in: [967c1cb0dc] user: G018869 branch: trunk, size: 792246 | |
2011-10-17
| ||
09:36 |
| |
2011-10-14
| ||
14:37 | code clean-up of TSQLRestClientURI.SetUser file: [da960acd9f] check-in: [196df0b234] user: G018869 branch: trunk, size: 790575 | |
2011-09-26
| ||
17:05 |
| |
2011-09-20
| ||
18:49 |
| |
2011-09-19
| ||
14:56 | better interface of TSQLTableJSON in-place process (dedicated constructor) file: [8731dcfdb3] check-in: [f9eb0363cb] user: G018869 branch: trunk, size: 786621 | |
2011-09-17
| ||
18:05 | Delphi XE2 compatibility: all tests passed (32 Bit) file: [ea8a2536b7] check-in: [40b9886964] user: ab branch: trunk, size: 786391 | |
2011-09-16
| ||
12:31 | new MakePrivateCopy property in TSQLTableJSON.Create, which will avoid creating a private copy of the JSON (used e.g. in SynDBExplorer to handle very large result sets, with half the memory) file: [756436a1bd] check-in: [17f6b15adb] user: G018869 branch: trunk, size: 786343 | |
2011-09-13
| ||
15:28 | documentation completion file: [a6bc5d887e] check-in: [dcb63946d8] user: G018869 branch: trunk, size: 785593 | |
15:08 | new sftCreateTime / TCreateTime published field type in TSQLRecord, which will be set to the current server time stamp at record creation file: [f80110b0da] check-in: [e04e0e58ed] user: G018869 branch: trunk, size: 784954 | |
2011-08-30
| ||
07:04 | fixed PUREPASCAL compilation of the framework file: [9ca4ee285f] check-in: [746753d45c] user: G018869 branch: trunk, size: 782785 | |
2011-08-19
| ||
14:47 | tuning and fixing logging implementation of the framework file: [08ad710fc6] check-in: [d3916ef410] user: G018869 branch: trunk, size: 782667 | |
2011-08-12
| ||
15:08 | first apparition of SQlite3BigTable: calling the Big Table engine from our ORM (using virtual tables) - not yet working file: [7e7cd0325c] check-in: [373d0a4640] user: G018869 branch: trunk, size: 781931 | |
2011-08-09
| ||
18:20 |
| |
2011-08-05
| ||
16:42 | huge documentation enhancements, mostly about SynDB external database handling file: [6df42f2ce5] check-in: [6d26b53377] user: G018869 branch: trunk, size: 769707 | |
07:46 | added test of TModTime published property (i.e. latest update time) file: [0127873c5b] check-in: [2467c59ee6] user: G018869 branch: trunk, size: 769630 | |
2011-08-04
| ||
15:59 |
| |
08:44 |
| |
2011-08-03
| ||
16:25 |
| |
2011-07-29
| ||
16:21 | SQLite3DB unit now completed and optimized - still need to write all appropriate regression tests, and do the benchmarking/testing over several external databases (at least with an external SLQLite3 db in common regression tests classes) file: [6cf1161046] check-in: [d016e34338] user: G018869 branch: trunk, size: 763806 | |
2011-07-28
| ||
19:22 |
| |
2011-07-27
| ||
15:54 | introducing TSQLRestServerStaticExternal class in SQLite3DB unit file: [6aceda22a4] check-in: [5ce5ff15da] user: G018869 branch: trunk, size: 758849 | |
2011-07-22
| ||
09:40 | new SynSQLite3 unit extracting the SQLite3 wrapper from the previous SQLite3 unit: this unit can therefore be used with our SynDB classes, without our mORMot overhead (and features) file: [d47f290af0] check-in: [75b5b81a88] user: G018869 branch: trunk, size: 755206 | |
2011-07-21
| ||
12:51 |
| |
2011-07-20
| ||
14:38 | BLOB won't work in SQL without parameter binding file: [80b5c62e68] check-in: [a418a77bed] user: G018869 branch: trunk, size: 755895 | |
14:25 |
| |
11:47 | fixed CSV export in countries where ',' is used as decimal separator (e.g. in "douce France") file: [bf3a14b266] check-in: [64d41b9219] user: G018869 branch: trunk, size: 755726 | |
2011-07-19
| ||
11:33 | fixed issue in SetInt64Prop() with a setter method file: [be91a7080d] check-in: [d36c88fdb5] user: G018869 branch: trunk, size: 755432 | |
2011-07-15
| ||
13:23 |
| |
09:39 | make exported json more human readable file: [c018ff2985] check-in: [fbe1b26a4c] user: G018869 branch: trunk, size: 747827 | |
09:34 |
| |
2011-07-14
| ||
19:23 |
| |
2011-07-13
| ||
16:14 | minor fixes and enhancements file: [c933013984] check-in: [7e1f4a3765] user: G018869 branch: trunk, size: 747120 | |
13:00 |
| |
2011-07-12
| ||
18:48 |
| |
12:29 |
Thread-safety enhancements:
| |
2011-06-28
| ||
13:33 |
- fixed issue in produced JSON stream using '=' instead of ':'file: [ea0e45e303] check-in: [ef3a66cd82] user: G018869 branch: trunk, size: 742071 | |
2011-06-24
| ||
16:51 | SynOleDB now executes statements and retrieve results at light speed !!! :) - parameters use still to be tested file: [82462d52d6] check-in: [243ab58e23] user: ab branch: trunk, size: 742003 | |
2011-06-17
| ||
14:23 |
| |
2011-06-16
| ||
15:42 | fixed some potential compilation issues file: [ae63c18106] check-in: [215dfe5ac7] user: ab branch: trunk, size: 742105 | |
07:19 | documentation enhancement file: [65b249007f] check-in: [b2fa02046a] user: ab branch: trunk, size: 742034 | |
2011-06-15
| ||
06:00 | correction attempt for currency edition in SQLite3UIEdit file: [69cbaa20f4] check-in: [6f2a76894f] user: ab branch: trunk, size: 741655 | |
2011-06-10
| ||
14:27 | new SynOleDB unit file: [43ceba338a] check-in: [fac9c4ffce] user: ab branch: trunk, size: 741056 | |
2011-06-07
| ||
06:14 | changed all constant ansichar declaration from #.... into chr() in order to allow compile tests with non 1252 Windows... file: [bf961c3387] check-in: [fa3685333d] user: ab branch: trunk, size: 739445 | |
2011-06-03
| ||
15:55 |
| |
2011-05-31
| ||
14:04 |
code modifications to compile with Delphi 5 compiler (no ORM code compiles yet: so only low-level units like SynCommons / SynCrypto / SynPdf are tested)file: [5dc3b0ee6b] check-in: [da448f54f0] user: ab branch: trunk, size: 739403 | |
2011-05-29
| ||
15:23 | new OnAuthentificationFailed method to let the Client ask for a refreshed user name and password file: [a8286c112d] check-in: [c30985b26a] user: ab branch: trunk, size: 738980 | |
2011-05-27
| ||
15:42 | new right-click popup menu accessible for editor, with fast access to all tool functions file: [50e9210495] check-in: [d97807044c] user: ab branch: trunk, size: 736309 | |
2011-05-26
| ||
14:41 | SynProject: new "Copy as HTML" function (accessible from new editor right-click popup menu) - to be used e.g. for easy Blogging :) file: [6608558798] check-in: [e33fa78680] user: ab branch: trunk, size: 735843 | |
09:59 |
| |
09:03 | new aCustomFieldsCSV parameter for FillPrepare / CreateAndFillPrepare methods of TSQLRecord, to retrieve only neeeded fields: be aware that not specified fields will be left untouched, so a later Update() call may corrupt the row data - this optional parameter is about to save bandwidth when retrieving records field in a loop file: [62da6f8416] check-in: [d36871c73a] user: ab branch: trunk, size: 735533 | |
2011-05-25
| ||
17:51 | release notes updated file: [92e3227dc9] check-in: [e46c44dd28] user: ab branch: trunk, size: 732453 | |
17:21 | fixed compilation error file: [5496aa3cf3] check-in: [3b42ddc878] user: ab branch: trunk, size: 732157 | |
15:31 | documentation enhanced file: [50ceb31dd4] check-in: [29abbcd43c] user: ab branch: trunk, size: 732201 | |
14:21 |
| |
2011-05-24
| ||
17:48 | unassociate all TSQLRecord with a destroyed model to some fix any related border-side effects file: [eb10d5001a] check-in: [6af3901a33] user: ab branch: trunk, size: 731558 | |
05:27 | fixed GPF at session closing in TSQLRestClientDB file: [8356cfce6a] check-in: [4deae6c8ad] user: ab branch: trunk, size: 731252 | |
2011-05-23
| ||
16:08 | session and uri authentication implemented - also associated documentation file: [0fc49e1444] check-in: [dc06f54458] user: ab branch: trunk, size: 731043 | |
2011-05-22
| ||
18:08 | In-memory virtual tables are now written on disk by default. For instance, COMMIT will call the UpdateToFile method. file: [9bb9b2e741] check-in: [28baa05792] user: ab branch: trunk, size: 724448 | |
2011-05-20
| ||
17:19 | introducing framework security and authentication file: [b11f9a5bb9] check-in: [a08c2c046a] user: ab branch: trunk, size: 724273 | |
2011-05-17
| ||
15:29 |
| |
2011-05-16
| ||
08:04 | Explicitly enhance SOA orientation of the framework file: [e06a2dcef6] check-in: [fa656104ad] user: ab branch: trunk, size: 703127 | |
2011-05-14
| ||
09:07 |
| |
2011-05-13
| ||
14:51 |
| |
2011-05-12
| ||
21:25 |
| |
2011-05-10
| ||
15:33 | Delphi virtual tables implemented - need to begin the testing now file: [ab7a7b694c] check-in: [9327f4ae81] user: ab branch: trunk, size: 674318 | |
11:40 | updated the documentation in order to be more clear about using transactions in the framework file: [526a4156f5] check-in: [c50e494a5b] user: ab branch: trunk, size: 665606 | |
2011-05-06
| ||
16:28 | virtual table using in-memory fast engine, and JSON storage on disk (not yet finished) file: [1f90e44356] check-in: [d8f92bdadb] user: ab branch: trunk, size: 664130 | |
10:00 |
| |
2011-05-04
| ||
18:06 |
| |
2011-04-30
| ||
10:55 | fixed compilation with Delphi Unicode (2009/2010/XE) file: [55e18108bf] check-in: [21bf5a0e2a] user: ab branch: trunk, size: 635314 | |
2011-04-29
| ||
15:15 | fastest internal cdecl qsort() function (optimized for PAnsiChar) file: [86e4a5fd3e] check-in: [b50475a1c9] user: ab branch: trunk, size: 635320 | |
2011-04-28
| ||
14:45 | new method WriteObjectAsString for faster serialization of published properties into TEXT file: [1112126fb0] check-in: [2e4f6220b3] user: ab branch: trunk, size: 635251 | |
2011-04-27
| ||
14:28 | introducing TSQLRecordRTree to implement R-Tree virtual tables - and new TSQLRecordVirtual parent table for all virtual tables including TSQLRecordFTS* file: [7c23f8fd0b] check-in: [736af989cf] user: ab branch: trunk, size: 634263 | |
2011-04-26
| ||
15:17 |
| |
2011-04-22
| ||
15:51 | ORM now handle TPersistent, TStrings, TCollection and TRawUTF8List as published properties (stored as TEXT in ObjectToJSON format) file: [7c2a3e0951] check-in: [84edebde5b] user: ab branch: trunk, size: 625646 | |
2011-04-21
| ||
15:40 | minor changes file: [cdddabfbb3] check-in: [23ad5c6672] user: ab branch: trunk, size: 620320 | |
2011-04-20
| ||
16:03 |
| |
2011-04-18
| ||
20:57 |
| |
17:34 |
| |
2011-04-15
| ||
13:55 | updated documentation file: [2425dcae10] check-in: [c3d5d774ce] user: ab branch: trunk, size: 619494 | |
07:13 |
| |
2011-04-14
| ||
19:27 |
| |
15:27 | introducing global WITHLOG conditional file: [96728b9fcc] check-in: [f28e6391f9] user: ab branch: trunk, size: 619028 | |
2011-04-07
| ||
18:34 |
| |
2011-04-06
| ||
19:25 |
| |
2011-03-30
| ||
15:10 |
| |
2011-03-28
| ||
16:07 | TSynLog enhanced with new features like auto flush after some timeout period file: [54ed6b00e2] check-in: [bbb45c117b] user: ab branch: trunk, size: 616687 | |
2011-03-27
| ||
14:47 | introducing TSQLLog class able to log directly a TObject instance content as JSON file: [d5b5c73538] check-in: [29643c75b6] user: ab branch: trunk, size: 616602 | |
2011-03-25
| ||
20:22 | introducing new Logging classes and functions file: [517ae0fd6e] check-in: [156a9090f4] user: ab branch: trunk, size: 615507 | |
13:09 |
| |
12:36 |
| |
2011-03-24
| ||
10:21 | Now JSONToObject will be able to unserialize directly a TCollection or a TStrings file: [ac92ca5df3] check-in: [97e16b4836] user: ab branch: trunk, size: 614144 | |
10:05 | Now ObjectToJSON will be able to serialize directly a TCollection or a TStrings file: [d091ffb076] check-in: [8b22bf5bc8] user: ab branch: trunk, size: 613947 | |
2011-03-23
| ||
17:06 | now use TMS component pack only if USETMSPACK global conditional is defined: by default, will use only VCL components to create the Ribbon and all other screens file: [3de03cc0c4] check-in: [d0ff9c1078] user: ab branch: trunk, size: 614108 | |
13:24 | new TSQLRest.Retrieve(aPublishedRecord, aValue: TSQLRecord) and TSQLRecord.Create(aClient: TSQLRest; aPublishedRecord: TSQLRecord..) methods file: [812a6e6c0f] check-in: [65e5b91dc1] user: ab branch: trunk, size: 613652 | |
07:59 | enhanced TSQLRecordMany.DestGetJoinedTable method to handle custom fields file: [46f391aa13] check-in: [c322380e76] user: ab branch: trunk, size: 612053 | |
2011-03-22
| ||
20:30 | fixed issue in HTTP server file: [13717443c1] check-in: [55636becc9] user: ab branch: trunk, size: 610584 | |
18:53 | try to avoid GPF when null is returned by SQLite3 for a "" field - see http://synopse.info/forum/viewtopic.php?id=275 file: [1c594a53ba] check-in: [0fbcfa621e] user: ab branch: trunk, size: 610430 | |
14:53 | dynamic arrays can now be specified for TSQLRecord published properties: a new sftBlobDynArray field kind has been added - will be stored as BLOB in the database (following the TDynArray.SaveTo binary stream layout), and will be transmitted as Base64 encoded in the JSON stream - we implemented a sftBlobRecord field kind, but Delphi RTTI is not generated for published properties of records: so our code is disabled (see PUBLISHRECORD conditional) :( - but you can use dynamic arrays of records file: [9091bb404f] check-in: [2149eb9615] user: ab branch: trunk, size: 610377 | |
2011-03-21
| ||
22:08 | continuing dynamic arrays in TSQLRecord implementation file: [08d2a774f0] check-in: [958d1c6131] user: ab branch: trunk, size: 604461 | |
18:42 |
| |
09:09 |
| |
2011-03-18
| ||
17:05 | for TSQLRecord, parent fields are listed first as children published properties file: [d17f0e6b3b] check-in: [bdd1ae6bbd] user: ab branch: trunk, size: 593158 | |
2011-03-17
| ||
16:41 | updated framework documentation file: [a159762989] check-in: [1ad20a1648] user: ab branch: trunk, size: 593086 | |
2011-03-15
| ||
17:24 |
| |
2011-03-14
| ||
16:23 |
| |
2011-03-11
| ||
22:25 | minor fixes before release file: [55e2c89a83] check-in: [45f402f767] user: ab branch: trunk, size: 587968 | |
19:47 | LVCL and Delphi 2009/2010/XE compatibility fixes file: [b6c360fee0] check-in: [faed9f2b35] user: ab branch: trunk, size: 587944 | |
17:32 | fix "Error: unrecognized token" issue in TSQLRestServer.AfterDeleteForceCoherency when deleting records with some required coherency checks file: [f75bedcce0] check-in: [8affd6d98d] user: ab branch: trunk, size: 587658 | |
2011-03-03
| ||
16:43 |
| |
2011-03-01
| ||
16:14 | added a magic pattern check to ignore broadcasted WM_COPYDATA message file: [cfb0a4995f] check-in: [bef538bb8b] user: ab branch: trunk, size: 585847 | |
08:55 | try to fix slow network access file: [3350f6b47b] check-in: [d50b9d8d0b] user: ab branch: trunk, size: 585362 | |
2011-02-28
| ||
16:51 |
new TSQLRestClientURI methods to implement BATCH sequences to speed up database modifications: after a call to BatchStart, database modification statements are added to the sequence via BatchAdd/BatchUpdate/BatchDelete, then all statments are sent as once to the remote server via BatchSend - this is MUCH faster than individual calls to Add/Update/Delete in case of a slow remote connection (typically HTTP over Internet)file: [3c009a714e] check-in: [9571795732] user: ab branch: trunk, size: 585341 | |
10:18 | TSQLModel implementation speed up, in case of a huge number of registered TSQLRecord in the database Model file: [9374a2c635] check-in: [380ef32946] user: ab branch: trunk, size: 569535 | |
2011-02-27
| ||
15:16 |
| |
2011-02-26
| ||
12:05 |
| |
09:25 | minor fixes and code refactoring file: [268b9fb492] check-in: [cf858fb1d2] user: ab branch: trunk, size: 568350 | |
2011-02-25
| ||
13:41 | now ensure that no published property named ID or RowID was defined (this unique primary key field must be handled directly by TSQLRecord) file: [2d7c68af13] check-in: [5576796c9e] user: ab branch: trunk, size: 568830 | |
13:23 | the ORM will now include all published properties of the parents, up to TSQLRecord, to the database fields (it was only using the published properties at the topmost class level) file: [e971647cac] check-in: [f135274175] user: ab branch: trunk, size: 568444 | |
10:37 |
| |
2011-02-23
| ||
21:35 | fixed issue in ORM parsing file: [f031356c3b] check-in: [87600f0215] user: ab branch: trunk, size: 564480 | |
21:24 | code seems stable -> disabled assert file: [7e1861a825] check-in: [62ab23d88a] user: ab branch: trunk, size: 564407 | |
20:29 | code clean up and speed enhancement file: [450b597f2b] check-in: [29c9fbbfeb] user: ab branch: trunk, size: 564404 | |
17:40 | new TJSONSerializer class and ObjectToJSON/JSONToObject method file: [6aa4ae06d0] check-in: [caf561aa07] user: ab branch: trunk, size: 561634 | |
10:24 |
| |
2011-02-22
| ||
21:12 |
| |
18:04 |
| |
2011-02-21
| ||
22:21 |
| |
18:02 |
| |
13:37 |
| |
2011-02-20
| ||
17:38 | enhanced TSQLRecordProperties usage in whole framework for faster RTTI file: [e68e30f6aa] check-in: [c6be5bcf5c] user: ab branch: trunk, size: 537340 | |
2011-02-19
| ||
08:43 | fix possible memory corruption (write after end of buffer) file: [b7f70f6ace] check-in: [26b2f1f07b] user: ab branch: trunk, size: 536589 | |
2011-02-18
| ||
15:13 | new "From code" button in SynProject internal Graph Window (not working yet) file: [e0f5670e6a] check-in: [c3caef7f4e] user: ab branch: trunk, size: 536502 | |
2011-02-08
| ||
17:07 | we reach year 2011 - let's celebrate! file: [2884e86ee7] check-in: [b59d83be6d] user: ab branch: trunk, size: 536433 | |
2011-02-07
| ||
19:08 | compilation with Delphi 2009/2010/XE file: [000674c9ed] check-in: [fbd0c9400b] user: ab branch: trunk, size: 536421 | |
18:02 | new CreateInternalWindow() for creating a GDI message handler in any object file: [64c8ca0376] check-in: [ad8ba37e93] user: ab branch: trunk, size: 536429 | |
2011-02-04
| ||
14:55 | minor fix for handling wrong date time fild in TSQLTable.GetVariant file: [67bfc8b709] check-in: [9d779034ed] user: ab branch: trunk, size: 538720 | |
14:51 | new TSQLTable.GetVariant method file: [75aef95cbd] check-in: [df7e1c6615] user: ab branch: trunk, size: 538607 | |
08:58 |
| |
2011-02-02
| ||
13:30 | new sqlite3_stmt_readonly function and TSQLRequest.IsReadOnly property (engine 3.7.5 feature) file: [c4f44e6259] check-in: [b920169594] user: ab branch: trunk, size: 531676 | |
2011-02-01
| ||
14:43 |
| |
08:52 | updated SQLite3 engine to version 3.7.5 file: [a400b07a0c] check-in: [e9cafa3892] user: ab branch: trunk, size: 549338 | |
2011-01-30
| ||
15:07 | made CreateCopy method dynamic file: [2178e65a80] check-in: [37d5c99bf8] user: ab branch: trunk, size: 549064 | |
2011-01-29
| ||
19:22 | can now specify an index name to avoid duplicated names file: [18bc9a5ecb] check-in: [5fa7c392a0] user: ab branch: trunk, size: 549055 | |
2011-01-28
| ||
14:30 | some TSQLTable.ExpandAsString rewrite file: [ec7d34fc40] check-in: [86d07846e5] user: ab branch: trunk, size: 548896 | |
14:29 | new TSQLTable.GetString method file: [fb81d6a5af] check-in: [11b13c25eb] user: ab branch: trunk, size: 548972 | |
07:30 | added new TSQLRestServer.CreateSQLMultiIndex() method file: [9bfa3eebab] check-in: [57df69476d] user: ab branch: trunk, size: 547382 | |
2011-01-26
| ||
17:50 | fixed issue in TPdfDocumentGDI.VCLCanvasSize - PDFA/1 properties (not working yet) file: [a06ec176fa] check-in: [7422303902] user: ab branch: trunk, size: 546579 | |
2011-01-22
| ||
11:20 | LVCL compatibility check of the SQLite3 framework file: [1c83e8d2d0] check-in: [d9cdb33736] user: ab branch: trunk, size: 546520 | |
2011-01-20
| ||
08:41 |
fixed issue in TSQLRestServerNamedPipe[Response] multi-thread architecture: FastMM in full debug mode detected that a block has been modified after being freed - now TSQLRestServerNamedPipeResponse is fully stand-alonefile: [9cd42f8e10] check-in: [e343ec80ea] user: ab branch: trunk, size: 546603 | |
2011-01-12
| ||
17:09 | new SortCompareOperator() functions and associated TSortOperator type file: [c507fac559] check-in: [ba3dd70c7e] user: ab branch: trunk, size: 545504 | |
2011-01-10
| ||
16:30 | introducing new TSynBigTableMetaData class file: [20ed2faa31] check-in: [5f75d360a2] user: G018869 branch: trunk, size: 545508 | |
2011-01-09
| ||
18:16 | some comments update file: [bb62ee24ce] check-in: [8d54b45378] user: ab branch: trunk, size: 545416 | |
2011-01-02
| ||
17:07 | TSQLRestServer.JSONEncodeResult now can encode multiple parameters as a JSON array file: [0a3ce9d1bc] check-in: [8ecdf549b1] user: ab branch: trunk, size: 545418 | |
16:51 | TSynTable first finished draft file: [0d6bf38357] check-in: [e93f01713e] user: ab branch: trunk, size: 545001 | |
2010-12-30
| ||
10:05 | New TSynTable, TSynTableFieldProperties and TSynTableStatement classes to handle a generic database table storing field values using our SBFcompact binary format (more compact than BSON, similar to Protocol Buffers) file: [b740593e9b] check-in: [70b3baf393] user: ab branch: trunk, size: 544987 | |
2010-12-24
| ||
09:18 |
| |
2010-12-23
| ||
17:11 | integrating Big Table into our SQLite3 framework file: [bad1d100ef] check-in: [d42df4d80c] user: G018869 branch: trunk, size: 553563 | |
2010-12-19
| ||
18:07 |
| |
2010-12-18
| ||
13:27 | Try to fix Delphi XE imcompatilibility with named pipe security file: [7e11f1dfc4] check-in: [a1a85a315c] user: ab branch: trunk, size: 550148 | |
2010-12-17
| ||
16:03 |
| |
10:48 | new function sqlite3_value_numeric_type + speed improvements + 100% tests passed after inlined params integration file: [c25a6b9177] check-in: [e1492ec886] user: G018869 branch: trunk, size: 546345 | |
2010-12-16
| ||
18:38 | also inline parameters for Update and Add records, in order to use prepared statements file: [aa6929696f] check-in: [6eab25221e] user: G018869 branch: trunk, size: 546458 | |
17:58 |
| |
2010-12-13
| ||
17:00 | new TSQLRecordFill class, used internally by TSQLRecord.FillPrepare() to save memory: a TSQLRecord instance has now only 20 bytes of InstanceSize file: [0d5f589749] check-in: [705685b679] user: G018869 branch: trunk, size: 543242 | |
15:44 | update SQLite3 engine to version 3.7.4 file: [d7fa0154ab] check-in: [e361c5f996] user: G018869 branch: trunk, size: 542252 | |
15:38 | new TSQLRecordProperties class, used internaly by TSQLRecord to access to the RTTI via some high-level structures (therefore save memory for each TSQLRecord instance, and make operations faster) file: [3b86c2b5c6] check-in: [945e892c1c] user: G018869 branch: trunk, size: 542206 | |
2010-12-12
| ||
18:48 | big code refactoring, using a cache for most RTTI properties attributes - warning: this code won't compile yet file: [d814816a1a] check-in: [9dfc91fcd3] user: ab branch: trunk, size: 540641 | |
2010-12-06
| ||
16:06 | updated UTF-8 uppercase handling, IdemPChar() is now explicitely only 7 bit ASCII oriented (don't handle accentuated characters) - a new IdemPCharU() function is now available file: [302eba0528] check-in: [d4cd66ac72] user: G018869 branch: trunk, size: 535977 | |
2010-12-05
| ||
18:02 | Some WinAnsi/UTF-8 and NormToUpper[] fixes (introduced new NormToUpperAnsi7[]) file: [21e8de42c6] check-in: [504f6a3df6] user: ab branch: trunk, size: 536015 | |
12:37 | new IsWow64 and SystemInfo global variables file: [ab0fe580d7] check-in: [1a67c40ae5] user: ab branch: trunk, size: 535761 | |
09:43 |
TSQLRecord.ID reader has now a GetID() getter which can handle the fact that a published property declared as TSQLRecord (sftID type) contains not a true TSQLRecord instance, but the ID of this record: you can use aProperty.ID method in order to get the idea - but prefered method is to typecast it via PtrInt(aProperty), because GetID() relies on some low-level windows memory mapping trickfile: [40a406bd9a] check-in: [681390fb19] user: ab branch: trunk, size: 536092 | |
2010-12-03
| ||
14:30 | new TSQLRecordMany.DestGetJoinedTable method, which gives access to the joined fields of the pivot table, via a TSQLRecordManyJoinKind = (jkDestID, jkPivotID, jkDestFields, jkPivotFields, jkPivotAndDestFields) parameter file: [9d1612532a] check-in: [0b79a556b0] user: G018869 branch: trunk, size: 534182 | |
13:38 |
| |
09:18 | TSQLRecordMany now uses TSQLRecord properties, and not TRecordReference any more file: [ed3c793e4c] check-in: [bbf864891f] user: G018869 branch: trunk, size: 530883 | |
2010-12-02
| ||
15:56 |
| |
13:06 | added optional aAndWhereSQL parameter to TSQLRecordMany.FillMany file: [afd853e344] check-in: [1f50972f29] user: G018869 branch: trunk, size: 527562 | |
08:44 |
| |
2010-12-01
| ||
13:27 | source code modified to be 7 bit Ansi (so will work with all encodings) file: [6a94749b02] check-in: [cf001067c7] user: G018869 branch: trunk, size: 524589 | |
07:51 | enhancements to TSQLRecordMany - see http://synopse.info/forum/viewtopic.php?pid=833#p833 file: [2e07bd5ac5] check-in: [a875df5583] user: G018869 branch: trunk, size: 523501 | |
2010-11-30
| ||
16:18 | included fork of ZEOS library, using RawUTF8 as internal string type - draft version file: [04d448057e] check-in: [7810952a31] user: G018869 branch: trunk, size: 519512 | |
2010-11-28
| ||
15:36 |
| |
2010-11-26
| ||
16:49 | Updated SynProject to handle column size in \TableBugFixes and such file: [d73895c71c] check-in: [496ca1df62] user: G018869 branch: trunk, size: 523564 | |
2010-11-17
| ||
15:34 | documentation/comments update file: [08b174e890] check-in: [0e8fd08f4d] user: G018869 branch: trunk, size: 523822 | |
15:22 | some fixes in comments and in TSQLRecord.SimplePropertiesFill file: [95bf4d78cf] check-in: [5331bdc728] user: G018869 branch: trunk, size: 522277 | |
15:06 |
| |
14:50 |
| |
2010-11-09
| ||
07:26 |
| |
2010-11-02
| ||
08:11 | fixed GPF error in TSQLRestServerDB.CreateMissingTables when a table exists, and a TSQLRecordMany field is added to this table file: [00afbb7daa] check-in: [e5aad1e03c] user: G018869 branch: trunk, size: 516982 | |
2010-10-29
| ||
12:12 |
| |
08:34 |
| |
2010-10-28
| ||
16:03 |
| |
2010-10-18
| ||
13:52 | SQLite3 framework upgraded to version 1.10 file: [bd29a21686] check-in: [2e2c41ae4c] user: G018869 branch: trunk, size: 497665 | |
2010-09-20
| ||
18:57 |
Synopse Big Table:
| |
2010-09-17
| ||
17:43 | small fixes in the SQLite3 framework file: [1cb1d503cf] check-in: [b65a0aaf27] user: ab branch: trunk, size: 496922 | |
2010-09-11
| ||
16:57 |
| |
2010-09-01
| ||
21:31 | small fixes in the report manager and creation from RTTI + improved comments and some modification to avoid any GPF file: [4f575a5f94] check-in: [17264e2747] user: ab branch: trunk, size: 488949 | |
2010-08-24
| ||
10:51 | Framework updated in version 1.9.1:we had to update the SQLite3 internal engine to version 3.7.2: an obscure but very old bug makes SQLite authors recommend to use 3.7.2 for all new development. Upgrading from all prior SQLite versions is also recommended. So we do. And increase our version number. file: [14179d75b7] check-in: [33aa8e875b] user: ab branch: trunk, size: 488474 | |
09:07 | fix in displaying record reference in UI Virtual Grid file: [00f760bff8] check-in: [20bed74484] user: ab branch: trunk, size: 488246 | |
08:56 | fix small issue in TTimeLog display in virtual grids (if Iso8601=0) file: [7576e5d5bb] check-in: [afb1971e70] user: ab branch: trunk, size: 488312 | |
2010-08-23
| ||
21:39 | SQLite3 Engine updated to official 3.7.1 version file: [8c63d10d38] check-in: [f822e590c3] user: ab branch: trunk, size: 488233 | |
21:13 | Delphi 2009/2010 warnings removal file: [f3bc8e4eb6] check-in: [22c6010bfb] user: ab branch: trunk, size: 487554 | |
15:54 |
| |
15:05 |
| |
2010-08-16
| ||
20:35 |
| |
2010-08-13
| ||
18:45 | lot of new stuff, especially about User Interface auto creation from RTTI: edition, deletion or export can now be implemented internaly with native methods of the framework file: [2eda07dbe7] check-in: [1c81f20a5b] user: ab branch: trunk, size: 473876 | |
2010-08-11
| ||
16:26 | better handling of sftID in the User Interface and database use (e.g. creates a dedicated index for the TSQLRecord published fields inside TSQLRecord) file: [d3f2b09132] check-in: [b149edbd1d] user: ab branch: trunk, size: 469730 | |
2010-08-02
| ||
17:28 | add digital signature to SQLite3 Framework MainDemo file: [2fd658ff5f] check-in: [18a8b7abba] user: ab branch: trunk, size: 467525 | |
2010-07-31
| ||
18:16 | SQLite3 framework updated for the upcoming MainDemo file: [d18bbf4d49] check-in: [c260d3d0b4] user: ab branch: trunk, size: 467541 | |
2010-07-30
| ||
19:12 | SQLite3 framework update for new MainDemo sample, including new TSQLRestClientURI.ForceBlobTransfert property and new TSQLRestClientURI.RetrieveBlobFields/UpdateBlobFields methods file: [8c854512ce] check-in: [bb9bdca3a1] user: ab branch: trunk, size: 465802 | |
2010-07-29
| ||
19:06 | SQLite3 framework user interface update file: [31e8aac3b5] check-in: [cd738b1c9c] user: ab branch: trunk, size: 462675 | |
2010-07-27
| ||
20:06 | Improve compatibility for Delphi 2009/2010 SQLite3 framework User Interface, and prepare release of main sample demo file: [31a95c4ec5] check-in: [4c5adbef4f] user: ab branch: trunk, size: 460770 | |
2010-07-22
| ||
21:04 | minor changes about 3.7.0 version comments file: [b055b5e892] check-in: [30507daa84] user: ab branch: trunk, size: 459351 | |
2010-07-20
| ||
10:32 | test the digital signature of records file: [6033177d71] check-in: [6623d06a58] user: ab branch: trunk, size: 459390 | |
2010-07-19
| ||
09:12 | fixed memory leak in TSQLRest file: [aa7fee3c69] check-in: [2af3db2230] user: ab branch: trunk, size: 458841 | |
2010-07-18
| ||
16:53 | issue fixed with url parameters decoding file: [0f7a2efb0e] check-in: [e79ccf8674] user: ab branch: trunk, size: 458841 | |
15:17 | Client-Server framework allows now remote access to any Server-Side method, like DataSnap (see TSQLRestServerCallBack) + new functions related to this new feature, e.g. JSONEncode/Decode or enhanced URLDecode/URLEncode file: [f6950caba0] check-in: [f7822afcf1] user: ab branch: trunk, size: 458792 | |
2010-07-16
| ||
15:57 | small fixes in SQLite3 concerning SameTextU() rewritten function file: [be5f935917] check-in: [eb57faad66] user: ab branch: trunk, size: 462150 | |
2010-07-14
| ||
16:23 | SynPdf.pas in version 1.8.3 file: [11873323e6] check-in: [4ad453c755] user: ab branch: trunk, size: 462136 | |
2010-07-12
| ||
18:45 | minor fixs in order to validate associated documentation (after PasDoc parsing) file: [7ef7bcdf3f] check-in: [50dd7f43c8] user: ab branch: trunk, size: 462031 | |
08:56 | comments update in SQLite3/SQLite3Commons.pas, about static tables file: [4ead377089] check-in: [19a36a7c05] user: ab branch: trunk, size: 461792 | |
2010-07-06
| ||
18:46 | fixed issue in TSQLTable.DeleteRow file: [51d3097ae2] check-in: [210e7c9866] user: ab branch: trunk, size: 461105 | |
12:59 | TSQLRestServerStatic.EngineList now handle "SELECT Count(*) FROM TableName;" SQL statement file: [790700596d] check-in: [8a55ac7f46] user: ab branch: trunk, size: 461014 | |
12:28 | new TSQLRest.TableRowCount method and some modifications to report black&white and duplex handling file: [0d0bd7ac3c] check-in: [b540a2e0f4] user: ab branch: trunk, size: 460714 | |
2010-07-05
| ||
16:33 | bug fixed in RetrieveBlob/UpdateBlob methods and corresponding unitary tests addition file: [f7fecaca40] check-in: [6523800bcc] user: ab branch: trunk, size: 460078 | |
2010-07-04
| ||
15:21 | new function FileAgeToDateTime file: [5bc47b4d04] check-in: [3661eb39f4] user: ab branch: trunk, size: 460044 | |
2010-07-03
| ||
18:54 | minor update (LVCL, comments) file: [fb5bb3e0fa] check-in: [1da7152871] user: ab branch: trunk, size: 460084 | |
15:17 | Trial of {$ifdef ANONYMOUSNAMEDPIPE} for anonymous named pipes: make no difference under Windows Vista/Seven -> undefined file: [d92ba434c6] check-in: [06168dc306] user: ab branch: trunk, size: 460196 | |
2010-07-02
| ||
22:55 | fixed issue in IdemPropName(... P2: PRawUTF8) function file: [01be52fa6f] check-in: [2332a344e0] user: ab branch: trunk, size: 456086 | |
17:19 |
| |
07:51 | additional comments in TSQLRestServer.NoAJAXJSON property - see http://synopse.info/forum/viewtopic.php?pid=98#p98 file: [fa8ac50454] check-in: [1a9b9a81dc] user: ab branch: trunk, size: 438543 | |
2010-06-27
| ||
12:59 | Delphi 2009/2010 compatibility fix + new unitary testing class file: [e845270fa0] check-in: [ac9d2a3f95] user: ab branch: trunk, size: 437184 | |
06:56 |
| |
2010-06-25
| ||
13:48 |
| |
2010-06-23
| ||
14:04 | Added: Initial Check-In of all Synopse components file: [35db9add28] check-in: [9226a861e3] user: User branch: trunk, size: 437468 | |