8 Commits

Author SHA1 Message Date
f1b3f5501f Remove last traces of MDI (issue #513). Merges code, controls and events from childwin into main. 2009-01-01 23:24:36 +00:00
9e235926b2 Bugfix: Read 5M instead of 50 bytes per loop while an SQL file loads and gets executed. 50 bytes per round take way too many loops, time and CPU. 2008-10-03 10:10:24 +00:00
9a52593dc2 Use Vista's Segeo font for all forms by using the SetVistaFonts() in mainform plus the new routine InheritFont() which simply overtakes fontname and size from the mainform to all other forms. 2008-08-29 18:20:14 +00:00
815aaaf3e7 Fix remembering delimiter string after detecting one with parsesql() 2008-07-07 05:38:37 +00:00
7908f769e0 Accidently forgotten file in r1558 2008-07-02 22:41:10 +00:00
8b898a4a71 Make runsqlfile dialog unicode safe. 2008-06-19 20:01:42 +00:00
c15dcc0c3a Convert callers of parsesql to make the code compile. Note the TSynWideStringList nastiness in childwin, is there a proper way of doing this in Delphi? 2008-06-17 11:57:46 +00:00
6d8f8e1299 Implement a dialog/mechanism to run a SQL file directly without loading it into the query editor (= memory):
1. When user opens a file which is bigger than LOAD_SIZE (currently 5M), ask what to do
2. User can normally open the file, cancel, or use the new mechanism:
3. Load a chunk of LOAD_SIZE of SQL into memory
4. Split chunk with parseSQL into single queries
5. Run queries and go on with 3.

parseSQL is the bottleneck here, very CPU consuming, as it has to take care of different comment-styles and delimiters. So, the above strategy effected a good compromise regarding overall performance on different tests with worst case SQL files:
- "Wide" table exports with many big sized fields => long lines
- "Narrow" table exports with only one mini-sized field, extended INSERTs => short lines
Especially in the latter case it avoids to cause a hellfire of parseSQL-calls

Still seems to have some memory leaks somewhere.
2007-07-23 20:25:29 +00:00