Commit Graph

126 Commits

Author SHA1 Message Date
Ansgar Becker
2ed4507666 Code cosmetic: Sanitize NODETYPE_BASETABLE constant from superflous "BASE" 2008-06-14 12:48:04 +00:00
rosenfield.albert
c265dd2f94 Workaround: make Zeos work with less imaginative column names. Fixes issue #545.
Extremely imaginative names can still fail (think ZEOS_RESERVED etc).
2008-06-13 15:22:02 +00:00
rosenfield.albert
505cf7b443 Cosmetic: Keep the 'Bytes' variable counting length without the null terminator (shuffle around some +1's).
Bugfix: Delphi 2007's Utf8ToUnicode malfunctions and causes an access violation when given a 1-byte UTF8 buffer containing only the null terminator.
2008-06-13 13:54:10 +00:00
rosenfield.albert
4b37671f18 * Bugfix: Zeos expects ColumnInfo.Precision to designate the number of characters, until now the Zeos MySQL driver stored the number of bytes instead. Fixes issue #498 and issue #261, possibly issue #339 too.
* Bugfix: Forgot to switch from ANSI to Unicode strings here and there.  Sort of annoying that you cannot cause automatic Wide->Ansi conversion to just assert with an exception with an option.  Could perhaps modify the VCL to do it.
2008-06-13 12:02:28 +00:00
rosenfield.albert
f880e3b21b * Poke around with a stick in Zeos, trying to fix some more Unicode issues.
* Add "assertions" (well, small logic bombs that will explode in your face, rather) in places that I couldn't be bothered to fix or couldn't figure out.

* Zeos doesn't do anything terribly intelligent with it's row buffer, it simply stuffs columns into it from one end until it overflows.  Instead of actually fixing this by, I dunno, mapping the smallest columns into the buffer first and stopping when it's full, just decreased the threshold at which ZMySQL declares something to be a stream rather than a string.
2008-05-27 20:12:56 +00:00
rosenfield.albert
1e31edc0c0 Sanity check: assert that row buffer length is not exceeded at a proper time, instead of dereferencing a broken pointer later on, which has random consequences (given that range checking is off). 2008-05-27 14:16:36 +00:00
Ansgar Becker
88d25c902d Add option "Also check for updated nightly builds" to preferences dialog and implement needed logic in updatecheck dialog and main unit. 2008-05-25 19:35:58 +00:00
Ansgar Becker
ab5cbe1421 Opt-out for the auto-check-for-updates option by default, as discussed. 2008-05-25 19:02:55 +00:00
Ansgar Becker
18f7e4ac38 Remove no longer needed Delphi 10 packages. 2008-05-18 18:20:29 +00:00
rosenfield
3a05545dc7 Fix compiler warning by removing unused variable (from r1381). 2008-05-13 23:34:18 +00:00
rosenfield
7586134572 * Bugfix: in order to get SQL statements all the way into the stomach of the Zeos MySQL driver (aka TZMySQLStatement.Execute()), make sure that there are no characters lost via conversions from WideString to String on the way.
* Also update other drivers so they still compile, now using the WideString interfaces.  Haven't Unicode-enabled any of them, just inserted an explicit cast from 16-bit to 8-bit strings in their respective Execute() methods.
2008-05-13 23:31:31 +00:00
rosenfield
a2595c2a41 Bugfix: regression due to untestable (at the time) code in r1381. 2008-05-13 22:04:36 +00:00
rosenfield
cb18638372 Bugfix: Delphi's DB.pas::TWideStringField.SetAsWideString() puts a PWideChar into the buffer before calling this, so deserializing it as a PWideString is probably wrong. 2008-05-13 19:39:29 +00:00
rosenfield
72c5d3f415 Add preliminary Unicode support.
(Requires a newer libmysql.dll, so you may want to get the strict_dll patch which is not in Zeos AFAIK.)
2008-05-13 18:33:04 +00:00
Ansgar Becker
d4c32d56d7 Implement a completely new user manager (look + feel + logic):
- Accounts and existing privileges are presented in a pulldown which makes it as easy to use as a toy
- Adding privileges calls the new SelectDBO dialog which is basically a tree like childwins dbtree
- Updating accounts canonicalizes various odd/legacy mechanisms in the MySQL user system
- Fullfills feature request #1547437 (btw)
- Wants to be tested heavily on different servers

A result of a team work. 1000 thanks to rosenfield for the admin friendly logic implementation, tons of fixes and usability ideas.
2008-05-08 20:45:51 +00:00
rosenfield
ad68b92264 * Uniformity: also use 'libsuffix' for png components.
* Include png components when installing design-time controls in the IDE.
2008-04-28 11:09:22 +00:00
rosenfield
e9bf0cfe8b Same as previous commit, this time for Delphi 10. 2008-04-28 11:07:46 +00:00
rosenfield
13b8f15ab9 Remove *.res references, they cause build_everything from a scratched install to fail. 2008-04-28 11:00:49 +00:00
Ansgar Becker
1c52b14e11 Get rid of "N/A" constant, consistently use empty an string where that was used. 2008-04-11 20:54:58 +00:00
Ansgar Becker
bba3d2afc1 Implement option to prefer SHOW TABLES over SHOW TABLES STATUS, as discussed on the mailing list. Fix relevant AVs and detection of VIEW/BASETABLE in GetDBObjectType (at least for 5.0.2+ servers). 2008-04-11 19:23:47 +00:00
rosenfield
f9f311adf0 Revert some of the changes to SynEdit.inc; just use the common compiler include file. 2008-03-29 15:29:44 +00:00
Ansgar Becker
8226fae2be Kill option to manually specify value of initial limit (DataLimitEnd) in preferences. Keeping the checkbox for autocalculating while rephrasing its caption. Now the limit number is set either automatically by GetCalculatedLimit() or not at all if the option is disabled. (Un-)checking the CheckboxLimit in Mainform now toggles this option permanently. 2008-03-24 00:11:38 +00:00
Ansgar Becker
f64daf6917 New feature: VIEW editor, can create and edit views. Rather a simple dialog with only the most important options on it. The toolbuttons on mainform are partly moved around, that's the reason for the myriad of changes there. 2008-03-19 21:20:28 +00:00
Ansgar Becker
de12c10721 Refactor Maintenance dialog to fullfill reasonable user wishes in bug #1865477 :
- Rename components with reasonable names
- Use caching mechanism from Childwin.FetchDBTableList to fill tables listbox
- Make form resizable, store and restore customized dimensions
- Keep form instance alive and recycle that instance as long as Mainform lives
- Fix confusion with action item (wasn't really used in both menuitems)
- Add documentation
2008-03-18 20:58:03 +00:00
Ansgar Becker
112ea167a5 Add basic support for views, without changing too much GUI logic:
- Give them their own icon in dbtree and ListTables
- Disable pure table actions (like "Alter table", "Optimize" etc.) in context menus when a view is selected
- Add new column in ListTables: "Type" which is filled either with "Base table" or "View"
- Introduce new property "NodeType" in TVTreeData record, used currently to store NODETYPE_VIEW or NODETYPE_TABLE. This new property is meant to be used for various purposes in other VirtualTrees in the future.
- Introduce Childwin.SelectedTableType, corresponding to Childwin.SelectedTable
- Make DropTable action fit for also dropping views (and surely a list with a mixture of views and tables)
- Don't fetch rowcount from views in DisplayRowCountStats to fix bug #1844952
2008-03-17 20:35:50 +00:00
Ansgar Becker
8d4d04a7ed Create Delphi10 packages for PNGComponents 2008-03-05 13:03:15 +00:00
Ansgar Becker
ba98cb0cc9 Automatic change by D11 IDE. Probably caused by the "ImplicitBuild" option. 2008-03-05 12:39:01 +00:00
Ansgar Becker
bd597d0c1d Use a PNGImageList and find replacements for nearly all icons in the application.
Sources:
- Mark James' Silk icons
- Everaldo's Crystal icons

Todo: Load icons at runtime
2008-03-04 00:20:38 +00:00
Ansgar Becker
be80dc2de2 - Create Delphi 11 package for PngComponents (D10 to come)
- Replace Thany.inc by using compilers.inc
- Set correct output and search directories
2008-03-01 00:24:10 +00:00
Ansgar Becker
45bc241c26 Adjust PngComponents files to match standard directory names.
TODO: Create seperate packages for D10 + D11 - not doable by this commit after having renamed the packages directory and its files.
2008-02-29 23:38:58 +00:00
Ansgar Becker
7b4ce12864 New component: PngComponents by Martijn Saly, downloaded from http://www.thany.org/article/18/VCL and committed as is.
License:
Redistributable in unmodified form. Statement from the author on the above website: "Do with them what you want. Improve them, republish them, as long as my legacy can live on"
2008-02-29 23:28:50 +00:00
Ansgar Becker
7e4bfafbe1 Fix access violation in Database tab when at least one view exists: TField.AsFloat on a NULL value throws this AV. User report can be found here: http://www.heidisql.com/forum/viewtopic.php?p=1812 2008-02-27 20:17:04 +00:00
Ansgar Becker
b584aa5ae4 Introduce automatism for calling the updatecheck dialog. User can set the interval how often this is done in preferences dialog (default interval: 3 days, can be completely disabled). The automatic calling of this dialog should not disturb anyone as it's closed immediately if there are no updates available or if a developer version with an unknown revision is used.
Some GUI controls on the dialog had to be moved around as well as some lines of code so everything works well with the automatic dialog closing.
2008-02-19 19:44:33 +00:00
Ansgar Becker
52c85ddabc Introduce APPDOMAIN constant (=http://www.heidisql.com/), for usage in various methods. 2008-02-08 21:11:08 +00:00
Ansgar Becker
4e23728aa2 - Move all hardcoded preferences names (registry) plus their default values to const.inc to fix inconsistencies like the one described here: http://www.heidisql.com/forum/viewtopic.php?p=1739
- Consequently use Mainform.GetRegValue() to read these values, an overloaded method with either Boolean, String or Integer result. These methods keep a global TRegistry object (regMain) open while the application runs, rather than creating a new one for each caller.
- Remove Mainform.SaveRegValue() which was used in one or two callers. Rather use a TRegistry object and do that by hand. There's no significant advantage in using a SaveRegValue method currently.
2008-02-06 00:00:52 +00:00
Francisco Ernesto Teixeira
f6f6c4d87d Sanitize: Synedit Official CVS Server Revision 1.2 removes the obsolete ChangeLog file.
Reference: http://synedit.cvs.sourceforge.net/synedit/SynEdit/ChangeLog.htm?hideattic=0&view=log
2008-01-24 02:48:09 +00:00
Ansgar Becker
5fbee3c690 Make selection of table engine available on pre 4.1 servers. Applies to "Alter table" dialog as well as "Create table".
- Use variables like "have_innodb" for detection of supported engines.
- Move redundant code from two places to Childwin.TableEnginesCombo()
- Remove some legacy code around this logic
- Don't free the instance of CreateTableForm after closing it. Saves some SQL queries from being fired each time the form gets created.
2008-01-11 15:45:21 +00:00
Francisco Ernesto Teixeira
2eae79f254 Fix searchpath of TNT design package (D2007). 2007-12-18 12:35:13 +00:00
Ansgar Becker
ff1eb5c4b0 Followup to rev 1152 - use build dir in Delphi 11 2007-12-05 19:31:48 +00:00
Ansgar Becker
f3913523be Turn TNT units to use the global compilers.inc instead of providing their own one. Move needed compiler switches from TntCompilers.inc to the project files. 2007-12-05 16:58:38 +00:00
Ansgar Becker
35ebc27761 Merge SynEdit sources with Unicode enabled version from http://www.mh-nexus.de/unisynedit.htm 2007-12-05 12:37:49 +00:00
Ansgar Becker
809f21750f Fix grid cells of ENUM type which were detected as boolean fields by Zeos. TNTGrid renders boolean fields misleadingly as "True" and "False" strings, and it was not possible to update those records. Enum columns are now detected as ordinary string fields (but still generating a pulldown containing all possible values). 2007-12-05 00:49:21 +00:00
Ansgar Becker
db48c82110 Find a better fix for the black focus rectangle plus fix another graphical glitch for MEMO and BLOB cells, which didn't get covered completely by the (NULL). This fix just leaves the (MEMO) and only uses the grey color for it. 2007-12-05 00:36:03 +00:00
Ansgar Becker
d3f4037768 Strip unused demo and example files from SynEdit and TNT components 2007-12-02 19:34:12 +00:00
Ansgar Becker
23c13d2531 Cleanup usage of background colors in grids and listviews:
* TNTGrid is not capable of displaying a sort arrow in column titles. So, signalize sort direction of columns in grids and listviews by lightgrey (= ascending) and mediumgrey (= descending)
* Remove special color for NULL cells in grids because it can conflict with the new sorting colors. Instead, place a grey (NULL) text in these cells. Less gaudy colors now.
* Also remove grey background in primary key columns for the benefit of sorting colors. PK cells have bold font anyway, should be noticable enough.
2007-12-01 22:37:21 +00:00
rosenfield
28bc38df4b Skip generating hpp, bpi and lib files (useful with c++ builder). 2007-11-29 19:35:46 +00:00
rosenfield
f144f21824 Make sure BPL and DCP files go to the build directory. 2007-11-29 19:33:16 +00:00
rosenfield
acbc6ab54f Fix a beef in a search path. 2007-11-29 19:27:09 +00:00
Ansgar Becker
96c5369023 Followup/fix to rev 1144: Don't ask for .res files which were recently deleted. 2007-11-27 20:15:41 +00:00
Ansgar Becker
34730d4a5a Remove files from TNT package which get automatically created by the IDE and tell SVN to ignore these file types. 2007-11-27 19:50:54 +00:00