mORMot and Open Source friends
File History
Not logged in

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

History of files named SQLite3/SQLite3.pas

2012-11-28
13:34
Renamed to SQLite3/mORMotSQLite3.pas by 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-10-26
10:03
[d972e407a5cda8f6] part of check-in [79546deff4] 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 (user: abouchez branch: trunk)
2012-10-22
06:43
[e878a8b636887799] part of check-in [64f7517bb9] moved SQLFromSelectWhere() from a global function to a TSQLModel method (to prepare "Table per class hierarchy" mapping in mORMot) (user: abouchez branch: trunk)
2012-10-17
11:31
[20763f1ae0f124bb] part of check-in [eaf5da8348]
  • included some unit tests like TTestLowLevelTypes and TTestBasicClasses, previously included in SQLite3Commons.pas or TTestLowLevelCommon, extracted from SynCommons.pas, or TTestSQLite3Engine from SQLite3.pas
  • expose all internal Hash*() functions (following TDynArrayHashOne prototype) in interface section of the SynCommons.pas unit
  • added TypeInfo, ElemSize, ElemType read-only properties to TDynArray
  • added TSynLogFile.Freq read-only property
  • added TDynArrayHashed.HashElement property
(user: abouchez branch: trunk)
2012-10-09
11:35
[5763d08ad5735214] part of check-in [463f1ebe6f] fix issue about abusive reset of all TSQLVirtualTableModuleServerDB.Destroy of a given TSQLRestServerDB in destructor TSQLVirtualTableModuleServerDB.Destroy (user: abouchez branch: trunk)
2012-10-05
08:05
[cc9032dd19ce264f] part of check-in [e1d848d95d] updated SQLite3 engine to latest version 3.7.14.1 (user: abouchez branch: trunk)
07:26
[8eee418ebf54a779] part of check-in [5680d09e81] fixed potential GPF issue in TSQLRestServerDB.Destroy when registered TSQLVVirtualtableModuleDBs are already destroyed (user: abouchez branch: trunk)
2012-09-14
05:28
[3bd4371a8a93ee47] part of check-in [cc9865c5b4]
  • huge code refactoring of the ORM model implementation: a new dedicated TSQLModelRecordProperties will contain per-TSQLModel parameters, whereas shared information retrieved by RTTI remain in TSQLRecordProperties - this will allow use of the same TSQLRecord in several TSQLModel at once, with dedicated SQL auto-generation, external DB settings and filter/validation
  • added aExternalTableName/Database parameters to TSQLModel.VirtualTableRegister()
(user: abouchez branch: trunk)
2012-09-07
16:25
[8fd23c963d5b95ce] part of check-in [1cb51e996f] added TSQLRest.Delete() overloaded method with a WHERE clause parameter - including direct SQL execution and ORM dedicated notifications / coherency checking (user: ab branch: trunk)
14:11
[0d61361afe6cae36] part of check-in [c4897fe8b8] updated SQLite3 engine to latest version 3.7.14 (user: ab branch: trunk)
2012-08-31
14:48
[46642fcd97f81e6b] 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
[4f286d9a4ddf1b2e] 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-17
14:28
[06be8f83d5b8834a] part of check-in [8ee15b5130]
  • fixed ticket [8dc4d49ea9] in TSQLDataBase.GetFieldNames()about result array truncated to 64
  • fixed non created index issue in TSQLRestServer.CreateSQLMultiIndex()
(user: ab branch: trunk)
2012-08-04
09:42
[d2a4fd90e99c0732] part of check-in [be2c287f3f] handle NULL values for BLOBs as expected (user: ab branch: trunk)
2012-08-02
15:16
[27c40a5583e0721b] 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
07:04
[ac1910ef614481e3] part of check-in [82b16b13f6] fixed regression tests, and increase their speed (use Synchronous := smOff) (user: ab branch: trunk)
2012-07-26
16:07
[ed706b599d624d70] part of check-in [0782c06578] added TSQLRestServerDB.BackupGZ method for live database backup into a compressed .gz archive file (user: ab branch: trunk)
2012-07-25
15:51
[43ba7af6f2ec9633] part of check-in [18fc67d3db]
  • added TSQLDataBase.Synchronous and TSQLDataBase.WALMode properties
  • added TSQLDataBase.ExecuteNoException() overloaded methods
(user: ab branch: trunk)
2012-07-04
17:35
[2bdb2a3251c6d768] part of check-in [ce2e1dec5c] 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) (user: G018869 branch: trunk)
2012-07-03
15:27
[556fdaa99d049df8] part of check-in [7bf4073f38] huge code refactoring and set of fixes, mostly related to:
  • Oracle handling of BLOB / CLOB fields and Unicode columns (NCLOB/NVARCHAR2)
  • mORMot access of external Oracle tables
(user: G018869 branch: trunk)
2012-06-21
15:58
[3b02f1d9be3b4061] part of check-in [325c9b3afe] updated SQLite3 engine to version 3.7.13 (user: G018869 branch: trunk)
2012-05-29
18:41
[2d262f1378b35cf0] part of check-in [c058f55771]
  • fixed naming of framework in units header
  • fixed incorrect call to FormatUTF8() - see [d74020f7c3]
