6e4cb43813
* Experimental: adjust row limit by dragging the data grid scrollbar instead of manually entering numbers in the toolbar.
...
* Experimental: fetch only first 256 bytes of large fields when loading rows into the data grid.
* Fixes rfe #362 , rfe #459 , rfe #475 and rfe #621 .
2008-08-12 02:06:22 +00:00
88fc0316a5
Saving the childwin pos/dim is error prone; avoid this by just maximizing it at all times (which is it's only useful state anyway).
2008-08-11 20:54:56 +00:00
d51bf06b79
Bugfix: (regression) recognize text columns properly when connected to an old server version.
2008-08-11 14:29:50 +00:00
01de625adc
Acticate TNT support in VirtualTree package which magically enables Unicode in the built in inplace editor of ListTables, ListColumns etc. Unicode table names can now be renamed safely.
...
(VT now needs to be build after TNT has been built (see changes in the superpackage) otherwise we would get AVs in the IDE.)
2008-08-10 22:51:25 +00:00
2b6519baf6
Workaround: ftBytes causes breakage in Delphi Variant handling code. Could not find a bug in Zeos, so decided to just avoid using it.
2008-08-08 13:40:22 +00:00
bf24403596
* Crashed tables were mistaken for views. Fixes issue #650 .
...
* Add separate node type for crashed tables, so that some sort of a graphic can be associated with those.
2008-08-07 23:17:28 +00:00
a3ab287273
Bugfix: the BINARY (0x80) flag has been broken in recent libmysql.dll versions, for some reason. Workaround. Sort of fixes issue #660 .
2008-08-07 21:13:38 +00:00
a0cd049f78
Bugfix: regression from previous commit (embarrassing typo).
2008-08-07 21:05:45 +00:00
55e4f6960b
Add more steps for easier debugging.
2008-08-07 20:36:19 +00:00
b9d4b88b50
Implement a simple memo editor, embedded in the grid and activated when a grid cell goes into edit mode.
2008-08-06 23:48:25 +00:00
e45c7c3325
Make datasize in LIMIT calculation configurable via preferences (defaults to 5M). Remove rounding to next 1000 in GetCalculatedLimit to avoid overriding low datasize preference.
2008-07-16 22:22:16 +00:00
2d12725550
Minor comfort enhancement as described in rfe #619 : Recall last manually set LIMIT values in top menu on startup.
2008-07-16 21:26:06 +00:00
fe5479d56f
Move filter editor and relevant components to above the datagrid. The filter panel can be manually activated by a third button besides "Columns" and "Sorting": "Filter". Or, if the preference option "Remember filters" is switched on, it is activated each time a filter is loaded from registry, just like before, but without stealing focus from the sql log or editor tab. If RememberFilters is ON, the filter panel is auto shown/hidden as long as it's not manually activated by the above button - in the latter case it stays until it gets manually hidden.
...
Plus: Removes the load/save filter file buttons as proposed on the mailing list. Seemed totally unneeded and confusing.
I tried to add a new form for this filter stuff, just like the two other buttons do it (Columns, Sorting) but that was of horrible usability as it would have been auto closed as soon as you unfocus it.
TODO:
+ Move LIMIT stuff to a popup, activated by a 4th button above the datagrid.
+ Remove memo/blob editors from the bottom page control, show them inline in the grid or as a new form. The log tab should never get automatically hidden any more then.
2008-07-14 21:18:03 +00:00
c520fdfb1a
Bugfix: compare Unicode streams when scanning for updated data to post. Fixes issue #569 (hopefully).
2008-07-11 19:48:44 +00:00
6eea8311e3
Avoid database metadata calls if the appropriate column information is already available. Fixes issue #315 .
2008-07-11 19:47:16 +00:00
ec3fe33f8a
* Set Zeos 'Writable' and 'ColumnName' properties to make the result set metadata usable for creating update statements.
2008-07-11 19:45:49 +00:00
0c81870436
Added the missing LIBSUFFIX for Delphi 11 packages of PNG Component.
2008-07-09 02:04:05 +00:00
1d3bfe6219
Fix and simplify delimiter customizing, now that the dropdown was moved to the mainform and didn't fire the OnExit event any longer for some reason. The new mechanism just uses a button (surely including a new icon, sigh...) which asks via InputQuery for the new value. Delimmiter "validation" is only done when setting the value per button, not in parseSql() any longer - avoids being bug-per-bug compatible with MySQL's SQL parser at least in the non interactive mode.
...
(Hope that code is ok with Franciscos original implementation. At least the old validation IF's are adapted)
2008-07-06 20:22:16 +00:00
b145877d95
Finally move ToolbarQuery and relevant code to main unit.
2008-07-02 19:32:27 +00:00
3e8080ff48
Move toolbar with field actions from tabTable to main controlbar.
...
TODO: Find more distinct icons for add|edit|delete field buttons.
2008-06-28 07:01:19 +00:00
a8022acb8b
Important toolbars should live on the main controlbar. Move toolbar from database sheet there. Plus:
...
- Remove redundant buttons on it ("view data" + "table properties")
- Move table related buttons from ToolbarStandard to the new ToolbarDatabase ("delete table" + "create table").
2008-06-26 17:10:31 +00:00
f148664018
* Zeos: Make SetFieldData() public to provide a way to poke NULL into a field.
...
* Heidi: Use above to set field to NULL when requested by user.
2008-06-25 13:47:15 +00:00
c40b8d680b
Bugfix: Setting a field to an empty string causes a WriteBuffer(nil, 0) which in turn apparently causes Memory to be nil. Therefore, interpret this as empty string rather than NULL. Fixes issue #316 .
2008-06-25 13:05:16 +00:00
ca940f56a2
Bugfix: Missing use of Wide version method. Might fix issue #540 .
2008-06-25 13:02:05 +00:00
d0fd412c03
* Bugfix: Correct cast when retrieving wide data from buffer is PWideChar.
...
* Bugfix: FBlobSize is in bytes, SetString expects a character count.
2008-06-25 13:00:04 +00:00
8f5cc1ac3c
Bugfix: IsEmpty means NULL.
2008-06-25 10:06:43 +00:00
7219960e50
Get rid of some implicit WideString -> string conversions (annoying!). Still missing: FormInsertStatement(), FormDeleteStatement() and FormUpdateStatement().
2008-06-24 17:50:06 +00:00
ef0be0be5b
Bugfix: send prepared statements in widestring to MySQL.
2008-06-24 10:00:02 +00:00
6ec59d8667
Bugfix: fix regression from r1491.
2008-06-24 09:27:45 +00:00
1bd1bb8a6e
Remove preference option to select whether auto limiting should be applied or not, for the benefit of consistency and usability. See bug #282 which complains about the limit not being remembered. This is still the case for large tables now, but GetCalculatedLimit is more a safety check to avoid huge net loads than it wants to annoy the user. A even better compromise could be not to touch the limit number in the GUI if its value is lower than GetCalculatedLimit.
2008-06-23 20:15:37 +00:00
dced2df45e
Make query execution unicode safe, mainly for a bunch of procedures and functions in Heidi itself plus various neighbours in Zeos.
2008-06-17 17:06:01 +00:00
ff71f59fee
Fix compiler warning 1033 by importing units (that the compiler decides to import automatically anyway).
...
Note that PngComponentsD110 builds correctly without PNG or PngComponents built, for some reason, unlike the other runtime/designtime packages.
2008-06-17 09:00:03 +00:00
ee1feb5521
Reimplement ANSI support to keep nutcases armed with v3.23 mysql servers happy.
...
Fixes issue #497 .
2008-06-16 21:20:15 +00:00
ec7e5cf2c2
Fix: only assume that UTF-8 size estimates are in effect if the character set is UTF-8. (Couldn't be bothered to find out where to actually look up the collation codes, so for now just assumes UTF-8 when it's not binary.)
2008-06-16 19:27:47 +00:00
4b601d817b
Update imprecise comments.
2008-06-16 16:34:57 +00:00
d21f0c50b7
* Bugfix: could have sworn that I saw the fields max width at 755 for a varchar(255) column at some point; testing now it seems that the display size is returned as a character count. Fixes issue #549 , issue #547 .
...
* Comments updated.
2008-06-16 15:15:17 +00:00
2ed4507666
Code cosmetic: Sanitize NODETYPE_BASETABLE constant from superflous "BASE"
2008-06-14 12:48:04 +00:00
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
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
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
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
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
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
ab5cbe1421
Opt-out for the auto-check-for-updates option by default, as discussed.
2008-05-25 19:02:55 +00:00
18f7e4ac38
Remove no longer needed Delphi 10 packages.
2008-05-18 18:20:29 +00:00
3a05545dc7
Fix compiler warning by removing unused variable (from r1381).
2008-05-13 23:34:18 +00:00
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
a2595c2a41
Bugfix: regression due to untestable (at the time) code in r1381.
2008-05-13 22:04:36 +00:00
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
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