#1 2010-09-05 14:05:49

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

In my SQLite3 Framework TODO list

(extracted from latest SQLite3Commons.pas)
    - test and enhance Free Pascal Compiler compatibiliby (2.4.0 and later)
    - port to other OS, using CrossKylix or Free Pascal Compiler
    - port to other Database Engines than SQLite3 (via a database-driver class)
      and the in-memory static engine: this could be version 2, and a change of
      name from "Synopse SQLite3 framework" to "Synopse REST DB framework" e.g.
    - new property/field type for handling directly one to many / many to many
      relationship, i.e. automatic relation tables creation,
      just by using a dedicated field property (such relations are possible
      with the current implementation, but dedicated relation tables must be
      programmed by hand) - one to one is already implemented by creating a
      published property of any TSQLRecord descendent type
    - use native VCL components for the automated User Interface generation,
      instead of TMS proprietary components

If you have any wishes... you're welcome posting them here!

Offline

#2 2010-09-08 19:13:45

longge007
Member
Registered: 2010-06-22
Posts: 107

Re: In my SQLite3 Framework TODO list

sir:
i want to know whether or not the DB capacity can oversize 2 TB (bytes) in your Framework

Offline

#3 2010-09-08 20:29:27

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

2 Tera Bytes???

SQLite3 database rely on a single file. So you'll need a file system which is able to handle 2 TB of data in a single file. NTFS limit is 16 TB as far as I know. But you'll need raid disks for such capacity!
Here are the limits of the database engine: http://www.sqlite.org/limits.html
The maximum database size (with a page size of 1KB) is 1 099 511 626 752 bytes, more or less 1 TB. But with a bigger page size (up to 64 KB can be set using SQLIte3 pragma commands), you can have theoritically a 64 TB database size...

See http://www.sqlite.org/pragma.html for how to tune the DB engine.

I've seen SQLIte3 database of several dozen of GB. On high-end servers.
But I would recommend using files for storing a lot of blob data, or other database systems if you need more than 1 TB of data.

Offline

#4 2010-12-23 10:35:05

Gerry
Member
Registered: 2010-08-18
Posts: 1

Re: In my SQLite3 Framework TODO list

Dear Arnaud,

Many thanks for developing the lean SQLite3 framework. I'm thinking about using it for a new project on a VPS (virtual private server) but looking at your code I see there is no support for HTTPS/SSL. Adding this to your ToDo list would be really appreciated!

Offline

#5 2010-12-23 13:35:25

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

Thanks Gerry, for your interrest.

There are several possibilities here:
1) If you use the framework in only a Delphi Client/Server solution, it will achieve better performance by adding basic encryption to both client and server side. There is fast AES encryption in our SynCrypto unit. It will be faster and less resource consuming than HTTPS. In this case, a private encryption key will be stored on both client and server.
2) Interface HTTPS via the OpenSSL libraries; this could be not so difficult to add. There is Indy and Synapse code available.

Security and session handling is possible (there are security attributes built inside the framework), but not available by default up to now.

So here are some items to add to the ToDo list:
- allow custom encryption between client and server;
- use OpenSSL library to add HTTPS connection;
- handle session and user level security.

Offline

#6 2011-02-09 07:31:22

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

As I stated above, it can go up to 64 TB.

But you'll need a file system able to handle such files (NTFS will handle 16 TB).
In all cases, this is a lot of space: it must be filled not with trillions of small records, but with big BLOB fields (containing video or such).
In this case, consider using plain files for storing those BLOB, and use the DB for the metadata.

Offline

#7 2011-02-16 17:43:53

migajek
Member
Registered: 2010-10-01
Posts: 89

Re: In my SQLite3 Framework TODO list

Hi,
is there any progress in making the Framework independent from TMS? I'm about to start a bit more serious project with Synopse Framework, as for now I can use TMS Pack demo I guess, but one day I'll need to make my app independent ...

Offline

#8 2011-02-16 19:11:32

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

Which version of Delphi do you use?