(user: G018869 branch: trunk)
2012-05-22
13:55
[c667fd9d48f6e39d] part of check-in [3122cf50c7] updated SQLite3 engine to version 3.7.12.1 (user: G018869 branch: trunk)
08:32
[0d9f918cd36c65a0] part of check-in [70a6f5899b] updated SQLite3 engine to latest version 3.7.12 (user: G018869 branch: trunk)
2012-04-13
16:21
[80614999a709efcf] part of check-in [ecca0393cf] FPC compatibility enhancement (user: G018869 branch: trunk)
2012-03-21
09:08
[371ca9af95911fc9] part of check-in [95d09e80f0]
  • TSQLRestServer.ServiceRegister(aClient: TSQLRest...) for a remote access
  • added function IsNotAjaxJSON() function - formerly internal IsExpanded()
  • fixed potential issue of misleaded client side remote content
(user: G018869 branch: trunk)
2012-03-19
13:19
[b4d2e64cf35e9457] part of check-in [f633312bdc] TSQLRequest.Execute(JSON: TStream) now allows field names at least, even with no data (as expected by TSQLRestClientURI.UpdateFromServer) (user: G018869 branch: trunk)
10:21
[6932557e473d4db8] part of check-in [f81f788718]
  • fixed VACUUM failure if there are one or more active SQL statements
  • fixed potential GPF in TDynArrayHashed.ReHash after TDynArray.Clear call
(user: G018869 branch: trunk)
2012-03-18
19:18
[3be9c00f8ce964dc] part of check-in [65a95763f7] 64 bit compilation (user: User branch: trunk)
2012-03-09
15:57
[fe3c3baddf204b0a] part of check-in [2ab0c7d298] 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 (user: G018869 branch: trunk)
2012-03-08
17:14
[d9efae8702fb31d1] part of check-in [a089a32329]
  • added TSQLRestServerRemoteDB class to implement a REST server using a remote TSQLRestClient connection for all its ORM process: can be used e.g. to publish services with a dedicated process in a DMZ
  • deep refactoring of TSQLRestClient / TSQLRestClientURI methods, for better compliance with the Liskov substitution principle (LSP)
(user: G018869 branch: trunk)
2012-02-26
00:26
[045533d176d8b754] part of check-in [be458e5fb5]
  • added dedicated Exception classes (ESynException, ETableDataException) in SynCommons
  • added dedicated Exception classes (EORMException, EParsingException, ESecurityException, ECommunicationException, EBusinessLayerException, EServiceException) all inheriting from SynCommons.ESynException
  • renamed ESQLException into ESQLite3Exception
  • fixed potential GPF issue in Hash32() function
  • Client-side implementation of remote Interface access now is able to create "fake" classes in order to emulate native interfaces - the stubbing code (i.e. asm generated on the fly) is IMHO simple and great: it can be proudly compared to Embarcadero's Rio or Rtti unreadable units :)
(user: User branch: trunk)
2012-02-20
13:37
[a25083b5f18eb836] 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-11
09:48
[828a1a5e75f5b7bd] part of check-in [e2024a3117] new TSynTestCase.CheckFailed method (most of the time, Check is sufficient) (user: User branch: trunk)
2012-02-07
07:46
[b34f2eb03cea9c79] part of check-in [f66814a621]
  • added TSQLRestClientURI.ServerCacheFlush method to handle remote server side cache
  • the TSQLRestServerCallBack method prototype has been modified to supply "var aParams: TSQLRestServerCallBackParams: cardinal" as unique parameter: this is a CODE BREAK change and you shall refresh ALL your server-side code to match the new signature (using a record passed by value as parameter will ensure faster code and seamless evolution of this structure)
(user: G018869 branch: trunk)
2012-01-27
13:52
[7193e7510df18a22] part of check-in [58670a6a73] unit now includes FTS3/FTS4 by default (i.e. INCLUDE_FTS3 conditional is set in both SQLite3.pas and SynSQLite3.pas units) (user: User branch: trunk)
2012-01-24
14:26
[63646233321f3304] part of check-in [bf0a9eab82]
  • fixed rounding issue in ExtendedToString() and all corresponding wrappers like DoubleToStr*, Add(aDouble)..
  • get rid of wrong "Decimal" parameter in float to text conversion
(user: G018869 branch: trunk)
2012-01-20
13:33
[c9afa7b23c779f2f] part of check-in [d8b446f0b5] changed copyright notice to "(C) 2012" - yes, happy new year ! (user: G018869 branch: trunk)
2012-01-18
13:05
[c46fa64d6826716d] part of check-in [1865cf8a0b] updated SQLite3 engine to version 3.7.10 (user: G018869 branch: trunk)
2012-01-11
12:49
[7365a8e12f41d7d6] 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)
2011-12-14
08:33
[c3c59f005a7440fd] part of check-in [782a4fa14f] try to avoid use of all unneeded FreeAndNil calls in the code - see http://www.nickhodges.com/post/Using-FreeAndNil.aspx (user: G018869 branch: trunk)
2011-12-06
17:02
[47b52bdcb97b2390] part of check-in [8cef2fcbc5] new TSQLRecord.CreateAndFillPrepareMany and FillPrepareMany methods, able to create a JOINed SELECT statement including all nested TSQLRecordMany properties (including custom WHERE clause if necessary) (user: G018869 branch: trunk)
2011-11-24
15:36
[1f6e44e5296ed0fa] part of check-in [e04dbb13d0]
  • the TSQLRestServerCallBack method prototype has been modified to supply an addition aSession: cardinal parameter: this is a CODE BREAK change and you shall refresh ALL your server-side code to match the new signature
  • new TSQLRestServer.SessionGetUser method to be used e.g. by any TSQLRestServerCallBack method implementation to retrieve the connected user
  • fix issue about abusive session timeout: TSQLRestServer.SessionGet is now renamed SessionAccess and refreshes the session access timestamp each time a session is retrieved
