148b04e2d4
Try to prevent inner exception at the end of TMySQLQuery.Col. Hopefully reveals a more meaningful error message for issue #904
2020-12-17 12:46:26 +01:00
281a53b88a
Limit rows per exported INSERT to 1000 for MSSQL. Introduced MaxRowsPerInsert property per connection type. 10000 for all other types. Closes #1189
2020-12-17 11:43:29 +01:00
1da0ad2092
Prefer SUBSTR() over LEFT() function in PostgreSQL data grid. Closes #1259
2020-12-15 17:56:41 +01:00
04a32cb035
Issue #1243 : fix crash in reconnect, due to free'd list of IS objects
2020-12-13 08:17:49 +01:00
cb77a602b5
Code cleanup in TConnectionParameters.NetTypeName and introduce StrictDetect param in TConnectionParameters.IsMySQL, to have a clear distinction for TDBConnection.IsTextDefault, where I was on the way to re-break issue #1099 .
2020-12-11 14:17:17 +01:00
bd0dca7f1d
Rename network type "MySQL ..." again to "MariaDB or MySQL ...", and name it "MySQL" only if we're sure it's not anything else. This is a bit hacky, as I have to leave IsMySQL a bit inexact, so it still matches servers with version_comment="Source distribution" (see issue #1099 )
2020-12-11 11:13:59 +01:00
2eef57ae1c
Retrieve column details through IS.columns even if IS schema is hidden by session setting. Closes #1243 . Preferring a hardcoded over dynamic list of existing tables in IS schema.
2020-12-11 10:19:59 +01:00
a0f45439ef
Issue #477 : Attempt to fix crash in main form due to refreshed database objects after creating a table via CSV detector:
...
* TDBConnection.GetDbObjects now leaves old object references intact if a table still exists after a refresh
* Restructure caching of columns, keys and foreign keys in generic TDictionary typed lists. This should make GetTableColumns and friends safe against endless recursion.
* Probably fixes issue #319
2020-12-05 17:08:49 +01:00
8201ac6169
Leave Datatype.MaxSize for CSV layout detection, and introduce Datatype.DefaultSize for deciding whether a column gets a length definition. Closes #1245
2020-12-03 08:00:59 +01:00
3c18c08fb7
Show reasonable error dialog when current query is empty and user tries to run "Explain current query" or "Explain analyzer for current query". Closes #1240
2020-12-02 17:32:06 +01:00
5df6149db4
Issue #477 : Implement CSV layout detection, in a new dialog, callable through a "<New table>" item. Detection yet limited to integers, floats and text column types.
2020-11-29 14:25:29 +01:00
dcd43bc843
Enable MYSQL_OPT_LOCAL_INFILE, seems still required on some systems for importing local CSV files
2020-11-23 17:53:09 +01:00
b9b5976413
Fix slow data exports of large MS SQL tables, by introducing ORDER BY .. OFFSET .. FETCH clauses in SELECT's. Reduces the chunks to ~10000 rows. Larger results seem to take more time for iterating through rows. Closes #343
2020-11-20 14:51:25 +01:00
b22c3fd815
Dynamic default value for library session setting, depending on its network type. Closes #1010
2020-10-26 20:02:12 +01:00
c4dbdfe948
Enable loading SQLite extensions. Closes #1186
2020-10-12 21:03:22 +02:00
de97595bfb
MSSQL: Cast TEXT fields to NVARCHAR before applying LEFT() function. Fixes issue #1136
2020-10-11 13:56:19 +02:00
e8248c4177
Fix LEFT() clause in data grid with NTEXT column on MSSQL. Closes #1136 .
2020-08-22 08:00:28 +02:00
557a0acaf7
Unquote table name when retrieving via 123::regclass result. Closes #1124
2020-08-13 06:57:37 +02:00
6e3b811233
Use TTableColumn.CastAsText in SELECT query for data tab, when applying LEFT() on large column. Closes #1122
2020-08-11 19:35:23 +02:00
d577b06fe8
In grid updates and deletes, support key column values with international characters using MSSQL's "N" prefix. Closes #1115
2020-08-09 08:22:15 +02:00
c33624aa12
Respect user's plink timeout setting when plink takes longer than 2s after the first text output. Closes #1114
2020-08-09 07:52:38 +02:00
a34e2ab690
Set "0" as default port for new MSSQL TCP/IP connections, which leaves the port away from the connection string, enabling auto-detection. See https://www.heidisql.com/forum.php?t=34256#p36709
2020-08-07 07:23:07 +02:00
ad706f5519
Issue #1114 : send Enter after plink anti-spoof output "Access granted. Press Return to begin session"
2020-08-06 16:46:30 +02:00
f2af43f1e0
Fix all 11 compiler hints and 5 warnings
2020-08-06 13:49:32 +02:00
76aaf87216
Prevent access violation in DBTree.GetImageIndex, with no connection on connection root node
2020-08-05 08:30:04 +02:00
eb75818ea9
Prefer string constants from TTableKey over hardcoded literals
2020-08-01 19:20:26 +02:00
dc8526996c
Fix version detection in TConnectionParameters.IsMySQL, don't expect the word "mysql" in version or version_comment variable. Ensures we detect CURRENT_TIMESTAMP default value in TDBConnection.IsTextDefault correctly (among other things). Closes #1099
2020-07-24 07:25:18 +02:00
04e475ad68
Handle postponed log lines as long as main window was not fully created, and display them later. This reveals very early log messages, good for debugging.
2020-07-11 09:23:19 +02:00
955ba58a66
Issue #350 : use various SQLite queries as working replacements in ProxySQL mode, to get the Table and Data tabs working
2020-07-07 11:28:29 +02:00
d8b99a4ff2
Issue #350 :
...
* mark ProxySQL network type as experimental
* use TComboboxEx for network types, with icons and ProxySQL sorted after the regular MySQL types
* more exact network type name for IsMySQL
2020-07-06 18:14:00 +02:00
2c47ef1b53
Issue #350 : support displaying server uptime of ProxySQL Admin servers
2020-07-04 19:11:29 +02:00
193b22ba16
Issue #350 : introduce basic support for connecting to ProxySQL Admin servers, via new network type
2020-07-04 18:32:46 +02:00
bca89ec2f3
Issue #350 : Roll back modifications I made for supporting ProxySQL Admin interface. There would be too many more issues.
2020-07-02 20:06:07 +02:00
7abc1d1f67
Prefer ILIKE over LIKE operator on PostgreSQL servers, for auto-generated queries, to overcome errors with double columns. See https://www.heidisql.com/forum.php?t=36500
2020-07-02 14:00:36 +02:00
3b7cdf1583
Fix wrong row index used in TSQLiteQuery.Col and TSQLiteQuery.IsNull. Fixes loading more rows after first page on large SQLite tables. Closes #1053
2020-06-27 18:59:04 +02:00
561bba95d0
Leave numeric precision and scale away from DOUBLE column detection if either of them is empty. Closes #953
2020-06-27 18:33:10 +02:00
ea68cddb24
Use different sets of characters not requiring quotes, per connection type. Use that to force quotes around columns with uppercase characters in PostgreSQL. Closes #1072 .
2020-06-27 16:10:30 +02:00
1981afdf3b
Issue #120 : Allow unsupported ADODB providers per registry hack
2020-06-24 07:30:43 +02:00
c7c07aab92
Issue #350 : change startup queries for MySQL:
...
* SELECT NOW() => SELECT CURRENT_TIMESTAMP, which should be working for ProxySQL, as well as downward for MySQL 4.1
* SHOW STATUS => just see if that runs and show errors in the console, the only vital variable we use here is FServerUptime
2020-06-17 16:48:23 +02:00
9ffae88c5d
Issue #350 : make detection of "proxy admin module" more exact
2020-06-17 15:16:14 +02:00
3d27baf1c3
Issue #350 : move first call to Connection.GetThreadId to DoAfterConnect, where we have the ServerVersion string, which in turn we can use for disabling SELECT CONNECTION_ID()
2020-06-17 14:59:13 +02:00
900e0dd119
Cast relpages to bigint, preventing out-of-range SQL error in PostgreSQL. Closes #1038
2020-05-20 12:12:02 +02:00
407d5ad3ed
Issue #1028 : Code cosmetic in TDBObject.GetTableColumns
2020-05-14 20:57:38 +02:00
6026d364ec
Issue #1028 : Optimize unused code in TDBConnection.GetDbObjects away, which looked for cached object lists which specific OnlyNodeType property, which we don't cache anyway
2020-05-14 20:51:00 +02:00
b45070e8c8
Issue #1028 : Fix one-time recursion in TMySQLConnection.FetchDbObjects, caused by accessing InformationSchemaObjects, which in turn calls GetDBObjects and then again FetchDbObjects. More dramatically, this caused GetTableColumns to do an endless loop with two cache entries for "information_schema". This also fixes many of the v11.0 crashes in TAppSettings.PrepareRegistry, which were just a symptom of that endless loop. Thanks to als2020 on Github for pointing me in this direction.
2020-05-14 20:45:33 +02:00
7fbf88bebc
Optimize SQL query in TDBConnection.GetTableForeignKeys. See https://www.heidisql.com/forum.php?t=36212
2020-05-14 19:36:21 +02:00
afe3342168
Reset session variables cache on database change, so "collation_database" is refreshed for creating a new table. Closes #1030
2020-05-13 08:10:05 +02:00
883c5287e6
Issue #1028 : Compatibility to old MySQL 4.x servers where SHOW FULL COLUMNS did not yet have "Collation" and "Comment" columns.
2020-05-13 08:08:31 +02:00
fb41077613
Stop showing a length for MySQL/MariaDB data types which don't support it. Even leave the length away for TEXT + BLOB types if it's the maximum (default) value. Closes #1023
2020-05-07 18:32:15 +02:00
53d0316144
Fix detection of UNSIGNED flag on *INT columns without length (MySQL 8 only?). See https://www.heidisql.com/forum.php?t=36170
2020-05-04 16:56:24 +02:00