* Make export table locks local to current connection work.
* Bugfix: In non-file mode, export commands go directly to server without being parsed; thus they must not have semicolons at end of sentence. A regression here causes issue #1747558 and issue #1795486, which this commit fixes again.
(Briefly considered adding a cleanSql() which just runs result := parseSql(sql)[0], which would do the same in fewer lines of code, albeit with the small overhead of having the semicolon both added and afterwards removed again..)
- Let ExecUpdateQuery raise the errordialog if creating a database failed. Tells the user the exact reason for why it has failed, not just a vague guess "Maybe that was not a valid name"
- Avoid a superflous exception when creating a database with upper case characters in it and the server lowercases all dbnames silently. Gracefully compare case-insensitive when searching the new created db in dbtree.
The ListView in tbl_properties won't support sorting by columnclicking any longer, but that was useless with such a small amount of items anyway.
Further finetuning of list:
- Disable column-click
- Avoid animation on columns + items creation
- Autosize columns correctly
- Refactor WITH .. DO statements
- Consistency:
- Move all global preferences vars from mainform to childwin.
- Get rid of unused legacy vars NativeFieldTypes + LanguageOffset
- Readability:
- Add documentation
- Prefix preferences vars with "pref"
- Get rid of WITH .. DO statements
- Synchronize height of all listviews after moving the splitter on one page.
- Drop maximum dimensions of form.
- Store/restore form and list dimensions via registry
- Documentation
- Simplify code
- Add useful popupmenu with items "Copy" + "Select all" to SynMemos which display the CREATE statements
- Rely on modalresult of form, drop OnClick handler of Close-button
- Format sum of table sizes using FormatByteNumber instead of always using KB as the unit of choice.
- Add a statusbar to the form to signalize that the form can be resized.
Pros:
- ShowDBProperties doesn't reset column layout
- Sort direction is remembered automatically
- Reading columnlist from registry is done once in a TMDIChild, not on each ShowDBProperties
- Hiding/unhiding columns doesn't call ShowDBProperties
- No more hassling with what is called a "default column" or not. popupDBGrid is usable like in Windows Explorer.
- Column layout is stored global, not per session.
Cons:
- Column layout from old settings logic needed to be discarded
Side effect:
- Fixes a potential AV in FormatNumber(str) with empty strings.
- Created an overloaded FormatByteNumber() which can take a string as input
(Views need to be exported last for an import to work properly, which is a better solution - should do that at some point. Other stuff needs to be exported too, stored procedures etc). Fixes issue #1779068.