(user: G018869 branch: trunk)
2011-11-11
13:52
[735d6c238981e4a2] 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-03
20:25
[c82081a56c257b3c] part of check-in [1570acef33] updated SQLite3 engine to version 3.7.9 (user: ab branch: trunk)
2011-10-28
13:54
[c38e82c957f46673] part of check-in [9997c975d6] all EngineList methods (including TSQLRestServerStaticInMemory class) now handles an optional integer pointer, to return the count of row data (excluding field names) (user: G018869 branch: trunk)
2011-10-17
14:36
[59a6f939fa5ea237] part of check-in [21747e8b91] added test about per-database encryption in TTestExternalDatabase.CryptedDatabase (user: G018869 branch: trunk)
2011-09-26
17:05
[ccbfc0284e447f6e] part of check-in [a7fad077bf]
  • new overloaded TSQLRestServer/TSQLRestServerStatic.UpdateField() method
  • fixed TSQLRestServerDB.UpdateField(ByID=true) implementation
  • new overloaded TSQLRestServerDB.UpdateField method
(user: G018869 branch: trunk)
2011-09-22
09:16
[e731e0f3b366690f] part of check-in [367332f9c6] updated SQLite3 engine to version 3.7.8 (user: G018869 branch: trunk)
2011-09-19
14:56
[b0d10f6ac088d4ab] part of check-in [f9eb0363cb] better interface of TSQLTableJSON in-place process (dedicated constructor) (user: G018869 branch: trunk)
2011-09-17
18:05
[ce70516be03a432f] part of check-in [40b9886964] Delphi XE2 compatibility: all tests passed (32 Bit) (user: ab branch: trunk)
2011-09-16
12:31
[fdc3f2bed5b8d252] part of check-in [17f6b15adb] 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) (user: G018869 branch: trunk)
2011-08-26
15:31
[79ada0e83ef7abe0] part of check-in [b4e0ee9a01] TSQLDatabase, TSQLRestClientDB and TSQLRestServerDB constructors now accept an optional Password parameter, associated to the supplied file name, in order to use encryption at the database level - still experimental (user: G018869 branch: trunk)
2011-08-19
14:47
[b7f48476958d08ce] part of check-in [d3916ef410] tuning and fixing logging implementation of the framework (user: G018869 branch: trunk)
2011-08-17
15:44
[b1376cce1bb19b7c] part of check-in [390c14b78a] tests failed because expected wrong results (user: G018869 branch: trunk)
2011-08-10
16:08
[d09c7e8da54ab078] part of check-in [306ce29c98] documentation enhancements (user: G018869 branch: trunk)
2011-08-09
18:20
[9dcb9c9f49efa59a] 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-04
08:44
[9b53140c1b0403c2] part of check-in [a4be8619ba]
  • TSynTests now writes the elapsed time in each test in the final report
  • new TSQLDBSQLite3ConnectionProperties.UseCache property (TRUE by default)
  • enhanced cache in SynDBSQLite3 unit
  • better testing of External DB access via Virtual tables
  • statement cache is now shared with SynDBSQLite3, via the new TSQLStatementCached object as defined in SynSQLite3.pas
  • now TSQLRestServerDB will unregister any TSQLVirtualTableModuleServerDB to avoid random GPF in TSQLVirtualTable.Destroy
  • CreateSQLMultiIndex and CreateSQLIndex methods now working on external DB virtual tables (using SynDB.TSQLDBConnectionProperties.SQLAddIndex)
  • enhanced destructor TSQLVirtualTable.Destroy
(user: G018869 branch: trunk)
2011-08-03
16:25
[3cc18f1273e90142] part of check-in [9a01084359]
  • TSQLDBStatement class now expects a prepared statement behavior, therefore TSQLDBStatementPrepared class has been merged into its parent class, and inherited classes have been renamed TSQLDBStatementWithParams[AndColumns]
  • new TSQLDBConnectionProperties.SQLAddIndex method
  • new TSQLDBConnectionProperties.NewThreadSafeStatementPrepared and TSQLDBConnection.NewStatementPrepared methods, able to be overriden to implement a SQL statement caching (used e.g. for SynDBSQLite3)
  • SynDBSQLite3 unit now implements an internal cache of SQL statement: this will speed up the queries a lot (but parameters should be bound in order to profit from this cache)
  • new overloaded TSQLDBStatement.Bind() method, which can bind an array of const (i.e. an open list of Delphi arguments) to a statement
  • new TSQLStatementCached object, for caching of prepared SQLite3 statements
  • new TTestSQLite3ExternalDB class to test TSQLRecordExternal records, i.e. external DB access from the mORMot framework (use an in-memory SQLite3 database as an external SynDB engine for fast and reliable testing)
