This repository has been archived by the owner on Sep 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 29
/
CHANGES
647 lines (633 loc) · 83 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
1.3.8
- Updated the MySql.Data library that handles all internal connections to the MySQL database to support connections to MySQL 8.0 servers and the new
SHA256 authentication plugin. This update of the MySql.Data library also fixes a MySQL Server 8.0 bug where fetching schema information for columns
returns the rows in alphabetical order instead of ordinal order.
(MySQL Bug #93501, Bug #29030866 - ERROR COPYING TABLE DATA / VALUE IS NOT SUITABLE TO BE CONVERTED TO A DATETIME)
- The update of the MySql.Data library also fixes a bug where schema information for stored procedures on MySQL 8.0 servers should be retrieved from the
information_schema table instead of the older mysql system tables.
(MySQL Bug #93814, Bug #29215137 - IMPORTING USING PROCEDURES NEEDS MYSQL.PROC TABLE WHILE IT DOESN'T EXIST)
- Fixed a bug where MySQL for Excel was creating a new blank workbook in the scenario where a Workbook is being opened, so by the time the add-in loads
the application's active workbook has not been yet defined. (MySQL Bug #86633, Bug #26245818 - MYSQL FOR EXCEL ADDON)
- Added a new advanced setting to the Import Data dialog called "Import all floating-point data using a DECIMAL data type". This option is used to import
all floating-point data as DECIMAL to prevent seeing differences between stored numbers in the database and how they are imported to Excel. This
behavior affects FLOAT and DOUBLE data types, which follow the IEEE-754 standard and are stored as an approximate value. DECIMAL data is stored as an
exact value. (MySQL Bug #86203, Bug #26008777 - MYSQL FOR EXCEL ADDS MORE NUMBERS WHEN A FLOAT DATA TYPE IS IMPORTED)
- Added a new global option for Edit Sessions called "Tolerance for FLOAT and DOUBLE comparisons in WHERE clause", which is used along with the "Use
optimistic updates on all Edit Data sessions" option. Now WHERE clauses for optimistic updates use something like "??float_or_double_column?? BETWEEN
[some_float_or_double_value]-[epsilon_tolerance] AND [some_float_or_double_value]+[epsilon_tolerance]" which allows for a proper row matching in the
database. This option does not have any effect if the "Import all floating-point data using a DECIMAL data type" option for the Import Data operation
is used. (MySQL Bug #93824, Bug #29179195 - "QUERY DID NOT MATCH ANY ROWS IN THE DB..." WHEN USING FLOAT OR DOUBLE)
- Fixed the SQL query assembled during an Edit Data operation when involving time fields to wrap their value in single quotes.
(MySQL Bug #86723, Bug #26301455 - MYSQL FOR EXCEL WON'T SAVE TIME BACK TO MYSQL DATABASE)
- Fixed a bug where committed data was not being recognized by the Edit Data dialog for subsequent commits.
(MySQL Bug #87642, Bug #27365464 - DURING EDIT MODE, COMMIT BEHAVES UNEXPECTEDLY AFTER REVERT/REFRESH FROM DB)
- Changed the way connections information used for Import and Edit Data operations is stored as workbook XML part so that the metadata is not created when
the workbook is initially created, but when the Import and Edit Data operations are performed. This solves the issue of Excel prompting for saving changes
when there are no apparent data changes to the workbook.
(MySQL Bug #94959, Bug #29625731 - CLOSING EMPTY WORKBOOK GIVES A PROMPT TO SAVE CHANGES WHEN THERE ARE NONE)
- The add-in now attempts to scrub connection information for imported tables to check if worksheets changed names and if so, update the connections
metadata. At the same time connections information for missing/deleted worksheets is removed.
(MySQL Bug #89387, Bug #27441407 - DATA CANNOT BE LONGER REFRESHED AFTER RENAMING OF EXCEL-SHEETS)
- Modified the way relationships are created for an Import Data operation for multiple tables, so that relationships among tables that could create a
circular reference are not added to the Excel data model.
(MySQL Bug #93581, Bug #29050558 - CANNOT CREATE RELATIONSHIPS ON DATA MODEL DURING IMPORT DATA FOR RELATED TABLES)
- The Import Data dialog for stored procedures now allows to select individual columns to be imported from each of the returned result sets, in a similar
way the importing functionality works for tables and views. (Bug #16239029 - IMPORT PROCEDURE DATA - INDIVIDUAL COLUMNS SELECTION SHOULD BE ALLOWED)
- Set the limit of preview rows for Import and Edit Data operations to 100 rows for consistency. The max limit was previously 1000 in the advanced options
for the Import Data operation (which defeats the purpose of "previewing a small amount of data"), but was correctly set to 100 in the Preview Data dialog
shown for Edit Data operations. (MySQL Bug #95267, Bug #29745518 - VALUE OF '300' IS NOT VALID FOR 'VALUE' ERROR WHEN TRYING TO EDIT A TABLE'S DATA)
- Fixed the automatic scaling of visual elements when the OS is configured with a DPI settings different than 100%.
(MySQL Bug #81003, Bug #23218058 - AUTO-SCALING PER DPI SETTING NOT WORKING PROPERLY IN 1.3.6 RELEASE)
- Connections using SSL are now supported by MySQL for Excel. These connections may be created from MySQL Workbench or also specifying SSL options can be
done from MySQL for Excel. SSH tunneled connections are also supported now, the tunnel is created automatically and no need to have an intermediate
proxy software to create the tunnel, just the way also MySQL Workbench transparently works. (Bug #18550080 - SUPPORT FOR SSL CONNECTIONS TO MYSQL)
- MySQL Fabric or other unknown connections are no longer shown by MySQL for Excel. Also SSH tunneled connections and connections using SSL are not
disabled anymore in MySQL for Excel. (MySQL Bug #86229, Bug #26025950 - MYSQL SERVER CONNECTION SHOWS FABRIC AND OTHER UNAVAILABLE CONNECTION METHODS)
- Added validations to the addition and renaming of stored column mappings for Append Data operations, so that the name of a stored column mapping cannot
be empty (it is required) and so that no duplicate names end up in the stored mappings collection for the current user.
(Bug #29826762 - APPENDDATA STORE MAPPING ALLOW DUPLICATED MAPPING METHOD INSTEAD OF OVERWRITE IT)
- Fixed the enabling or disabling of the Export Data and Append Data actions when changing worksheets, depending on the existence of data in the active
cell of the worksheet in focus. (MySQL Bug #95555, Bug #29839647 - SWITCHING WORKSHEETS INCORRECTLY ENABLES ACTIONS ON EMPTY WORKSHEET CELL)
1.3.7
- Changed the behavior of how the "First Row Contains Column Names" selection affects the Data Type for columns. The value of the aforementioned checkbox
controls the auto-detected Data Type for columns either by defaulting the type to a suitable one for rows 2-n (if checked), or to one suitable for rows
1-n (if unchecked). Now if the default auto-detected Data Type value is changed by the user, the overridden value remains even when changing the value
of "First Row Contains Column Names". A new option called "Reset to auto-detected" was added to the Data Type field's context menu, to easily revert the
Data Type value back to the auto-detected one. (MySQL Bug #84802, Bug #25492772 - LOSES MAPPINGS WHEN [DE-]SELECTING FIRST COLUMN CONTAINS NAMES)
- Fixed a problem where empty string values mixed in an Excel column's data that is used in an Export or Append Data operation cause the generated SQL
queries to have no value, instead of an "empty" value corresponding to the target column's data type (e.g. 0 for integer, false for bool if the column
does not allow null values, or null otherwise). (MySQL Bug #84851, Bug #25509312 - CANNOT APPEND NUMBERS THAT ARE THE RESULT OF FORMULAS)
- Connection information used to refresh information of MySQL data imported into Excel tables and used by Edit Data sessions that were open when an Excel
Workbook is saved, was stored by MySQL for Excel (in versions lower than 1.3.7) in the user settings file. This means that as long as the Workbook was
opened using the same Windows account and in the same computer when the Workbook was last saved, Excel tables containing MySQL data would be able to
refresh their information and Edit Data sessions would be able to be automatically restored. If the Workbook was opened with a different Windows account
or moved to a different computer, the data refresh and the restoring of Edit Data sessions was not possible. Starting with MySQL for Excel 1.3.7,
connection information related to imported MySQL data into Excel tables and to Edit Data sessions, can now be stored within the Excel Workbook as XML
parts when the Workbook is saved, as long as the Workbook file format supports XML parts, otherwise the user settings file is used. This allows
portability of the connection information. MySQL for Excel will automatically attempt to migrate Import and Edit Data related connection information
from the user settings file to the Workbook's XML parts when the Workbook is opened, if the Workbook supports XML parts and connection information
related to that Workbook is found in the user settings file. (MySQL Bug #73314m, Bug #25509085 - MYSQL FOR EXCEL EDIT FEATURE ON MULTIPLE COMPUTERS)
- Added new options to the Advanced Append Data Options dialog to choose the behavior for rows containing unique key values that are duplicates of the
ones in the rows in the database. The options are "Error out and abort the append operation", which behaves as previous versions of MySQL for Excel where
the server returns an error if any duplicate unique key values are found; the second option is "Ignore rows with duplicate unique key values", which
causes rows containing duplicate values for unique keys to be ignored or skipped, and only the rows without duplicate values are inserted to the database;
the third option is "Replace the values in the old rows with the ones in new rows", which causes rows containing duplicate values for unique keys replace
the values of the corresponding rows in the database. (MySQL Bug #83801, Bug #25479653 - MYSQL FOR EXCEL - IGNORE DUPLICATES OPTION)
- Added support to handle spatial data in MySQL for Excel. Spatial data is handled using corresponding text representations such as Well-Known Text
(WKT), Keyhole Markup Language (KML), Geography Markup Language (GML) and GeoJSON. The last 3 formats are converted into WKT internally since that is
the format natively supported by MySQL. A new option was added to the Global Options dialog to select the text format to use to handle spatial data
(WKT by default). Options in the Global Options dialog were rearranged to be grouped in tab pages for easier navigation.
(Bug #22081263 - [IMPORT] ERROR IMPORTING GEOMETRY TYPE DATA)
- Fixed the query sent to the server when creating a new schema with a BINARY character set so that it never includes a "COLLATE binary" after specifying
the charcter set, since the binary collation is the only one allowed for a binary character set, the MySQL server deems the "COLLATE binary" as an
invalid syntax. (Bug #22371690 - BINARY - BINARY COLLATION RISES AN SQL ERROR)
- Fixed the sizes of grids and some other fields that are set to grow to the bottom and to the right when the form is resized, and changed the way
anchors are defined for them. (MySQL Bug #84351, Bug #25325457 - GRIDS SIZES WRONG AT THE BOTTOM)
- Fixed the way a summary row is created when using Excel tables (ListObjects) to import MySQL data. The summary row must be created after the ListObject
is bound to the data source. Also fixed the fact that an extra blank row must be left at the end of the imported data when at the very bottom of the
Excel Worksheet, the extra blank row is needed in the case a summary row is manually added by the users, otherwise Excel throws a COM Exception.
Enhanced the way capping the number of rows to import is calculated to automatically adjust the maximum number of rows the "Limit to" field allows.
If the maximum limit is capped, a warning is displayed now so users are aware of the reason why the maximum limit is not equal to the total number of
rows in the table. (MySQL Bug #73982, Bug #19652840 - ERROR IMPORTING AT WORKSHEET BOTTOM WHEN ADD SUMMARY ROW IS SELECTED)
- Fixed the refreshing code to avoid attempting to update properties in the sidebar if it is not visible.
(MySQL Bug #84291, Bug #25301136 - ERROR REFRESHING MYSQL DATA WHEN THE ADD-IN'S SIDEBAR IS NOT VISIBLE)
- Fixed code that runs when the MySQL for Excel add-in is loaded that loads connection information before the add-in's side bar is shown.
(MySQL Bug #84290, Bug #25300917 - MYSQL DATA NOT REFRESHED AUTOMATICALLY WHEN OPENING A WORKBOOK)
- Fixed a problem with the assembled where clause for queries generated in Edit Data sessions when having the option to use optimistic concurrency; when
empty strings were present in the editing MySQL table, the values where being incorrectly converted to null in the where clause. Ensured the connection
used to push Edit Data changes uses the same client character set the editing table has. Added a friendly error message in case the editing table has
a Unicode character set that is not UTF-8 compatible since those are NOT supported client character sets in MySQL, so editing such a table is
currently not possible. (MySQL Bug #76287, Bug #25236221 - COMMIT CHANGES ERROR)
- Fixed a problem where connections migrated from the MySQL for Excel connections file to the MySQL Workbench connections file were being saved with a
connection method of "Local Socket/Pipe" instead of "Stantard TCP/IP". Fixed a problem where the MySQL for Excel connections file was being re-created
after connections were migrated successfully to the MySQL Workbench connections file, when it should remain deleted. Fixed a problem where the dialog
asking the user if he wants to migrate connections from the MySQL for Excel connections file to the MySQL Workbench connections file was displayed even
when there is no existing MySQL Workbench connections file; now if the MySQL Workbench connections file does not exist a migration is not offered.
(Bug #22079779 - [CONN] AUTO DETECT IS NOT POPULATING THE CONNECTION PARAMETERS)
- Fixed the case where passwords were not being stored in the MySQL for Excel's user data folder after MySQL connections were set to be migrated manually
(the option to delay indefinitely was chosen) to the MySQL Workbench's connections file.
(MySQL Bug #83855, Bug #25108196 - SAVED CONNECTION PASSWORDS NOT BEING REUSED WHEN OPENING A CONNECTION)
- Fixed the way MySQL connections hold values for the schema being used to connect, so that the default schema is differentiated from the current schema
in use. Fixed the validation that prevents the connections dialog from being displayed if MySQL Workbench is running to only prevent it if the
connections are stored in the MySQL Workbench's connections file and allow the dialog to be displayed if the connections are stored in the MySQL for
Excel's connections file. (Bug #22074426 - [EDIT] DEFAULT SCHEMA MODIFIED FOR EDITED TABLE)
- Fixed the way the current schema is assigned to the connection being used to refresh imported data. Connections for imported data are first checked
to see if they are already connected, otherwise a connection is attempted; if successful the current schema is assigned to the connection. That way
we ensure a shared connection for different imported tables switches to the current schema correctly.
(MySQL Bug #84154, Bug #25233309 - ERROR REFRESHING IMPORTED DATA FROM DIFFERENT SCHEMAS IN SAME CONNECTION)
- Added code to check the status of MySQL connections before attempting to refresh imported MySQL data using those connections, if connections are not
active an attempt to connect is done. If the connections do not have a password specified the connection is attempted without password, if that fails
then a dialog is displayed asking for the password before attempting to open the connection again. Added 2 new options to the Global Options dialog to
either "Restore imported MySQL data in Excel Tables when opening an Excel workbook" or "Restore imported MySQL data in Excel Tables when showing the
Add-In's sidebar". (MySQL Bug #84136, Bug #25227226 - ERROR REFRESHING IMPORTED DATA WITH A CONNECTION WHERE THE PASSWORD WASN'T SAVED)
- Reverted back the way Export Data operations prepare data to be exported so the DataTable container has the final data types before the operation takes
place, this automatically makes the decimal numbers conversion from any locale to an invariant one. The locale-free fix for numbers was removed in 1.3.5
where that fix was found to introduce other problems. Now it has been added back and the other problems sorted out.
(MySQL Bug #84049, Bug #25214984 - MYSQL FOR EXCEL AND COMMA SEPARATOR IN CURRENCY)
- Changed the way the Refresh All is overridden by MySQL for Excel, in previous versions the Refresh All was looping through all Excel tables (ListObjects)
and PivotTables found in every Excel Worksheet and refreshed their contents. Now the Refresh All is overridden to loop through all Workbook connections,
any connection created by MySQL for Excel to refresh imported data is handled internally by the add-in, the rest of the connections are refreshed in the
standard way. (MySQL Bug #81901, Bug #23605635 - MYSQL FOR EXCEL V1.3.6 - REFRESH ALL)
- Fixed the case where Excel cells contain an empty string instead of a blank, maybe coming from pasted data, so that when the data is processed to be
inserted into a MySQL table (trhough an Export, Append or Edit Data operation) the emtpy string is considered the same as a blank cell.
(MySQL Bug #82497, Bug #24431935 - MYSQL EXCEL CONNECTOR ERRS WITH NULL FIELDS)
- Fixed the way tinyint(1), bit and bit(1) values are treated by MySQL for Excel. Before values mapped to columns of those aforementioned data types were
assumed to be boolean values and always converted to true and false representation (1 and 0 values in Excel). Now tinyint(1) is treated as a type that
can be either boolean or numeric for Export and Edit Data operations (since BOOL/BOOLEAN are actually synonyms of TINYINT(1), but not viceversa). For
Import Data operations, connections are now using the TreatTinyAsBoolean=false in the connection string for all connections opened by MySQL for Excel.
(MySQL Bug #80880, Bug #23022665 - TINYINT INCORRECTLY MAPPED TO BOOLEAN)
- Fixed the way column names in a bound Excel table (ListObject) are overriden, names need to be given traversing the ListObject's columns in a reversed
way, otherwise the first column that is to be named as "Column1" can't be named since the 2nd column already has that default name.
(Bug #22373140 - [IMPORT] WRONG COLUMN NAME IMPORTING DATA WITHOUT COLUMN NAMES AS HEADERS)
- There seems to be a bug in Microsoft's Excel interop code to unprotect Worksheets in the BeforeSave event when the save is done programatically (through
the Workbook.Save method). This bug seems to be present in VBA as well, and other developers in the Internet report the same problem. The problem happens
when the Workbook is closed and needs to be saved, the Worksheets with an Edit Data session are not unprotected before the Workbook is saved, so the next
time the Workbook is opened, the Edit Data sessions can't be restored on a protected Worksheet. Coded a workaround to unprotect the Worksheets when a
Workbook is closed and needs to be saved, but before the Save takes place. This way when Edit Data sessions are restored the Worksheets are not protected
as they should be. (Bug #22138958 - EDIT DATA SESSIONS NOT RESTORED WHEN OPENING A SAVED WORKBOOK)
- Enhanced the way parameter values are handled in the Import Procedure Data dialog, so that numeric values can be blanked out and treated as null values.
(MySQL Bug #81417, Bug #23281495 - EXCEL ADDIN - CANNOT PASS NULL PARAMETER TO STORED PROC TO IMPORT DATA)
- Fixed the code that translates datetime values being inserted or updated into a MySQL table depending on the target column data type. Excel values are
always stored internally as a number corresponding to a datetime type, MySQL for Excel now correctly converts the value to a string representation based
on the target type (DATE or DATETIME). (MySQL Bug #80079, Bug #22585674 - IMPROPER HANDLING OF EXCEL DATE PREVENTS EXPORTING)
- Added code to differentiate properly a DATE and a DATETIME MySQL data column, this impacts the handling for date and datetime values for Import, Export,
Append and Edit data operations. (MySQL Bug #80139, Bug #22627266 - IMPORT IS INTERRUPTED DUE TO DATE/TIME VALUE)
- Enhanced the logic that migrates stored MySQL connections to the MySQL Workbench connections.xml file. In previous versions the migration was offered
and if not done at that moment, the dialog to migrate was shown every time MySQL for Excel was run again, but there was no way to choose to remain storing
MySQL connections in the MySQL for Excel configuration folder instead of merging them with the Workbench ones. Now the connections migration dialog offers
a way to postpone the migration 1 hour, 1 day, 1 week, 1 month or indefinitely. If the migration is postponed the dialog is shown again after that time
elapses, although if it is postponed indefinitely an option was added to the Options dialog that permits the migration of connections to be done manually,
as long as MySQL Workbench is installed.
1.3.6
- Fixed code to use the correct PivotTable version related to Excel 2016 when creating a PivotTable for all the tables in the Excel data model.
(Bug #22387425 - [IMPORT] ERROR CREATING PIVOTTABLE FOR ALL TABLES IN THE DATA MODEL)
- Added code to synchronize the toggle status of the MySQL for Excel button in the Data ribbon when the add-in is closed from the Close button located at
the bottom of the panel showing database objects and their related operations. (MySQL Bug #79655, Bug #22374026 - CLOSE BUTTON NOT WORKING CORRECTLY)
- Fixed the detection of contents in the current Excel active cell after importing data and after loading database obects when a schema is opened.
(Bug #22372915 - APPEND EXCEL DATA TABLE THROW AN OBJECT REFERENCE ERROR WITH SPECIFIC SCENARIO)
- Changed settings for containers and forms to let all UI components to automatically scale on different DPI settings. Removed the restriction to resize the
add-in's pane, so in case a different DPI setting is used and the fonts look too big, the add-in pane can be resized to let users see contents as best as
possible. (MySQL Bug #71389, Bug #18099454 - MYSQL FOR EXCEL SIDEBAR NOT DISPLAYING CORRECTLY)
- Tweaked the code that runs when closing an Excel workbook to disable events for Excel 2007 only while the workbook is being saved. This fixes a problem
where MySQL for Excel offered to save an unsaved Excel workbook when closing it, but the save was not happening causing all unsaved changes to be lost.
(MySQL Bug #78910, Bug #22081313 - EXCEL ADD-IN DOES NOT SAVE DATA WHEN EXCEL IS CLOSED)
- Fixed code for data import operations done to an Excel range so that numeric data stored in text columns is correctly formatted by Excel as text and not as
the "General" format that automatically formats cells as numbers when the data is stored in a text object. This fixes the problem seen in Edit Data operations
where text columns were being formated as numbers and leading zeros stripped from them. Added new advanced options for Import Data operations to define the
Excel format to apply to imported DateTime or TimeStamp, Date and Time MySQL data. (MySQL Bug #76738, Bug #20905284 - FIELD WON'T RETAIN LEADING ZEROS)
- Added column properties to the Export Data dialog to support the definition of Auto Increment and Default Value for the new MySQL table where the data will
be exported to. Added a context menu to declare a numeric field to be Unsigned or to have Zero Fill, accessible by right-clicking the Data Type combo box.
Added the TimeStamp data type to the full list of valid data types, as it was not being shown before. Added help tooltips to fields in the Export Data dialog
that explain in detail how the column properties work in a MySQL database.
- Added an option to the Advanced Options dialog for Append and Export Data operations, called "Generate an INSERT statement for each data row", which is off
by default. When checked an INSERT statement for each data row being appended or exported is generated in the resulting SQL query sent to the MySQL server.
When unchecked a single INSERT statement is generated as a bulk data operation, which performs better than multiple INSERT statements.
- Fixed a problem when Refresh All was done so that the Refresh method is not called for Excel ListObjects that have an Excel range as their data source, since
that throws a COM Exception. (MySQL Bug #78941, Bug #22110627 - MYSQL FOR EXCEL 1.3.4 (AND 1.3.5): HRESULT: 0X800A03EC UPON "REFRESH ALL")
- Fixed code that detects the data type of Excel data for Export and Append Data operations that was broken on the previous version when the JSON data type was
initially supported. (Bug #22138966 - [EXPORT] MYSQL4EXCEL NOT EXPORTING BOOL DATA)
1.3.5
- Added support for JSON data type columns. The JSON data type appears now as a selectable one in the Export Data dialog for columns (if the advanced option to
show all data types is selected). All data operations (Import, Export, Append and Edit) work with the new JSON data type.
- Added an option to the Advanced Options dialog for Append Data operations, called "Show column data types above column names", that when checked data type
information for columns on source and target grids of the Append Data dialog is shown. Showing the data types can sometimes aid users when doing manual
mapping of columns.
- Updated the data connection library (Connector/NET) to version 6.9.8, which fixes the problem of accessing a schema containing unicode (non-ascii) characters
in its name. (Bug #17409832 - PROBLEMS WITH NON ASCII CHARACTERS)
- Stopped using some hidden defined names to store formulas to transform date values into a the date format used by MySQL. These defined names were being
detected by Excel as macros or user functions that could not be saved in macro-free workbooks, thus generating an annoying warning every time a Workbook was
saved, if the add-in was active. (MySQL Bug #7346, Bug #19358961 - WARNING ABOUT MACRO-FREE WORKBOOKS WHEN CLOSING & SAVING AN EXCEL WORKBOOK)
- Fixed a bug where connection information objects were being cleaned up from memory when an Excel Workbook was being closed, but the cleanup was happening
before the Workbook was saved causing that no connection information created after the last save was found to write to disk. Now the cleanup happens correctly
after the Workbook is actually saved. (MySQL Bug #76475, Bug #21172751 - CHANGES IN WORKBOOK NOT SAVED WHEN CLOSING EXCEL WINDOW)
- Added a validation to the cases when the connection information of an Excel table (ListObject) being refreshed is not found, if that ListObject was likely
created by MySQL for Excel then a friendly message is displayed stating the reason for this problem and a solution for it. When this happens the ListObject
being refreshed has already a broken link to its related information to connect back to the MySQL server and fetch data again, so that ListObject needs to be
deleted and re-created. The root cause for this problem is the one reported in MySQL Bug #76475. (MySQL Bug #77016, Bug #21089790 - CAN NOT REFRESH QUERIES)
- Rewrote the logic that calculates areas for spanning columns to clip and paint visible areas of additional headers correctly.
(MySQL Bug #78548, Bug #21898210 - APPEND DATA - PROBLEMS WHEN SCROLLING TARGET TABLE GRID)
- Added a new advanced option for Append Data operations called "Confirm column mapping overwriting", that if checked every time a source column is dragged and
dropped over a target column that was already mapped before (i.e. it already contains a mapped source column), a confirmation dialog asking if the overwriting
should take place is displayed. By default the option is unchecked so that the confirmation is not appearing every time mappings are overwritten during a manual
mapping, which may be annoying. (Bug #16239058 - APPEND DATA - DISABLE WARNINGS FOR COLUMN MAPPING OVERWRITING)
- Changed the way data type related warnings are linked to grid columns in the Append Data dialog. Now the warnings are linked to the target (lower) grid view
columns, which makes perfect sense since a single source column can be mapped to multiple target columns and the warnings are about source data not being suitable
for the target column's data type. (MySQL Bug# 78549, Bug #21898678 - APPEND DATA - INCOMPATIBLE DATA TYPES WARNINGS NOT LINKED CORRECTLY)
- Fixed code that checks if data can be stored in a single column of a table with the current column's data type, so warnings about incompatible data type for a
column's data can be shown. (MySQL Bug# 78550, Bug #21898699 - APPEND DATA - WARNINGS ABOUT INCOMPATIBLE DATA TYPES DO NOT APPEAR ANYMORE)
- Fixed code in the Append Data dialog that was incorrectly mapping columns when only a single row of Excel data was selected to append. Additionally validated
that if a single row of Excel data is selected and then on the Append Data dialog "First Row Contains Column Names" is checked, a warning is displayed stating
no rows are available to complete the append operation. (MySQL Bug #76517, Bug #21799500 - WRONG AUTOMATIC COLUMN MAPPING WHEN FIRST ROW CONTAINS COLUMN NAMES)
- Enhanced the custom grid view control used in the Append Data dialog to automatically adjust the width of the grid columns considering not only the grid's cell
contents and the base column header texts, but also the contents of the additional header rows.
(Bug #16237502 - APPEND DATA HAS BAD COLUMN SIZING WITH VERY SMALL TARGET COLUMN NAMES)
- Fixed the data type detection logic for a column's data that was failing when only the first row of data contained data but the rest of the rows were empty.
(MySQL Bug #78358, Bug #21799680 - EXPORT DATA - DATA TYPE NOT DETECTED CORRECTLY WHEN ONLY FIRST ROW CONTAINS DATA)
1.3.4
- Fixed the logic that runs before an Excel workbook is saved to remove the defined Excel names used for localized date formats before running the custom after save
logic for Excel 2007. (MySQL Bug #75900, Bug #20540331 - WARNING ABOUT MACRO-FREE WORKBOOKS WHEN CLOSING & SAVING AN EXCEL 2007 WORKBOOK)
- Fixed the import of MySQL data into an Excel range to convert any dates before the Excel minimum date (January 1, 1900) to text so Excel does not throw a COM
Exception. Verified that these dates can be changed on Edit Data operations and saved back to MySQL without any errors.
(MySQL Bug #75450, Bug #20340588 - "EXCEPTION FROM HRESULT: 0X800A03EC" RELATED TO OLD DATE)
- Changed the method to display a custom Save As dialog when a Workbook is saved in Excel 2007 to one that supports showing all Excel supported file filters.
(MySQL Bug #75389, Bug #20296618 - EXCEL SAVE FILE FORMATS GONE AFTER MYSQL-FOR-EXCEL STARTED. ONLY .XLS AVAILABLE)
- Fixed the code involved in Edit Data oeprations that colors Excel cells based on their modifications, so that pasted values on newly added Excel rows are re-colored
properly using the color to denote modified values. (MySQL Bug #74285, Bug #19783737 - EDIT DATA - COPYING & PASTING DATA ON NEWLY ADDED ROW CLEARS STATUS COLOR)
- Fixed the custom Refresh All functionality overriden by MySQL for Excel to fire a refresh not only to Excel tables (ListObjects) but also to Pivot Tables.
(MySQL Bug #75565, Bug #20524883 - PIVOT TABLE REFRESH ALL NOT WORKING)
- Fixed code used to temporarily store the selected Excel range used for an Export or Append Data operation so that it copies only visible rows (i.e. rows that have
not been filtered out by an Excel Auto-Filter). (MySQL Bug #75635, Bug #20433602 - MYSQL FOR EXCEL APPEND FUNCTION DOES NOT SKIP ROWS FILTERED IN EXCEL)
- Changed the way data uniqueness within a column is checked during an Export Data operation. Before MySQL for Excel relied in ADO.NET's way to determine if the data
in a DataColumn is unique (by creating a Unique constraint in it), which uses SQL Server's rules and regards nulls values as duplicates even when the column is set
to allow null data. MySQL allows to have duplicate null values in a column that is set to allow null data. Now MySQL for Excel follows the MySQL rules, so if a column
is set to allow null data, those values are not considered in the uniqueness check, otherwise they do. Now if duplicate values are found when flagging a column as
Unique, a dialog containing the sets of duplicate values along with the count of those sets can be displayed by clicking the More Information link shown within the
column warning. (Bug #18270644 - EXPORT DATA - FALSE WARNING ON UNIQUE INDEX COLUMNS WITHOUT DATA)
- Fixed the way column name duplicates are analyzed, previously at the time a column name was assigned it was checked against other columns to warn in case another
column had the same name, this analysis is fine when the user types in a column name, but not when column names are loaded from Excel data. Now the column names are
loaded from Excel data and then all columns are analyzed for duplicates. Now columns flagged as Excluded are correctly taken into account in the duplicates check.
Fixed a bug also where the name of an automatically added PK was being changed whenever any column name was changed by the user.
(Bug #18270044 - EXPORT DATA - WARNING SHOWS COLUMN NAME AS REPEATED WHEN ITS NOT)
- Fixed the way a SET declaration is assembled automatically from the column's data during an Export Data operation to split elements by commas within each row's value.
(MySQL Bug #75660, Bug #20426374 - EXPORT DATA - SET DECLARATION CREATED INCORRECTLY)
- Added an additional validation for enum and set declarations to the Data Type combo-box in the Export Data dialog's Column Options section. The new validation checks
that each enum or set element is wrapped in single quotes and that any other single quote found in the element's text is correctly escaped by using a preceding single
quote. If such an incorrect element is found, a proper warning indicating there is an error in that element is shown so it is easier to locate the error.
(Bug #18298155 - EXPORT DATA - ENUM AND SET DATA TYPE VALIDATION IS INCORRECT)
- Fixed the detection of a preliminary cells selection in the active Excel Worksheet before MySQL for Excel is opened, in order to enable the Export Data action in this
scenario. Fixed the disabling of Import, Edit and Append Data actions when the Tables, Views or Procedures titles in the database objects list is selected, which
actually clears the current database objects selection. (Bug #18323840 - ACTION LABELS IN DB OBJECT SELECTION PANEL ARE NOT ENABLED/DISABLED PROPERLY)
- Fixed the informational label displaying the number of "inserting" rows during an Export Data operation. Before the fix the number was off by 1, only when the "First
row contains column names" option was checked. (MySQL Bug #75342, Bug #20286897 - EXPORT DATA - WRONG NUMBER OF EXPORTING ROWS IN SQL SCRIPT DIALOG)
- Fixed a problem that was preventing connection information entries from being deleted. Added a couple of options, related to the deletion of connection information
entries, to the "Manage Import/Edit connection information maintenance" dialog accessed within the "Global Options" dialog. One is used to automatically remove stored
connection information related to Excel Workbooks that are no longer found where they were originally saved. The second option is used to select all connection
information entries that have not been used in the last XX days, so they can be deleted. (MySQL Bug #74304, Bug #19789907 - UNABLE TO DELETE CONNECTION INFORMATION)
- Fixed a bug that occurred during the preparation of data to be exported to a new table, when the number of rows to be exported was higher than the number of previewed
rows, the Export Data operation was restricted to the number of previewed rows. (MySQL Bug #74942, Bug #20077608 - EXPORT ROWS ARE LIMITED BY NUMBER OF REVIEW ROWS)
1.3.3
- Fixed a problem in the MySQL for Excel MSI that was not replacing the registry keys on an upgrade (i.e. registry keys from previous versions remained and were not
upgraded) which caused the add-in to not work at all. (MySQL Bug #74286, Bug #19783949 - UPGRADING MYSQL FOR EXCEL FAILS FOR ALL VERSIONS SINCE 1.2.1)
- Fixed the way a previewed SQL script is split into individual SQL statements using a tokenizer that detects each type of token within the script text, so now the
delimiters for SQL statements are detected correctly. (MySQL Bug #74057, Bug #19680607 - SEMICOLONS USED IN VALUES CAUSE PROBLEMS IN QUERIES SENT TO MYSQL SERVER)
- Fixed some bugs related to the way SQL queries are assembled during an Edit Data session and to text values. One of the problems was related to memory allocation for
the query text overflowing when many TEXT columns were present in the table. Another problem was related to text values used in the WHERE clause of UPDATE queries were
not being properly escaped, this was only happening when optimistic updates were being used. Optimized the construction of WHERE clauses with optimistic updates and
TEXT columns to use user variables to store the old column values referenced in the WHERE clause to save query text space.
(MySQL Bug #73911, Bug #19639669 - SOME TABLES CAN NOT BE EDITED CORRECTLY)
- Added logic to allow changes made by the user at Append Advanced Options dialog to be discarded if cancel is pressed.
(Bug #16501859 - APPEND DATA - STORED MAPPINGS ARE RENAMED OR DELETED EVEN WHEN CANCELLING)
- Improved handling of Worksheet space to honor both row and column limits to avoid high severity errors while importing data into Excel.
(MySQL Bug #73866, Bug #19588933 - MYSQL FOR EXCEL ERROR WHILE IMPORTING AT WORKSHEET BOTTOM)
- Added an explicit conversion for Excel cells containing time values (stored internally as decimal numbers formatted as a time) to TimeSpan objects in .NET so these
values are recognized in the Export Data dialog as time values to be exported to TIME columns in a new MySQL table. Fixed the code that assembles the INSERT SQL
queries used to push data to a MySQL DB to wrap time values in single quotes. (MySQL Bug #73899, Bug #19607195 - ERRORS EXPORTING DATA TO TIME COLUMNS IN A NEW TABLE)
- Fixed code to show the SQL Script Preview dialog on Edit Data operations when the "Preview SQL statements before they are sent to the server" global option is on and
only if the "Auto-Commit" checkbox on the Edit Data dialog is off. (MySQL Bug #73900, Bug #19607260 - EDIT DATA - SQL SCRIPT PREVIEW POPS-UP WHEN AUTO-COMMIT IS ON)
- Rows involved in a commit action during Edit Data operations are refreshed from the database after the transaction is committed, so values that are modified at the
server side (autoincrement fields, timestamps, or others by stored procedures) are returned to Excel after the push. This avoids the generation of optimistic update
warnings stating the data has been changed outside the Edit Data session. (Bug #18142293 - CELLS WOULD TURN ORANGE AT INAPPROPRIATE TIMES)
- Added code to convert TimeSpan values from the database into Excel's time values to avoid type errors while importing to a range (when Create Excel Table option is not
selected in Advanced Options). (MySQL Bug #72504, Bug #18693067 - MYSQL FOR EXCEL NOT IMPORTING TIME COLUMNS)
- Fixed the code that pre-processes data for Export or Append operations to copy the Excel range's values and number formats instead of copying their formulas into a
temporary hidden Excel worksheet. (MySQL Bug #73505, Bug #19389936 - CANNOT USE VALUES RETURNED BY EXCEL FORMULAS IN APPEND OR EXPORT DATA OPERATIONS)
- Changed the way columns without any data that are inside the selected Excel range are treated during an Export or Append data operation, in version 1.2.1 we dismissed
any columns without data, now if the columns with no data exist between other columns that contain data they are considered as valid for Export or Append. Fixed a bug
in the code that prepares the data for Append when the mapped columns are less than the total number of columns in the target table.
(MySQL Bug #73175, Bug #19402572 - SOME COLUMN DATA IS SET TO NULL DURING DB APPEND, EVEN WHEN THE CELLS HAVE DATA)
- Fixed code that sets column properties on an Export Data operation so the properties are carried over to the generated SQL script.
(MySQL Bug #73646, Bug #19467535 - EXPORT DATA - ALLOW EMPTY COLUMN OPTION WORKS ONLY FIRST TIME SQL IS PREVIEWED)
- Fixed code that sets columns properties dependant on their detected data types when an Export Data operation loads the Excel data.
(MySQL Bug #73719, Bug #19503820 - EXPORT DATA - ALLOW EMPTY COLUMN OPTION NOT DEFAULTED CORRECTLY)
- Changed the way null and zero dates are handled, in previous versions MySQL null values in date columns and zero dates ("0000-00-00 00:00:00") were imported in Excel
as "1/0/1900 12:00:00 AM", if 0 was entered the value was converted to "12:00:00 AM" automatically. Now that Excel ListObjects are bound to refresh data a possible
bug in VSTO converts zero and null date values into text, not good since it messes up dates recognition in Excel. Now zero dates are always treated as null, so even
typing a 0 in a date column translates to a null date. Logic that recognizes date values string or boxed objects was rewritten from scratch to fix also bugs with dates
in a locale different than US English. (MySQL Bug #73541, Bug #19423952 - EXPORT DATA - DATE TYPE NOT AUTO-DETECTED WHEN LOCALE IS DIFFERENT)
- Fixed Export Data operations code to create a MySqlDataTable container for the data to be exported with the final data types before the operation takes place, this
automatically makes the decimal numbers conversion from any locale to an invariant one. (MySQL Bug #73293, Bug #19403063 - EXPORT AND DECIMAL DELIMITER)
- Changed all references of the Varchar string to VarChar in the code for consistency with the renaming done in 1.3.0.
(MySQL Bug #73712, Bug #19501346 - DATA TYPE INCONSISTENCIES BETWEEN VARCHAR (OLD) AND VARCHAR (NEW))
1.3.2
- Fixed MySqlDataTable constructor to include the SQL query to create the schema correctly in order to import only the selected columns into Excel instead of all of them.
(MySQL Bug #73247, Bug #19181877 IMPORT DATA - EMPTY COLUMNS CREATED INCORRECTLY FOR COLUMNS NOT IN SELECTION)
- Added a new global option called "Preview MySQL table data before an Edit Data session is opened" that when checked, the data of a selected MySQL table to be edited
is shown in a preview dialog before the Edit Data session is opened. If the option is unchecked, no preview takes place and the Edit Data session is opened directly.
- Added a new context menu option called "Preview Data" available when right-clicking a MySQL table or view listed in the DB Objects selection panel. The option opens
the Preview Data dialog and shows by default the first 10 rows of the selected table or view.
- Automatically set the focus (and select all contents if possible) on controls directly related to a checkbox or radio button in all dialogs. This change affected the
following dialogs so when a checkbox or radio button is checked, its related control is set to have focus: Import Data, Import Multiple Data, Export Data, Global Options,
Import Advanced Options.
- Enhanced the way the row with summary fields (inserted at the bottom of imported data when the "Add Summary Fields" option is checked) looks like, now it is formatted
in bold with a thick border above it. This was done to make a visual difference between the data rows and the summary row, necessary mostly when handling numeric data
(the summary row could be easily mistaken to be a normal data row).
- Added code to remove the internationalization formulas used by MySQL for Excel stored in Workbook Names before the Workbook is saved, and they are added back again
after the save operation. (MySQL Bug #73467, Bug #19358961 - WARNING ABOUT MACRO-FREE WORKBOOKS WHEN CLOSING & SAVING AN EXCEL WORKBOOK)
- Fixed code that was saving duplicate Edit Session connection information into the settings.config file, causing the same Edit Session to be attempted to be restored
more than once which caused the "Editing not possible" error message to be displayed. Also added code to show the Excel's "Save As" dialog when a workbook that has
not been saved is being closed, doing a better handling of close & save scenarios. (Bug #19347634 - EDITING NOT POSSIBLE MESSAGE AFTER WORK OFFLINE)
- Fixed the logic that calculates the resulting mapped data to be appended to an existing MySQL table, this was failing in scenarios where the selected Excel data has
more columns than the mapped columns to be inserted to the MySQL table. (MySQL Bug #73453, Bug #19346203 - APPEND NOT WORKING WHEN +1 COLUMN IS SELECTED)
- Added logic to only let the creation of a single PivotTable for the whole data model to be selectable when Excel relationships are being created and if and only if
the Excel version is 2013 or higher.
- Fixed code that was always attempting to create Excel relationships even when the option for that was not set by users.
(MySQL Bug #73402, Bug #19299550 - EXCEL RELATIONSHIPS CREATED EVEN IF THE OPTION FOR THAT IS UNCHECKED)
- Removed the reference to "views" wherever relationships are mentioned, since relationships only concern tables, not views.
(MySQL Bug #73398, Bug #19296989 - CHANGE SOME TEXT REFERENCES REGARDING VIEWS RELATED TO IMPORT MULTIPLE OPERATION)
- Changed the placement of PivotTables for stored procedure result sets imported into Excel with an horizontal alignment, before these were placed below the imported
data, now they are placed to the right of the data to avoid an error with refreshing the Excel tables tied to the PivotTables.
- Added a new context-menu option called "Add Related Tables" available only when right-clicking a table already present in the Related Tables list view. When this new
option is clicked, all tables related to the right-clicked table one that have not been already included in the Related Tables list view will be added to it. These
tables are unchecked (i.e. not selected for import) by default so they can be reviewed first and included manually.
- Corrected the logic that rules the Append Data action label to make it work correctly so that it is enabled in every case you are able to append data to a table.
(MySQL Bug #73267, Bug #19190638 - APPEND DATA ACTION LABEL BECOMES UNAVAILABLE WHEN CHANGING DB OBJECT NODES)
- Added a new option to the context-menu of the schemas list (opened by right-clicking it) to display the default schema collation below their names, the option is
disabled by default.
- Added code to check if PivotTables to be created for imported data would collide with an Excel object already in the importing worksheet, if so a dialog to import the
data and the PivotTables into another worksheet will be shown. Also enhanced the way stored procedure result sets are laid out on a worksheet when all of them are
imported horizontally or vertically and PivotTables are created for each result set, instead of just skipping one row or column, the necessary rows and columns are
skipped so the created PivotTables for the result sets do not collide with each other.
- Changed every 'Session' reference in the application to 'Connection Information' to make the reference to these objects more accurate and less confusing.
- Removed saving step that created invalid connection information entries in the settings.config file even when the user chose not to save the workbook.
(MySQL Bug #73319, Bug #19242130 - INVALID CONNECTION INFORMATION IS SAVED WITHOUT THE USER SAVING THE WORKBOOK)
- Fixed the import of stored procedure result sets into Excel tables (the import to Excel ranges was working), and more importantly implemented code that lets the Excel
tables created from stored procedures to be refreshed by the user. (MySQL Bug# 73151, Bug #19129583 - IMPORT PROCEDURE IS NOT WORKING)
- Fixed a problem that arise when creating a new workbook without closing the Excel Addin Pane, making it impossible to import tables after that.
(MySQL Bug #73263, Bug #19189185 - UNABLE TO IMPORT TABLES IN MYSQL FOR EXCEL UNDER WEIRD SCENARIO)
- Added a new combo box to the Import Multiple dialog to let users create one single PivotTable for all Excel tables in the active Workbook's data model, or to create a
PivotTable for each of the imported tables or views, when importing multiple database objects. By default the option to create a single Pivot Table is selected when the
"Create a PivotTable" checkbox is checked.
- Optimized code that creates Workbook connections so instead of always creating 2 connections for each created Excel table now 1 is created. A second Workbook connection
is only created when creating Excel relationships for imported tables, that second connection is needed for Excel to create their corresponding Model Tables which are
used to create each Excel relationship.
- Rewording of Restore Saved Edit Sessions and Import Sessions Missing Connections dialogs to make them more understandable.
- Added token validation at AfterSave event to ensure no reconnection information is saved when the workbook saving process is cancelled.
(MySQL Bug #73192, Bug #19153978 - RECONNECTION INFO FOR EXCEL TABLES IS SAVED ALTHOUGH WORKBOOK SAVE IS CANCELLED)
- Rewrote the code that handles tables relationships in the Import Multiple dialog, relationships are detected for all tables imported to Excel (both the ones in the
original selection from the DB objects selection panel and their related ones flagged by the user to be imported). The relationships are now detected in 2 directions
based on MySQL foreign keys and are created in the Excel model if the "Create Excel relationships for imported tables" option is available and checked. Added code to
present a dialog to the users showing relationships that could not be created because of errors found instead of outputting that to the application log. Enhanced the
Import Multiple dialog to show all related tables for tables in the original selection as well as their related ones, so users can know in advance what Excel model
relationships will be potentially created.
(MySQL Bug #73191, Bug #19153946 - RELATIONSHIPS NOT CREATED FOR DB OBJECTS IN ORIGINAL SELECTION)
(MySQL Bug #73193, Bug #19154006 - RELATED MYSQL TABLES AND VIEWS ARE DETECTED ONLY IN A SINGLE DIRECTION)
- Added validation to only enable the checkbox to Add Summary Fields when Excel Table Creation is enabled too.
(MySQL Bug #73004, Bug #18979388 - ADD SUMMARY FIELDS ENABLED EVEN THOUGH EXCEL TABLE CREATION IS DISABLED)
- Added code to trigger WokbookAfterSave event handler on Excel 2007 since this version of Excel lacks the ability to trigger this event compared to later versions.
This prevented Import and Edit Sessions from being saved correctly. (MySQL Bug #73182, Bug #19145707 - EDIT AND IMPORT SESSIONS ARE NOT SAVED IN OFFICE 2007 WIN7X64)
- Renamed the "Create an Excel table for the imported MySQL table data" advanced option in the Import Data dialogs to "Create an Excel table for the imported MySQL data"
which is consistent to the fact that we can import not only tables but also views and procedures.
(MySQL Bug #73003, Bug #18979352 - CREATE AN EXCEL TABLE FOR THE IMPORTED MYSQL TABLE DATA OPTION SHOULD BE RENAMED)
1.3.1
- Changed the type of custom ribbon for MySQL for Excel to use the XML Ribbon approach of the Excel fluent interface in order to be able to override the native
functionality for the Refresh and Refresh All ribbon commands, which was not possible using the Visual Designer Ribbon approach.
(MySQL Bug #72974, Bug #18962538 - ERROR WHEN CLICKING REFRESH ALL IN DATA TAB)
- When the user has created Import Sessions and saved the workbook, the connection these sessions are linked to can be deleted. When the workbook is reopened, these sessions
had no way to be used any further. Now, a new dialog was created to prompt the user to create a new connection to replace the old one not found and be able to continue
working with the same sessions afterwards. (MySQL Bug #72966, Bug #18961860 - PROMPT FOR CONNECTION CREATION IF NOT FOUND UPON IMPORT SESSION RESTORE)
- Set the AllowZeroDateTimeValues property value of connections created from stored Edit Sessions being restored to true so they support MySQL zero dates. Fixed also a
bug preventing Edit Sessions from being restored when starting MySQL from Excel on an already opened Excel workbook.
(MySQL Bug #72842, Bug #18889495 - SAVED EDIT DATA SESSIONS ARE NOT RESTORED IF DATA CONTAINS DATES)
- Enhanced the code that refreshes an Excel table to smartly resize it before binding it according to the new size of its data source. If the new size is bigger than
before, new columns or rows will be inserted to make room for the new Excel table size. Added code to show errors to the user upon Excel tables or PivotTables creation.
(MySQL Bug #72975, Bug #18962617 - IMPORT DOES NOT RETRIEVE DATA AT LEFT COLUMNS FROM A PREVIOUS IMPORT)
- Fixed an issue with Edit Connections in the Welcome Panel, where the selected connection information was not being populated in the Edit Connection Dialog.
(MySQL Bug #72990, Bug #18968777 - EDIT EXISTING CONNECTIONS IS BROKEN)
- Fixed the formula applied in the temporary Excel range used to feed the export data for a new MySQL table, the formula now considers the value of the option "First row
contains column names" in the Export Data dialog. (MySQL Bug #72973, Bug #18962470 - DUPLICATE ENTRY FOR AUTOGENERATED PRIMARY KEY COLUMN)
- Modified the way PivotTables are created to pass to the Excel native methods addresses in R1C1 notation rather than the actual range objects which works in all
scenarios (even with big data). (MySQL Bug #72972, Bug #18962371 - PIVOT TABLE DIALOG NOT DISPLAYED FOR TABLES HOLDING LARGE DATA)
- Fixed new comparison method to detect the correspondent session's ListObjects by GUID, while also deleting invalid leftover objects.
(MySQL Bug #72964, Bug #18961806 - FIX REFRESH PROBLEM WHEN USERS CHANGE EXCEL TABLE NAMES OF IMPORTED MYSQL DATA)
- Removed the Line and LinearRing types from the list of valid data types supported by the MySQL server, meaning the types do not appear anymore in the Data Type combo
box located in the Export Data form and are not treated as valid if typed-in by the user. Line and LineaRing are not a part of the SFA-SQL nor SQL/MM-Spatial standards,
thus not implemented in the MySQL Server. (MySQL Bug #72970, Bug #18962184 - DATA TYPE COMBO BOX IN EXPORT DATA DIALOG SHOWING 2 NON-WORKING SPATIAL TYPES)
- Fixed some conditions in the code that was preventing relationships for selected tables and views (multi-selection) to be processed, so related tables and views were
not found and listed in the Multiple Import dialog. (MySQL Bug #72971, Bug #18962354 - NO TABLE RELATIONS DETECTED IN OFFICE 2007 AND 2010)
- Changed the way connections are created for Excel 2013, instead of creating a connection for an Excel command type we create a default command type one (like we do for
Excel 2007 and 2010) which fixes this particular bug. (MySQL Bug #72976, Bug #18962670 - IMPORTING SAME TABLE TWICE FAILS AFTER DELETING EXCEL TABLE LINKED TO THE FIRST)
- Added new functionality to the Data Type combo box for Enum and Set types. When all data types are being shown in the Export Data dialog (via advanced option), if the
user selects Enum or Set, the list of valid values for the type declaration is assembled automatically from the column's data so there is no need to type the list of
values that goes between parenthesis manually.
- Fixed a bug in the Export Data dialog where data types containing parenthesis entered manually in the Data Type combo box for new columns were not validated correctly.
(MySQL Bug #72970, Bug #18962214 - DATA TYPES ENTERED MANUALLY IN DATA TYPE COMBO BOX ARE NOT VALIDATED CORRECTLY.)
- Fixed a cosmetic problem on the graphical list of connections, schemas and database objects where the text of each list item turned bold when hovering the mouse over.
(MySQL Bug #72968, Bug #18962130 - FIX PROBLEM WITH BOLD LETTERS IN MYSQLLISTVIEW.)
- Implemented the use of <CTRL>+<A> as a shortcut in the list of database objects to select all MySQL tables and views.
(MySQL Bug #72963, Bug #18961544 - IMPLEMENT CTRL+A IN TREE-VIEW TO SELECT ALL TABLES AND VIEWS)
1.3.0
- Added new feature to allow the selection of multiple tables and views in the Database Objects panel, the multiple selection can be done by using the CTRL or SHIFT keys
along with arrow keys, paging keys or mouse clicks. Clicking CTRL+A selects all tables and views in the panel. A new Import Multiple Tables and Views action appears with
a multiple selection of DB objects, when clicked the data of all selected DB objects is imported into individual Excel worksheets, Excel tables are created optionally
for each imported Table or View. On Excel 2013 (and higher) PowerPivot model relationships are created based on MySQL relationships defined with foreign key constraints.
- Added new feature to optionally display all allowed MySQL data types in the Export Data dialog's Data Type combo box versus only the basic and mostly used data types that
have been shown in previous versions of MySQL for Excel.
- Added new feature to include a row with summary fields for imported MySQL data, the feature is present on all Import Data dialogues (for Tables, Views and Procedures).
- Added new feature to allow the specification of character set and collation options for new schemas created through the Create New Schema action label and for new
tables created through the Export Excel Data to New Table action label. By default schemas are created using the server default character set and collation, and tables
are created using the schema ones just as previous Excel versions worked.
- Added new feature to create Excel PivotTables for imported data if specified by the users, the feature is present on all import operations (Tables, Views, Procedures).
The PivotTables are created next to the imported data so users can customize the PivotTable to suit their needs.
- Added new feature to allow Excel tables created from imported MySQL data to be refreshed using Excel's Refresh commands. Saving an Excel Workbook where Excel tables
were created from imported MySQL data will retain the connection properties so the data can be refreshed after closing and reopening the Workbook later.
- Added new feature that allows the user to reset option settings in Import, Export or Append advanced options and Global Options dialogues to their respective default values.
1.2.1
- Fixed a bug that happened after closing an Excel window containing an open MySQL for Excel add-in in Excel 2013, the custom task pane linked to the closed window was
not being disposed of correctly and not removed from the collection of Excel task panes either.
(Bug #18392674 - SEVERAL CLICKS NEEDED ON THE MYSQL FOR EXCEL RIBBON BUTTON TO START/CLOSE ADD-IN)
- Tables with Guid data are now imported correctly. Creation of the named tables is now working with Guid tables too.
(Bug #17806468 - IMPORTING TABLES WITH GUID TO EXCEL - EXCEPTION)
- Fixed a bug in the MSIs present since version 1.1.2 that was trying to add Registry keys for MySQL for Excel during a product upgrade when the registry keys were
already present and should not be added. The Registry keys are just added now when the product is installed for the first time.
(Bug #18354533 - MYSQL FOR EXCELL ADDIN 1.2.0 (STAND ALONE) IS NOT ABLE TO UPDATE AN OLD VERSION)
- Fixed code that was causing the AutoPK column not to appear sometimes in the CREATE and INSERT statements, fixed the total count of inserted rows for Export Data and
Append Data operations depending on the status of the "First Row Contains Column Names" checkbox. Fixed the starting value of the AutoPK column depending on the status
of the "First Row Contains Column Names" checkbox.
(Bug #18269654 - EXPORT DATA - ERROR ON CHANGING PRIMARY KEY OPTIONS)
- Changed functionality to always forcefully remove columns that contain no data. Empty columns will always be excluded now.
(Bug #18113057 - EXPORT DATA: UNHANDLED EXCEPTION WHEN SELECTING THE WHOLE SPREADSHEEET'S DATA).
(Bug #16501338 - EXPORT DATA - EMPTY COLUMNS ARE NOT ALWAYS FLAGGED AS EXCLUDED)
- Fixed code in the MySqlDataTable, MySqlDataColumn and MySqlDataRow classes that makes INSERT SQL queries recalculate after a column is excluded.
(Bug #18269602 - EXPORT DATA - EXCLUDING COLUMNS CAUSE THE EXPORT DATA TO FAIL)
- Optimized INSERT statements which are now sent as single statements for each of the data rows. In average a 30-35% time improvement was achieved.
Optimized the way SQL queries are created for a changed row (in average a 30-40% time improvement) so processing is faster and less memory is used.
Optimized how the Excel data is loaded into a MySqlDataTable object (in average a 80% time improvement), so now a temporary hidden Excel worksheet is used to prepare
the data to be loaded and then load it after it was preprocesed instead of preprocessing cell by cell as it was done before.
Added an advanced option to the Insert Data dialog to create secondary indexes after all the data has been inserted, this saves a lot of disk I/O for bulk inserts
(thousands of rows) since reindexing will not happen every time a row is inserted but only once at the very end of the data insertion. This option is enabled by default.
Added an advanced option to the Append Data dialog to disable unique indexes and foreign keys temporarily for the duration of the data insertion. This option is
disabled by default since the user must make sure that if unique indexes are present the data mapped to that column does not contain duplicate data.
(Bug #17577014 - EXPORTING HUGE TABLE (250,000 ROWS) NEVER FINISH (SERVER LOST THE CONNECTION))
- Connector .NET, an internal component to MySQL for Excel fixed a bug that occurred when working with Unique keys, which caused this problem.
(Bug #17891357 - ONLY ONE TABLE FROM A DATABASE WON'T IMPORT)
- Enabled MySQL for Excel to create default connections at startup for every MySQL service found locally when no default connections exist and MySQL Workbench
is not installed. (Bug #16238788 - CONNECTIONS FOR FOUND MYSQL SERVICES SHOULD BE AUTOMATICALLY CREATED)
- New column mappings are selected by default when the user creates them.
(Bug #17665496 - APPEND DATA - NEW STORED MAPPING NOT APPLIED AFTER CREATION)
- Changed the way the MySQL for Excel objects panel is refreshed on Windows XP.
(Bug #16238484 - TABLE ICON IS CUTOFF ON THE TABLE LIST WHEN TABLE IS EXPORTED TO AN EMPTY SCHEMA)
- Implemented a new strategy for checking if a selection of Excel cells contain values to enable/disable the Export Data to New Table action label, this new
strategy uses Excel native functions which are optimized for speed and memory usage. Optimized the way selected Excel data is fed to the Export Data's preview
grid so the Export Data dialog loads faster with huge selections of data.
(Bug #17349260 - ERROR WHEN SELECTING THE WHOLE SPREADSHEET'S CELLS)
(Bug #14362824 - SELECTING A HUGE AMOUNT OF CELLS IN EXCEL FREEZES EXCEL)
1.2.0
- Added visual warnings to the Append Data dialog for source Excel columns being mapped to target MySQL columns where the source data is not suitable for the
mapped target column's data type, so the user can make corrections before the data is attempted to be appended on the server.
- Added "Allow to save active editing sessions" global option. This will let users to save their opened edit sessions when saving the workbook, and restoring them
by reopening the workbook.
- Added the "Create an Excel table for the imported MySQL table data" option to the Import Data dialog's advanced options to automatically create an Excel table
object for every MySQL table imported to Excel so it can be used for Excel data analysis. Additionally the user can override the default style for the Excel
table and choose one of the available styles displayed within a drop down list.
- Added a new label "Schema:" to the panel "Select a Database Object" that shows the name of the current schema, located just below the "User:" and "IP:" labels.
- Added "Preview SQL statements before they are sent to the server" and "Show executed SQL statements along with their results" global options. The first option
lets users preview the SQL statements used in an Export, Append or Edit data operation before they are sent to the MySQL server and edit them if needed. The
second option lets users apply the statements directly and show the executed SQL statements after they were applied along with the results of the operations.
- Fixed code that was not detecting an Excel row deletion but instead was detecting an Excel row change during an Edit Data operation.
(Bug #17852774 - EDIT DATA - DELETING A ROW TRIGGERS A DATA CHANGE IN THE FOLLOWING ROW)
- Changes done to the Advanced Options dialogues for Import, Export and Append Data forms are immediately reflected without requiring to close and reopen those forms.
- Added support for optimistic updates to Edit Data operations via a configurable option, using optimistic updates will ensure that pushing changes in the current
editing session does not overwrite changes done by another person to the set of data retrieved initially. This option can be set globally for all editing sessions
open by the current user which is persisted in the settings file, or for a specific editing session so when the session is over the optimistic update value is
reset to the global one.
- Added support for edition of MySQL Workbench connections right from the Welcome Panel where connections are shown. Any of the listed MySQL Workbench connections
can be right-clicked and a new "Edit Connection" context menu is available for users to edit the Workbench connection properties. This feature shines brighter
when MySQL Workbench is not installed since users only relied on MySQL Workbench to edit a connection, without Workbench users had to delete a connection and
create it again with updated values.
1.1.2
- Generate a password dynamically to protect Excel Worksheets during Edit Data operations instead of using a hardcoded GUID. If the user saves the Workbook while
any of its Worksheets is in Edit mode, MySQL for Excel will ask the user if he wants to exit the Edit Mode before saving. If the user chooses not to close Edit
Mode the passkeys used to protect those Worksheets will be output to the application log after closing MySQL for Excel.
- Set the color of the Excel cells containing column names from an Import Data operation to the same color used in Edit Data operations for consistency.
- Added a check on every connection test for an expired password, if the password has been expired a dialog is now shown to the user to reset the password. Also
added a connection test before any operation against the database (schema creation, data import, append, export or edition).
(Bug #17354118 - DON'T HANDLE EXPIRED PASSWORDS)
- Added code to escape text values to be imported to an Excel worksheet that start with an equals sign so Excel does not treat those values as formulas that will
fail evaluation. This is an option turned on by default that can be turned off by users if they wish to import values to be treated as Excel formulas.
(Bug #17354102 - ERROR IMPORTING TEXT VALUES TO EXCEL STARTING WITH AN EQUALS SIGN)
- Added code to properly check the reason for a failing connection, if it's a failing password the user gets a dialog to retry the connection with a different
password until the connection succeeds, a connection error not related to the password is thrown or the user cancels. If the failing connection is not related
to a bad password an error message is shown to the users indicating the reason of the failure.
(Bug #16239007 - CONNECTIONS TO MYSQL SERVICES NOT RUNNING DISPLAY A WRONG PASSWORD ERROR MESSAGE)
- Added global options dialog that can be accessed from the Schema Selection and DB Object Selection panels where the timeouts for the connection to the DB
Server and for the query commands can be changed from their default values (15 seconds for the connection timeout and 30 seconds for the query timeout).
(MySQL Bug #68732, Bug #17191646 - QUERY TIMEOUT CANNOT BE ADJUSTED IN MYSQL FOR EXCEL)
- Changed the Varchar(65,535) data type shown in the Export Data data type combo box to Text since the maximum row size is 65,535 bytes and any autodetected
column data type with a length greater than 4,000 should be set to Text actually for the table to be created successfully.
(MySQL Bug #69779, Bug #17191633 - EXPORT FAILS FOR EXCEL FILES CONTAINING > 4000 CHARACTERS OF TEXT PER CELL)
- Removed code that was replacing all spaces typed by the user in an overriden data type for a new column in an Export Data operation, also improved the data
type detection code to flag as invalid data types with parenthesis but without any text inside or where the contents inside the parenthesis are not valid for
the specific data type. (Bug #17260260 - EXPORT DATA SET TYPE NOT WORKING WITH MEMBER VALUES CONTAINING SPACES)
- Added support for the year data type with a length of 2 or 4 and a validation that valid values are integers between 1901-2155 (for 4-digit years) or between
0-99 (for 2-digit years). (Bug #17259915 - EXPORT DATA YEAR DATA TYPE NOT RECOGNIZED IF DECLARED WITH A DISPLAY WIDTH)
- Fixed code for Export Data operations where users overrode the data type for columns typing Text in the data type combobox, which is a valid data type but was
not recognized as such. (Bug #17259490 - EXPORT DATA TEXT DATA TYPE NOT RECOGNIZED AS A VALID DATA TYPE)
- Changed the location of the registry where the MySQL for Excel add-in is installed to HKEY_LOCAL_MACHINE instead of HKEY_CURRENT_USER so the add-in is accessible
by all users and not only to the user that installed it. For this to work with Excel 2007 a hotfix may be required (see http://support.microsoft.com/kb/976477).
(MySQL Bug #68746, Bug #16675992 - EXCEL-ADD-IN IS ONLY INSTALLED FOR USER ACCOUNT THAT THE INSTALLATION RUNS UNDER)
- Added support for Excel 2013 Single Document Interface, now that Excel 2013 creates 1 window per workbook also the Excel Add-In maintains an independent
custom task pane in each window. Also changed the way the toggle button works, instead of just showing or hiding the Add-In it actually opens and closes it.
(MySQL Bug #68792, Bug #17272087 - MYSQL FOR EXCEL SIDEBAR DOES NOT APPEAR IN EXCEL 2013 (WITH WORKAROUND))
- Included the latest MySQL Utility with a code fix for the COM exception thrown when attempting to open Workbench in the Manage Connections window.
(Bug #17258966 - MYSQL WORKBENCH NOT OPENED BY CLICKING MANAGE CONNECTIONS HOTLABEL)
- Fixed code for Append Data operations that was not applying a calculated automatic mapping correctly when the source and target tables had different number of
columns, some columns with the same name but some of those lying on column indexes beyond the limit of the other source/target table.
(MySQL Bug #69220, Bug #17278349 APPEND DOESN'T AUTOMATICALLY DETECT EXCEL COL HEADER WITH SAME NAME AS SQL FIELD)
- Fixed some code for Edit Data operations that was escaping special characters twice (during edition in Excel and then upon sending the query to the MySQL server).
(MySQL Bug #68669, Bug #17271693 - A BACKSLASH IS INSERTED BEFORE AN APOSTROPHE EDITING TABLE WITH MYSQL FOR EXCEL)
- Refactored all code to comply with SyleCop rules, upgraded MySQL Utility with latest version that encapsulates dialog base classes and introduces more classes
to handle Workbench connections, and removed these from the Excel project. (Bug #16500331 - CAN'T DELETE CONNECTIONS CREATED WITHIN ADDIN)
1.1.1
- Added code to check for changes on the contents of the currently selected Excel cells, so if the contents become empty the Export and Append data actions are
disabled in the same way as they are disabled when a new cells selection is made and they contain no data.
(Bug #16495151 - EXPORT TABLE LINK IS NOT DISABLED WHEN DATA IS DELETED)
- Added code to clear the format of a target Excel range where MySQL data is to be imported to before copying the values to the Excel range so the format applied
to the Excel cells from a previous import operation does not corrupt the format of newly imported data.
(Bug #16495155 - DATA GETS CORRUPTED WHEN CELL FORMAT IS DIFFERENT THAN DATA EXPORTED)
- Fixed logic that detects data types for columns to check for empty columns instead of excluded ones and properly assigning the default generic data type of
varchar(255) to empty columns as per design. (Bug #16495493 - EXPORT DATA - DATA TYPE FOR EMPTY COLUMNS IS NOT AUTO-DETECTED)
- Fixed code that detected data types for columns for the scenario where only 1 row of Excel data is selected for Export or for Append, in which case the data
type was always being set as a varchar(255) which is used when data types between rows are not consistent. (Bug #16493139 - AUTOMATIC MAPPING NOT WORKING)
- Added a parameter to the LoadConnections method that refreshes connections from its corresponding file, set to true when the the Refresh Connections action
is performed. (Bug #16493129 - CONNECTION DETAILS NOT REFRESHED)
- Added code to prevent the connections, schemas and DB objects lists from drawing while they are being filled with items.
(Bug #16392862 - CONNECTIONS LIST FLICKERS WHEN A CONNECTION IS DELETED OR ADDED)
- Added performance_schema to the list of system schemas, so now it shows along with the mysql and information_schema schemas list.
(Bug #16473033 - PERFORMANCE_SCHEMA NOT LISTED UNDER "SYSTEM SCHEMAS" GROUP)
- Added code that converts numbers to invariant culture strings when building the SQL statements used to push queries to the MySQL Server.
(MySql bug #67663, Bug #15903921 - USING MYSQL FOR EXCEL IN FRANCE)
- Refactored code in Panels (AutoStyleableBasePanel.cs, DBObjectSelectionPanel.cs, SchemaSelectionPanel.cs, WelcomePanel.cs), in TaskPanelControl.cs and in
some Forms (ExportForm.cs, ImportTableViewForm.cs) to comply with StyleCop rules.
- Removed code that always forced the FirstDisplayedScrollingColumnIndex of the preview grid to the currently selected column every time the First Row Contains
Column Names checkbox is checked or unchecked. (Bug #16419402 - EXPORT DATA FREEZES WHEN SWITCHING HEADERS ROW)
- Set the CreateIndex property value in each new column to be exported immediately after the column data type's is auto-detected.
(Bug #16238445 - EXPORT DATA - CREATE INDEX CHECKBOX IS NOT AUTO-CHECKED ON DATATYPE DETECTION)
- Moved logic that handles Table and Column values and warnings from Export Form (frontend) to MySQLDataTable and MySQLDataColumn classes (backend).
(Bug #16397637 - EXPORT DATA - FOCUS GOES TO FIRST COLUMN WHEN EXCLUDING ANY OTHER COLUMN)
- Added code to expand each of the connection group nodes after they are initialized with existing connections.
(Bug #16238782 - REMOTE CONNECTIONS SHOULD BE EXPANDED ON THE WELCOME PANEL)
- The context menu opened by right-clicking the preview grid in the Import Data Form is now showing context menu actions depending on the number of selected columns
as follows:
Select All: Visible when # of selected columns < total columns
Select None: Visible when # of selected columns > 0
(Bug #16238663 - IMPORT DATA - CONTEXT MENU SHOULD SMARTLY SHOW SELECT ACTIONS)
- Removed the code that disabled the whole preview grid when the Import Form was used within an Edit Data operation, the disabling of the preview grid was disabling
the horizontal scrollbar as well. Now the grid is not disabled but columns selection in the grid is cancelled when the Import Form is used by Edit Data which was
the original intention since in Edit Data all columns must be imported to the worksheet. Disabled the context menu for the grid as well in this scenario.
(Bug #16239011 - EDIT DATA - IMPORT DIALOG'S PREVIEW GRID HAS HORIZONTAL SCROLLBAR DISABLED)
- Added a link in the Welcome Panel to open an About box displaying the MySQLfor Excel version and copyright text. The About box can be closed by clicking on it or
pressing the ESC key.(Bug #16238860 - MYSQL FOR EXCEL VERSION NOT VISIBLE UNLESS GOING TO ADD/REMOVE PROGRAMS)
1.1.0
- Added Edit MySQL Data feature: users are now able to edit the data in a MySQL table using MS Excel in a very friendly and intuitive way. Edit Data supports
inserting new rows, deleting existing rows and updating existing data as easy as playing with data in an Excels spreadsheet and pushing changes back to the server.
- Enabled the following checkboxes in the Append Data's Advanced Options dialog and added code in the Append Data dialog to use the checkboxes as follows:
* Automatically store the column mapping for the given table
- If checked the current mapping will be stored automatically after clicking the Append button if the append operation is successful and there is no mapping for
the current connection.schema.table already; the new mapping is stored with a proposed name of Mapping.
* Reload stored column mapping for the selected table automatically
- If checked the first Stored Mapping found where all column names in the source grid match all column names in the target grid is automatically selected and
applied when the Append Data dialog is loaded.
- Fixed code that applies a stored column mapping to skip target columns where the associated mapping is empty (saved as a -1).
- Enclosed the Add-In's startup code in a try-catch block in order to log any possible error thrown during startup; and added information messages to the log at the
begginning of the Add-In's startup code and at the end of the shutdown code. Also changed the wrapper method that calls the MySQLUtility to write messages to the
log to make logging easier, thus changed the log call throughout all the code that contains a try-catch block.
- Added code to the main wix configuration file to check if a newer version is already installad and if so abort the installtion.
- Fixed code to refresh the Import Procedure Form's preview grid's data source to repaint its contents every time the Call button is pressed.
- Added code to re-pull connections after connections are migrated from Excel to Workbench.
- Fixed code so when the Append Data's Automatic Mapping is performed any subsequent change on a mapping resets the mapping to a Manual Mapping.
- Added code to the InfoDialog class to set the button text to "Show Details" or "Hide Details" depending on the status of the Details text container.
- Fixed a GUID in the main wix configuration file so now previous versions are uninstalled during a new installation.
- Added an option to the Export Data's Advanced Options dialog to remove columns with no data, by default the Export Dialog will only flag those columns as Excluded.
Added code to display a warning and paint a column red if the column name is not set, display a warning if the table name is not set, and stack warnings but not
display them if a column is Excluded, warnings are displayed normally for columns if they are not Excluded anymore. Added code to prevent the Append and Export of
Data if more than 1 selection is made (selecting more than 1 area holding the Ctrl key while selecting Excel cells).
- Fixed problem that prevented MySQL for Excel from loading when Display settings in Windows 7 is set to Adjust to Best Performance
(Oracle bug 14521405 - UNHANDLED EXCEPTION IS THROWN WHEN LOADING MYSQL FOR EXCEL).
- Fixed code that renames the auto-generated Primary Key column when the Table name changes since it was not detecting if a column with the same name already existed
in the table. The column duplication was not actually happening, it looked that way because the automatically generated PK column was not detecting a column had
that same name.
- Fixed code to always set an empty string instead of null to the MySQLDataColumn properties that stores MySQL data types (MySQLDataType, RowsFrom1stDataType and
RowsFrom2ndDataType). Added code to display a warning and color red a column which Data Type has not been set by the user or has been manually cleared.
- Added code to output to the application log exception messages consistently in all places where exceptions are catched.
1.0.7
- Changed code to conditionally detect the datatype of a column with no data in any of its cells as either a Varchar(255) when Exporting data (empty column falls back to a "safe"
type that user can override) or as a null/empty datatype when Appending data so the empty column can be automatically mapped to any other column regardless of the target's
column datatype. (Internal bug 35 - Append Data detects a column with no data as a varchar column which does not map to any column).
- Updated code so that when Workbench version 5.2.41 or earlier is installed and there are still no connections created in MySQL for Excel the Workbench connections are copied
from Workbench to the MySQL for Excel connections file. (Internal bug 49 - Workbench connections are not copied to MySql for Excel).
- Updated version in AssemblyInfo to 1.0.7.
- Manage Connections action label is available in the Welcome Panel when MySQL Workbench 5.2.42 is installed.
Database connections are shared with MySQL Workbench if version 5.2.42 or later is installed (meaning they are read from and saved to the Workbench connections file and on the
first run of MySQL for Excel it will attempt to migrate all local connections to the Workbench connection file and delete the local connections file, otherwise they are still
managed locally within MySQL for Excel. (Oracle bug 14368158 - CONNECTIONS CREATED IN MYSQL FOR EXCEL UNUSABLE IN WORKBENCH)
- Refactoring on TransparentPictureBox control to fix some flickering when resizing the Excel form.
Added an upperPanel that contains all controls above the MyTreeView controls to all panels so when the form is resized to have a very small size the controls at the bottom
actually go behind the new upperPanel so there is no overlapping at all. (Oracle bug 14406412 - OVERLAPPING CONTROLS ON ALL PANELS WHEN EXCEL WINDOW IS SMALL).
- Removed the code that reset the TaskPaneControl's height since the height can't be changed for a right-docking of the panel.
(Oracle bug 14369568 - EXCEL WINDOW CAN'T BE RESIZED IF STARTS WITH A SMALL SIZE).
- Fixed code in custom PreviewDataViewGrid control to readjust the recalculation of the headers width when the HeaderText changes and to disable the AutoWidth feature of each
column header when the automatically recalculated width exceeds the ColumnsMaximumWidth property. (Oracle Bug 14350168 - EXPORT DATA DIALOG'S PREVIEW GRID TRUNCATES COLUMN NAMES)
- Fixed code so now "text" columns can be automatically mapped to set or enum columns.
Fixed code to properly change mapped column names when checking/unchecking the "First Row Contains Column Names" checkbox in the Append Data Form.
(Oracle Bug 14370049 - THE AUTO MAPPING IS NOT WORKING PROPERLY)
- Disabled Export button when table name is empty (Oracle Bug 14389853 - EXPORT BUTTON IS ENABLED WHEN TABLE NAME IS EMPTY)