Do you plan to use the Delphi Ribbon component available since Delphi 2009?

I think I could use it, or (even better for compatibility with all Delphi versions) standard VCL components (Win32 Button, Tabs, ToolBar)....

Offline

#9 2011-02-16 19:39:16

migajek
Member
Registered: 2010-10-01
Posts: 89

Re: In my SQLite3 Framework TODO list

ab wrote:

Which version of Delphi do you use?

Delphi 7PE for my "personal" projects wink By "personal" I mean each project done in my spare time.

Do you plan to use the Delphi Ribbon component available since Delphi 2009?

not for personal projects wink

I think I could use it, or (even better for compatibility with all Delphi versions) standard VCL components (Win32 Button, Tabs, ToolBar)....

What I love about the framework is it's compatibility with D7... Please, don't break it that way ! wink

Compiler defines would do the thing here, I believe.

Offline

#10 2011-02-16 19:57:46

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

OK - so let's look after Standard Delphi components.

With theming under XP and Vista/Seven, they don't look so "outdated"... and User just feels right at home...

Offline

#11 2011-02-16 20:05:26

migajek
Member
Registered: 2010-10-01
Posts: 89

Re: In my SQLite3 Framework TODO list

To be honest, I prefer those most standard buttons and others components look, over the "glassy" look of recent Office interfaces.

Offline

#12 2011-02-16 20:17:08

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

That's an understanding!

GO for the standard buttons!
smile

Offline

#13 2011-02-16 20:58:02

migajek
Member
Registered: 2010-10-01
Posts: 89

Re: In my SQLite3 Framework TODO list

ab wrote:

GO for the standard buttons!
smile

smile can't wait to see that, especially the UIEdit form which seems to be perfect for quick object population / edition.

Offline

#14 2011-04-19 15:20:31

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

Gerry wrote:

I'm thinking about using it for a new project on a VPS (virtual private server) but looking at your code I see there is no support for HTTPS/SSL. Adding this to your ToDo list would be really appreciated!

With the new TSQLite3HttpClientWinHTTP (=TSQLite3HttpClient) and THttpApiServer (using http.sys) classes you can handle HTTPS connection with our framework.

I didn't test it yet, but there is all the needed code and parameters available.
Feedback is welcome here!

Offline

#15 2011-04-26 07:55:28

coblongpamor
Member
From: Bali-Indonesia
Registered: 2010-11-07
Posts: 130
Website

Re: In my SQLite3 Framework TODO list

hallo AB, i have some request,
1. Can you complete TSQLTableToGrid, so i can add,edit,and delete record directly on the grid, is it possible?
2. Can you create TSynLookupComboBox component?
i imagine i can create the component like this:

TSQLCountries=class(TSQLRecord)
private
protected
public
  ID:RowUTF8;
  Code:RowUTF8;
  Name:RowUTF8;
end;

TSQLPeoples=class(TSQLRecord)
private
protected
public
  Country:TSQLCountry;
end;


var
  aCountries:TSQLCountries;
  aPeoples:TSQLPeoples;
  lcb:TSynLookupComboBox;
begin
  lcb:=TSynLookupComboBox.Create(aPeoples,Country,aCountries,'Code,Name');
  //i want lcb will automaticaly filled with aCountries Data (records).
  
end;

thanks

Offline

#16 2011-04-26 12:04:45

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: In my SQLite3 Framework TODO list

coblongpamor wrote:

1. Can you complete TSQLTableToGrid, so i can add,edit,and delete record directly on the grid, is it possible?

It's a good idea.
There is already enough info in the RTTI and field types to make it.
I want to do this since some time, but didn't need it soon... so didn't implement this yet.

coblongpamor wrote:

2. Can you create TSynLookupComboBox component?

You have this already existing in the SQLite3UIEdit.pas unit.
That is, sftID fields (TSQLRecord descendant) are handled by a TComboBox component with all possible values of the corresponding TSQLRecord descendant.

Offline

Board footer

Powered by FluxBB