(user: G018869 branch: trunk)
2011-07-29
16:21
[d24248f0f6972514] part of check-in [d016e34338] 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) (user: G018869 branch: trunk)
2011-07-28
19:22
[f98b0617f74da4db] part of check-in [d1e353de46]
  • new overloaded TSQLDBStatement.Execute() method, able to mix % and ? parameters in the SQL statement
  • new TSQLDBStatement.BindNull() method
  • new overloaded TSQLDBStatement.Bind() method, able to bind values from a TVarDataDynArray (used e.g. for fast binding SQLite3 virtual table columns)
  • added TSQLRequest.BindNull method and associated sqlite3_bind_null function
  • TSQLRestServer.UpdateField now accepts to search by ID or by value (used e.g. by rewritten TSQLRestServer.AfterDeleteForceCoherency method)
  • TSQLRestServer.UpdateField now accepts to search by ID or by value (used e.g. by rewritten TSQLRestServer.AfterDeleteForceCoherency method)
  • new ExtractInlineParameters procedure to handle :(1234): SQL statements
  • new TSQLRecordProperties.SQLUpdateSet property
  • SQLite3DB.pas unit completed and a lot enhanced (especially in speed optimization)
(user: G018869 branch: trunk)
2011-07-27
15:54
[a82189d1bb8dd2b6] part of check-in [5ce5ff15da] introducing TSQLRestServerStaticExternal class in SQLite3DB unit (user: G018869 branch: trunk)
2011-07-22
14:57
[22cf201e7b106139] part of check-in [f2360c29e7] The SQLite3 engine is now available as a SynDB-compatible database engine (user: G018869 branch: trunk)
09:40
[609f1f604a6158f1] 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-21
12:51
[cdf6404b8f98563d] part of check-in [cc1cd400bb]
  • new TSQLDBConnectionProperties.SQLCreate/SQLAddColumn virtual methods, using protected SQLFieldCreate virtual method to retrieve the SQL field definition from protected fSQLCreateField[Max] properties: SQL statement generation as requested for mORMot is now much more generic than previously
  • fix several issues in SynDB/SynOleDB units
(user: G018869 branch: trunk)
2011-07-15
13:23
[d78342dd5c482d79] 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)
09:34
[bddb8b803b383ad4] part of check-in [ff9623bc90]
  • new TSQLTable.GetCSVValues method
  • GetJSONValues() is now using an internal TRawByteStringStream when the expected result is a RawUTF8 (avoid copying content twice, and is perfectly thread-safe)
  • the shared fTempMemoryStream is not available any more (not thread-safe)
  • TTextWriter.CreateOwnedStream now create an internal TRawByteStringStream instance for faster process and direct retrieval in the Text method
  • JSONEncode*() global functions will use an internal TRawByteStringStream instead of a supplied TMemoryStream
  • TSQLRibbon.AddToReport method can work with self=nil
  • fixed an endless loop in TGDIPages.DrawTextAcrossCols when wrapping text
  • if TGDIPages.WordWrapLeftCols=TRUE, won't wrap column headers
(user: G018869 branch: trunk)
2011-06-28
20:09
[09ce3827028077be] part of check-in [b20885df97] updated SQLite3 engine to version 3.7.7.1 (user: ab branch: trunk)
13:33
[a715860abf17b419] part of check-in [ef3a66cd82]
- fixed issue in produced JSON stream using '=' instead of ':'
(user: G018869 branch: trunk)
2011-06-27
06:15
[3202d971bf5a6c42] part of check-in [4ce5e69f76] updated SQLite3 engine to version 3.7.7 (user: ab branch: trunk)
2011-06-16
07:19
[5e3b1cb02991b84e] part of check-in [b2fa02046a] documentation enhancement (user: ab branch: trunk)
06:13
[57c61ee625b2d674] part of check-in [4aa2672ad4] TSQLDatabase.user_version now defined as a property, with a getter (not read/only any more) (user: ab branch: trunk)
2011-06-10
14:27
[268255840fbc8c6e] part of check-in [fac9c4ffce] new SynOleDB unit (user: ab branch: trunk)
2011-06-09
05:19
[640912b28a63cd57] part of check-in [dc304caa30] fix unit tests when compiled on a non Win1252 charset system (user: ab branch: trunk)
2011-06-07
06:14
[1f6f414c51ffec44] part of check-in [fa3685333d] changed all constant ansichar declaration from #.... into chr() in order to allow compile tests with non 1252 Windows... (user: ab branch: trunk)
2011-05-29
15:23
[a5f0c950bf8a31ac] 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
[9d99b5536b887d5a] 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-25
14:21
[12af61dc25f06869] 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-24
05:27
[25952476bf3757b5] part of check-in [4deae6c8ad] fixed GPF at session closing in TSQLRestClientDB (user: ab branch: trunk)
2011-05-23
16:08
[d696ae2903729626] part of check-in [dc06f54458] session and uri authentication implemented - also associated documentation (user: ab branch: trunk)
2011-05-20
17:19
[1e63c3dba89c35c7] part of check-in [a08c2c046a] introducing framework security and authentication (user: ab branch: trunk)
2011-05-19
20:23
[2ddbde20bdeed839] part of check-in [aee6eb17a9] SQLite3 engine updated to 3.7.6.3: Fix a problem with WAL mode which could cause transactions to silently rollback if the cache_size is set very small (less than 10) and SQLite comes under memory pressure (user: ab branch: trunk)
09:52
[6b89b3e6011d0779] part of check-in [fc18d25e73] sqlite3_rollback_hook and sqlite3_update_hook functions and callback prototypes (user: ab branch: trunk)
2011-05-14
09:07
[07267a39723299de] 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
[fe5f4caf118f42be] 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-12
21:25
[2486fc24a2189761] part of check-in [709bddc9eb]
  • Virtual Tables tests added - implementation sounds complete by now, and working as expected
  • TSQLRestServerStaticInMemory can now store its content into UTF-8 JSON or an optimized (SynLZ) compressed binary format with variable-length record storage: e.g. a 27 KB Json_Dali.JSON content is stored into a 6 KB Binary_Dali.Binary file (this data has a text redundant field content in its FirstName field); 502 KB People.json content is stored into a 92 KB People.Binary file :)
  • fix compilation issue in SQlite3i18n.pas
