1421 Commits

Author SHA1 Message Date
a1d0d0c0ec Prefer local formatting over raw numbers in grids:
* This time, also support formatted integers, not only floats.
* Do not quote both types in grid updates/deletes/inserts.
* Do no internal conversion from string to float and back to string (FloatToStr did that) to avoid silent data corruption. Just use strings in all places.
* Replace FloatStr() function with UnformatNumber(), which is also able to handle integers
Should fix issue #1012
2009-11-23 20:11:13 +00:00
50f0108864 Destroy dialogs early enough which implies one last access to main registry object, which would otherwise be free'd before these dialogs automatically get destroyed and cause an AV. 2009-11-22 23:58:51 +00:00
aa5063ca22 Auto create needed directories if they don't yet exist in directory mode of SQL export. Fixes issue #745. 2009-11-22 23:50:54 +00:00
e5113a4260 Fix unquoted enum and set values in SQL export. 2009-11-22 23:48:28 +00:00
92bd620309 Introduce caching of collation table and table engines list in connection layer. Remove that stuff from main unit and automatically clear cached stuff on disconnection. 2009-11-22 23:42:39 +00:00
46c650eabd Remove dead code. 2009-11-22 18:20:52 +00:00
45fa64fe81 Wrap most queries in a try..except block which may fail with a SQL privilege error. So these places do not raise an exception at user level. Exceptions should only raise in unpredictable error situations. Important for reactivating the MadExcept dialog. 2009-11-22 18:07:53 +00:00
6491160c99 Remove progress form for "Insert files" dialog. Instead, use the universal progress bar on main form's status bar and integrate existing code into the dialog's unit. 2009-11-21 17:22:40 +00:00
d6367a09fa Code cosmetic in "Insert files" dialog:
* Make sure the INSERT query is fired within a try/except block, and keep form open on any error
* Reasonably rename some component names
* Remove InsertFilesWindow(), instead cache the instance of InsertFiles in main form, like it is for most other dialogs
* Get rid of a with .. do block
* Ger rid of a weird form pointer, instead use the "Owner" property
2009-11-21 16:44:31 +00:00
4b7ce24266 FServerVersionUntouched is a static variable, not a complex function, so it's very OK to call it several times 2009-11-21 14:57:01 +00:00
5326c9ace5 MySQL returns TEXT type for both SET and ENUM columns. Fix that by examining the field's flags. 2009-11-21 08:11:04 +00:00
21a4016d57 Readd the same workaround as in r1665, for binary collation in SHOW results (MySQL bug #10491). 2009-11-21 08:00:59 +00:00
c15b1e4b43 Add a second column to the checkbox tree to display sizes of tables, like it is in Mainform.DBtree 2009-11-21 07:45:25 +00:00
f9c1913d07 BINARY_FLAG seems broken for fields of a utf8_bin table. Instead use the charset nr returned by a PMYSQL_FIELD. Fixes issue #1479 2009-11-20 17:38:34 +00:00
f192953c6b Treat + decode incoming data as Latin1 if Utf-8 charset is not available, e.g. on old 4.0 servers. Fixes issue #1466. 2009-11-19 21:12:57 +00:00
c667008483 Performance: Avoid one last empty and useless SELECT query 2009-11-19 20:11:30 +00:00
8fbc923828 Format numbers in result log in regional format 2009-11-19 19:51:36 +00:00
786c5becfd Remove design time caption from target items combo box, so the very first call of this dialog does not show "comboExportOutputTarget". 2009-11-19 19:31:12 +00:00
c0a9b63f98 Fix fetching binary field data. Fixes issue #1478 2009-11-18 23:59:52 +00:00
9002a8d42d Text and Blob data types share the same FIELD_TYPE constants. Makes it necessary to adjust type detection logic. 2009-11-18 21:30:26 +00:00
3daa4dcf18 Finetune column header in log grid of table tools dialog: Allow column dragging, hot tracking and auto-resizing on doubleclick. 2009-11-18 21:08:05 +00:00
aaec4c991d Reimplement server to server exporting in table tools dialog. This time without the need of having two windows open. Instead, all saved sessions are selectable via pulldown. While exporting we open a temporary connection to the target server - no problem with the new simple database layer. Fixes issue #1434. 2009-11-18 20:42:49 +00:00
d2e5d1853b Fix another exception cause for issue #1462 2009-11-17 16:38:41 +00:00
83a8df4f64 Keep release version number also in builds, instead of x.y. Can help to identify the right version one is using and looks less ugly in all places. Fixes issue #1372. 2009-11-17 00:30:00 +00:00
871ccab71c Views have to be exported at the very end so importing such a file does not fail if a view points to a later created table. See issue #281. 2009-11-17 00:15:38 +00:00
1984d426d6 Reorganize code in table tools so the code paths get slightly simpler:
* Move code from ProcessTableNode() into Execute()
* Consistently use one procedure per maintenance and find mode like it's already for export mode
2009-11-16 23:49:51 +00:00
d99f85c412 Fix error in logging current row number and calculating the progress percentage. 2009-11-16 19:40:38 +00:00
65923f1f6f Fix fatal memory leak - selected table rows were never discarded while exporting SQL. 2009-11-16 19:33:46 +00:00
bb5c3f40da Prevent query memo height being reduced to 0 pixels, which makes it non resizable for some reason. Fixes issue #1147. 2009-11-16 19:16:45 +00:00
ef5fbe225a Rewrite export to SQL dialog and code. Integrate that into the table tools dialog, let it use the nice checkbox tree and make exporting lighting fast.
* Fixes issue #886 (broken CREATE TABLE)
* Fixes issue #608 (full backup)
* Fixes issue #281 (export views)
* Fixes issue #307 (header in directory mode)
2009-11-16 01:24:49 +00:00
f2007759b4 Fix SQL logging: Also comments may be so large so the get cut off - in that case they were not masked with /* */ 2009-11-15 11:13:40 +00:00
662ef79e3a Fix EPrivilege exception ("Privileged instruction"). TMySQLConnection.GetResults() itself frees its result on any exception. Forcing that a second time in a caller per try/finally causes the mentioned exception. 2009-11-13 21:14:38 +00:00
e6eb2e529a Auto scroll to first checked db or table node in table tools dialog, so it's visible immediately. 2009-11-12 22:37:57 +00:00
22c15198da Minor performance tweak: cache data types of all columns once at execution time in TMySQLQuery. Only noticeable in places where we heavily check data types. 2009-11-12 21:48:49 +00:00
5b6c94e8f7 Fix finding selected database in db tree - GetFirstSelected is obviously insufficient although it should do the same. However, fixes issue #1442 2009-11-12 21:01:55 +00:00
bdf1bf42e6 Remove dependency from "Questions" status variable. Seems some servers return wrong values in it which lets the command statistics display wrong percentages. Fixes issue #1463 2009-11-12 20:37:56 +00:00
d15d8b48f6 Fix potential exception when freeing a TMySQLQuery. A destructor should always call its inherited method at the very end. 2009-11-12 18:34:53 +00:00
46330d8042 Revert r2738 - not the cause of issue #1439 2009-11-11 22:36:38 +00:00
f56b1ee76a Try to fix another unreproducible exception on older servers which fail to SHOW TABLES FROM information_schema. Probably fixes issue #1455 and issue #1439. 2009-11-11 20:48:00 +00:00
66d80bdeab Avoid accessing GetParentForm if it's already destroyed - hopefully fixes issue #1462 2009-11-11 20:20:07 +00:00
8f12ca9400 Again, try to fix issue #1450 2009-11-11 19:47:07 +00:00
c835402544 Try a performance optimization: avoid calling mysql_data_seek() in SetRecNo() if not needed - mysql_fetch_row() already does it well enough for successive browsing through records. Only noticable on large results like it's the case when exporting or grid filling. 2009-11-11 19:29:48 +00:00
f27306899f Avoid setting VT.OffsetXY between VT.Header.Columns.Begin/EndUpdate. Hopefully fixes issue #997. 2009-11-10 23:37:29 +00:00
9092175cc9 Try to fix a "unknown error" when canceling the session manager. Hopefully fixes issue #1450. 2009-11-10 22:56:36 +00:00
8aafc3980f Keep memo with revision logs enabled, even if local executable is up-to-date. Can be useful for reading the changelog at any point. Fixes issue #1452 2009-11-10 22:37:03 +00:00
5dfb5a9f45 Fix logic in rename database logic: Check for unmovable routines was not done if target db did not exist. Probably related to issue #1457. 2009-11-10 19:59:40 +00:00
88d328aabc Enable multi statements by default for db connection. Fixes issue #274 (again) 2009-11-09 21:58:55 +00:00
88d7adffad Do not auto initialize all previously initialized (but unselected) database nodes in dbtree. Very useless and time consuming. Instead, collapse all db nodes at that point. Also, this removes one weird effect when switching from server A to server B, when B as initialized db nodes with same names as on A. Also, this should remove an AV mentioned in issue #1428. 2009-11-08 19:23:44 +00:00
b320caef17 Remove dead code 2009-11-08 16:17:12 +00:00
e1a9bb0281 Add support for sql_mode=ANSI_QUOTES in table editor. 2009-11-06 21:59:33 +00:00