(user: ab branch: trunk)
2011-05-10
15:33
[4914a1c5aee88745] part of check-in [9327f4ae81] Delphi virtual tables implemented - need to begin the testing now (user: ab branch: trunk)
11:40
[f027bf7f50e47830] 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-06
16:28
[2e51bc1154e0ca59] part of check-in [d8f92bdadb] virtual table using in-memory fast engine, and JSON storage on disk (not yet finished) (user: ab branch: trunk)
10:00
[1dc4dff10bf7a1ed] part of check-in [10e47ac1f5]
  • introducing in SQLite3Commons TSQLVirtualTableModule / TSQLVirtualTable / TSQLVirtualTableCursor classes for a generic Virtual table mechanism (used e.g. by TSQLVirtualTableModuleDB in the SQLite3 unit)
  • new TSQLRecordVirtualTableAutoID and TSQLRecordVirtualTableForcedID classes, used to access any TSQLVirtualTable in our ORM
(user: ab branch: trunk)
2011-05-05
20:41
[21c592a2ef0a9252] part of check-in [f53ad31ef6]
  • fixed compilation under Delphi 2009/2010/XE
  • TSQLVirtualTable* one step further
(user: ab branch: trunk)
17:18
[61e919e5dd027f66] 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-04
18:06
[47fa96f5b7e86c70] part of check-in [f5f9e96de6]
  • new TSQLDataBase.RegisterSQLFunction method and associated TSQLDataBaseSQLFunction classes, for a generic SQL function implementation (including a dynamic array search SQL function)
  • added TDynArray.ElemSave/ElemLoad/ElemLoadClear/ElemLoadFind methods
(user: ab branch: trunk)
2011-05-03
15:01
[4b61e4571b89667d] 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-29
15:15
[d74a8c7c2e89bc7f] part of check-in [b50475a1c9] fastest internal cdecl qsort() function (optimized for PAnsiChar) (user: ab branch: trunk)
2011-04-27
14:28
[4a82e67a6ff05c27] 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
[c3ab8c169c6c5ee5] 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-21
15:40
[0ace5e11c0620286] part of check-in [23ad5c6672] minor changes (user: ab branch: trunk)
2011-04-18
20:57
[c1cd7645f61d36ae] part of check-in [ab5e2473ec]
  • TSQLRestServerDB now uses fast TDynArrayHashed for its internal prepared statement cache
  • added logging in most units
(user: ab branch: trunk)
17:34
[274e106ef3b8f65d] part of check-in [effdec39f4]
  • fixed issue in serializing sftCurrency type in TSQLRecord.GetJSONValue
  • update SQLite3 engine to version 3.7.6.2
(user: ab branch: trunk)
2011-04-15
05:50
[3ef2aa66e2d3eef7] part of check-in [4426fdfead] changed the way test1.json request was processed: "order by FirstName" is less prone to testing misunderstanding (user: ab branch: trunk)
2011-04-14
19:27
[d9544fd47f555f30] part of check-in [7ea77dcbf1]
  • update SQLite3 engine to version 3.7.6.1
  • regression test now exclude fixed auto generated ID sequence (may vary, just like happened for 3.7.6)
(user: ab branch: trunk)
07:10
[d007d2c8877d51e4] part of check-in [1952b3d130] added regression tests about saving/loading records within records (one discovered issue fixed) (user: ab branch: trunk)
2011-04-07
18:34
[6aeef70a0c728d13] part of check-in [479a746db5]
  • added TMemoryMapText class to fast handle big UTF-8 text files (like logs)
  • now TFileVersion is a regular class, not an object/record any more (this was incoherent since Delphi 2010)
  • now TSynCache will use faster TDynArrayHashed for its content hashing
  • source can now be parsed per all Delphi IDE pre-parser (dual declaration as record or object because of Delphi 2010 and up was not understood)
(user: ab branch: trunk)
2011-03-22
18:53
[a244303037962016] part of check-in [0fbcfa621e] try to avoid GPF when null is returned by SQLite3 for a "" field - see http://synopse.info/forum/viewtopic.php?id=275 (user: ab branch: trunk)
14:53
[99930c4f2f6f8848] part of check-in [2149eb9615] 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 (user: ab branch: trunk)
2011-03-21
22:08
[c706e5f37aceb9ed] part of check-in [958d1c6131] continuing dynamic arrays in TSQLRecord implementation (user: ab branch: trunk)
18:42
[46af844d79d0ddf7] part of check-in [910e72d4ed]
  • dynamic arrays can now be specified for TSQLRecord published properties: a new sftDynArray 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
  • dynamic arrays now handled in the JSONToObject and ObjectToJSON functions (will follow TTextWriter.AddDynArrayJSON format, i.e. plain JSON array for common types, but Base64 encoded streom for other arrays)
(user: ab branch: trunk)
10:09
[d38eff923f4ec0ed] part of check-in [eac035a226] fixed issue in TSQLRestClientDB.URI: wrong InternalState returned (user: ab branch: trunk)
2011-03-18
17:05
[6283be1002c9ca2c] part of check-in [bdd1ae6bbd] for TSQLRecord, parent fields are listed first as children published properties (user: ab branch: trunk)
2011-03-15
17:24
[01a44a319606c4f6] part of check-in [32b7777498]
  • new FindAndFill / FindAndDelete / FindAndUpdate / FindAndAddIfNotExisting methods for TDynArray
  • introducing the new tftDynArray property type for TSQLRecord (not yet finished)
(user: ab branch: trunk)
2011-02-28
16:51
[2f128607c39e32b7] part of check-in [9571795732424598a]
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)
(user: ab branch: trunk)
2011-02-21
13:37
[298f34fb8be3c8e8] part of check-in [f8725678fd]
  • wider usage of TSQLRecordProperties, for faster RTTI access, via the new class function TSQLRecord.RecordProps: TSQLRecordProperties: only virtual class function or procedure are now defined in TSQLRecord
  • introducing the GarbageCollector TObjectList for handling a global garbage collector for instances which must live during the whole executable process (used e.g. to avoid a memory leak for "class var" or such variables)
  • new PatchCodePtrUInt() procedure
(user: ab branch: trunk)
2011-02-20
17:38
[aab12fb3d3c25d13] part of check-in [c6be5bcf5c] enhanced TSQLRecordProperties usage in whole framework for faster RTTI (user: ab branch: trunk)
2011-02-11
17:08
[2b8364f921bae8d5] part of check-in [76b952f432] minor changes (user: ab branch: trunk)
2011-02-08
17:07
[47ef97887096f8a0] part of check-in [b59d83be6d] we reach year 2011 - let's celebrate! (user: ab branch: trunk)
2011-02-02
13:30
[306a438b61c009da] part of check-in [b920169594] new sqlite3_stmt_readonly function and TSQLRequest.IsReadOnly property (engine 3.7.5 feature) (user: ab branch: trunk)
13:15
[9f8f44362d3eb12b] part of check-in [b47d3211e6] missing in last check in (user: ab branch: trunk)
2011-02-01
08:52
[27ea0fc4f6ac12fa] part of check-in [e9cafa3892] updated SQLite3 engine to version 3.7.5 (user: ab branch: trunk)
2011-01-20
08:41
[2fe5eb91b572066e] part of check-in [e343ec80ea]
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-alone
(user: ab branch: trunk)
2011-01-13
16:53
[913e1768482fde13] part of check-in [419f66542c] first draft for having SynProject to generate directly pdf files + updated statistics in SQLite3 framework (user: ab branch: trunk)
2010-12-23
17:11
[706a58b17e19deec] part of check-in [d42df4d80c] integrating Big Table into our SQLite3 framework (user: G018869 branch: trunk)
2010-12-17
17:48
[bc308ca66e59b356] part of check-in [6c9351dcee] minor fixes (user: G018869 branch: trunk)
16:03
[0debc8bacb2f8619] part of check-in [54a20ced13]
  • Some speed improvements in JSON parsing and conversion to SQL;
  • There was a problem in the sqlite3_bind_text() official documentation: the SQLite site says that the Text_bytes parameter includes the #0 terminator, but in fact, it excludes it. So a #0 was added to the field content on the database, resulting in an error.
(user: G018869 branch: trunk)
10:48
[df58d44d2a334766] part of check-in [e1492ec886] new function sqlite3_value_numeric_type + speed improvements + 100% tests passed after inlined params integration (user: G018869 branch: trunk)
2010-12-16
18:38
[9b94158f8bf72892] part of check-in [6eab25221e] also inline parameters for Update and Add records, in order to use prepared statements (user: G018869 branch: trunk)
17:58
[8459a720c07da1a0] 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-12-13
15:44
[fce3fdc47d9d099f] part of check-in [e361c5f996] update SQLite3 engine to version 3.7.4 (user: G018869 branch: trunk)
15:38
[babfc579daab7470] part of check-in [945e892c1c] 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) (user: G018869 branch: trunk)
2010-12-05
09:43
[78e7414c854a8ee9] part of check-in [681390fb19]
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 trick
(user: ab branch: trunk)
2010-12-03
14:30
[3bfe661b82d0a5bc] part of check-in [0b79a556b0] new TSQLRecordMany.DestGetJoinedTable method, which gives access to the joined fields of the pivot table, via a TSQLRecordManyJoinKind = (jkDestID, jkPivotID, jkDestFields, jkPivotFields, jkPivotAndDestFields) parameter (user: G018869 branch: trunk)
13:38
[8b8ba72430f4686c] part of check-in [aa35485c88]
  • better non-ascii search handling in TSQLTable.SearchValue
  • new TSQLRecordMany.DestGetJoined() method returning a Dest TSQLRecord, ready to retrieve all joined records (i.e. FillPrepare having been called)
(user: G018869 branch: trunk)
09:18
[914e05ccdff9399b] part of check-in [bbf864891f] TSQLRecordMany now uses TSQLRecord properties, and not TRecordReference any more (user: G018869 branch: trunk)
2010-12-02
15:56
[91ce71ce5d99f3bd] part of check-in [cfe40c7362]
  • new TSQLRecord.FillPrepare(const aIDs: TIntegerDynArray) overloaded method, which can be handy to loop into some records via an IDs set
  • new TSQLRecordMany.DestGetJoined method, in order to retrieve all Dest items IDs associated to the current or specified Source ID, adding a WHERE condition against the Dest rows
(user: G018869 branch: trunk)
08:45
[be8bd628e4b1e434] part of check-in [455353a1cb] fixed dual memory release in case of FTS3 use, in TSQLDataBase.Destroy (user: G018869 branch: trunk)
2010-12-01
13:27
[503435dfd25a688e] part of check-in [cf001067c7] source code modified to be 7 bit Ansi (so will work with all encodings) (user: G018869 branch: trunk)
2010-11-30
16:18
[74cd421ee4c9def4] part of check-in [7810952a31] included fork of ZEOS library, using RawUTF8 as internal string type - draft version (user: G018869 branch: trunk)
2010-11-28
15:36
[eff111dcf29fe9e3] part of check-in [a6e4138561]
  • added sqlite3_result_error() call to make wrong parameter count error explicit during SQL statement internal functions calls
  • handles new FTS4 extension module - see http://sqlite.org/fts3.html#section_1_1 - which is available since 3.7.4
  • new RANK() function available in SQL statements for ranking FTS3/FTS4 with best performance (used by the new TSQLRest.FTSMatch() overloaded method) - see http://www.sqlite.org/fts3.html#appendix_a
  • new class function TSQLRecord.SimpleFieldsCount
  • FTS3Match method renamed FTSMatch, in order to be used without hesitation for both FTS3 and FTS4 classes
  • new overloaded FTSMatch method, accepting ranking of MATCH, using the new RANK internal function - see http://www.sqlite.org/draft/fts3.html#appendix_a
  • new TSQLRecordFTS4 class, to handle new FTS4 extension module - see http://sqlite.org/fts3.html#section_1_1 - which is available since 3.7.4
(user: ab branch: trunk)
2010-11-17
10:13
[c857a4dca4ee55e5] part of check-in [8d52dda6a5] fixed an issue found out by WladiD about all collation functions: If a field with your custom collate ISO8601 is empty '' (not NULL), then SQLite calls the registered collate function with length 0 for s1len or s2len, but the pointers s1 or s2 map to the string of the previous call (user: G018869 branch: trunk)
2010-11-04
13:48
[493a7504bcdd2567] part of check-in [538ee46024] comment typos fix (user: G018869 branch: trunk)
13:44
[93c2d8b0c49af28f] part of check-in [8d490dc58d]
  • introduces new TSQLite3DB, TSQLite3Statement, TSQLite3Blob, TSQLite3Value and TSQLite3FunctionContext types to clarify SQLite3 internal handle usage
  • new SOUNDEXFR/SOUNDEXES internal SQLite3 user functions, for french or spanish Soundex variants
(user: G018869 branch: trunk)
2010-11-02
12:59
[da567069752c42b6] part of check-in [5dfe88884d] new SOUNDEX() function available in SQL statements (calling SoundExUTF8) (user: G018869 branch: trunk)
08:11
[4d177862bd677535] part of check-in [e5aad1e03c] fixed GPF error in TSQLRestServerDB.CreateMissingTables when a table exists, and a TSQLRecordMany field is added to this table (user: G018869 branch: trunk)
2010-10-29
12:12
[a0cd6ab23cfcfa36] part of check-in [7f7ca82dbf]
  • renamed TSQLRecordMany.DestAdd into TSQLRecordMany.ManyAdd
  • new TSQLRecordMany.ManySelect and ManyDelete methods
  • fixed some issues when TSQLRecordMany.FillMany is used together with standard FillPrepare (e.g. in a TSQLRest.Retrieve method)
  • unitary testing enhanced for the new methods
(user: G018869 branch: trunk)
2010-10-28
16:03
[9e4b24a35bc45628] part of check-in [d9f6c60c40]
  • now handles User Defined Functions, via sqlite3_create_function_v2 and corresponding sqlite3_result_* functions: as sample, the MOD() function is defined in any database opened via TSQLDataBase (it was needed to have compatibility with Oracle/MySQL/MSSQL/PostGreSQL engines for our TSQLRecordMany implementation)
  • protect the TSQLDatabase methods called when self is nil, which could occur if the database is not yet initialized (could occur if only a TSQLRestServerStatic exists, like in TTestSQLite3Engine._TSQLRestClientDB)
  • new TSQLRecordMany to handle "has many" and "has many through" relationships
(user: G018869 branch: trunk)
2010-10-27
07:55
[55170112de9782e2] part of check-in [5084f58b9c]
  • new sqlite3_busy_timeout and sqlite3_busy_handler low-level functions
  • new TSQLDataBase.BusyTimeout property, to set the database timeout value in milliseconds
(user: G018869 branch: trunk)
2010-10-18
13:52
[bbe8f7c53cc75f11] part of check-in [2e2c41ae4c] SQLite3 framework upgraded to version 1.10 (user: G018869 branch: trunk)
2010-09-17
17:43
[c192209ca8791a6e] part of check-in [b65a0aaf27] small fixes in the SQLite3 framework (user: ab branch: trunk)
2010-09-11
16:57
[46a7cbd20381bf4b] part of check-in [21e2c6dd5b]
  • WriteObject and CopyObject functions now handle Int64 properties, as TJSONWriter.WriteObject method does now also
  • new TSQLRestServerStatic.GetOne and TSQLRestServerStatic.UpdateOne methods, methods available since a TSQLRestServerStatic instance may be created stand-alone, i.e. without any associated Model/TSQLRestServer
  • diverse fixes in TSQLRestServerStatic which could occur in not expected behavior if security events are enabled for this table (wrong IDToIndex)
  • new TSQLRecordLog.CreateFrom method used to append some log records to an existing JSON log content
(user: ab branch: trunk)
2010-08-24
10:51
[596f7ff8b0da8a6b] part of check-in [33aa8e875b] 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. (user: ab branch: trunk)
2010-08-23
21:39
[a77fc21bfbf0a3f9] part of check-in [f822e590c3] SQLite3 Engine updated to official 3.7.1 version (user: ab branch: trunk)
15:05
[5921fa71ec84c97a] part of check-in [546b849755]
  • handle now RowID as a valid alias to the ID field (needed for TSQLRecordFTS3)
  • handle TSQLRecordFTS3 record, for using FTS3 virtual tables natively inside the Framework, i.e. easy implementing full-text search (including dedicated regression tests)
(user: ab branch: trunk)
2010-08-16
20:41
[bc2600c10a46c8ae] part of check-in [ab093e2844] fix http://synopse.info/forum/viewtopic.php?pid=388#p388 under Delphi 2010 (user: ab branch: trunk)
20:34
[964971b6d66a10d0] part of check-in [f47ccd4283] fix small issue when static tables are accessed in the same process by the client (user: ab branch: trunk)
2010-08-13
18:45
[2da5281ccd73482f] part of check-in [1c81f20a5b] 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 (user: ab branch: trunk)
2010-08-11
16:26
[e5b4d53d9b605d79] part of check-in [b149edbd1d] better handling of sftID in the User Interface and database use (e.g. creates a dedicated index for the TSQLRecord published fields inside TSQLRecord) (user: ab branch: trunk)
2010-08-05
15:04
[134f8a063f3b6bc6] part of check-in [1e36abb848] SQlite3 database engine updated to 3.7.0.1 (user: ab branch: trunk)
2010-07-31
18:16
[f3e3b1da0f819193] part of check-in [c260d3d0b4] SQLite3 framework updated for the upcoming MainDemo (user: ab branch: trunk)
2010-07-22
21:04
[319856b945269b34] part of check-in [30507daa84] minor changes about 3.7.0 version comments (user: ab branch: trunk)
2010-07-18
16:53
[c7bd1b5de6dc437e] part of check-in [e79ccf8674] issue fixed with url parameters decoding (user: ab branch: trunk)
15:17
[465044d8d4c1bc86] part of check-in [f7822afcf1] 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 (user: ab branch: trunk)
2010-07-05
16:54
[c7976e95853f5b5e] part of check-in [054698fc33] avoid GPF in some test fails (user: ab branch: trunk)
16:33
[58d271823ae36b86] part of check-in [6523800bcc] bug fixed in RetrieveBlob/UpdateBlob methods and corresponding unitary tests addition (user: ab branch: trunk)
2010-07-02
17:19
[e421a041cce9e229] part of check-in [0375ad50a7]
  • new direct methods to handle BLOB fields from clients or servers
  • new URI to GET or PUT BLOB fields: ModelRoot/TableName/ID/BlobFieldName
(user: ab branch: trunk)
2010-06-27
12:59
[c316a0ddf411f89f] part of check-in [ac9d2a3f95] Delphi 2009/2010 compatibility fix + new unitary testing class (user: ab branch: trunk)
06:56
[df56ab77edda7e8f] part of check-in [79dd7368a2]
  • update engine to version 3.7 latest draft (snapshot as of 2010-06-26 19:03 UTC)
  • sqlite3.c: #define SQLITE_THREADSAFE 2 is better than 0 which could be usafe
(user: ab branch: trunk)
2010-06-25
13:48
[a8ee99c63fb15afd] part of check-in [eb3d0c0674]
  • update engine to version 3.7 draft (snapshot as of 2010-06-25 11:35 UTC)
  • SetWALMode() method for enabling Write-Ahead Logging for the database
  • the RTREE extension is now compiled by default into the engine
    See http://synopse.info/forum/viewtopic.php?id=31
(user: ab branch: trunk)
2010-06-24
10:28
[d9bac696fba00c89] part of check-in [94cde232e8] Some minor directories modification: D:\Dev\... renamed \Dev\... (user: User branch: trunk)
2010-06-23
14:04
Added [d31e9f815faae0ed] part of check-in [9226a861e3] Initial Check-In of all Synopse components (user: User branch: trunk)