49 Commits

Author SHA1 Message Date
7588e6afe2 Issue #1426 and issue #1768: minor: do not try to set MARIADB_OPT_TLS_VERSION option with libmysql 2024-11-18 06:25:04 +01:00
ce3d29a99c Issue #1964: support MariaDB's INET4 and INET6 data types 2024-06-14 13:59:40 +02:00
d549080cbd Issue #1768:
* Dynamically set the used MYSQL_OPT_* constants for libmysql v8+, to fix the reported SEC_E_ALGORITHM_MISMATCH connection error on SSL-enabled sessions.
* add libmysql-8.4.0-64.dll to installer
* remove deprecated and no longer used mysql_ssl_set() function
2024-05-28 19:33:54 +02:00
4ac4152e7d Support CITEXT columns and categorize as text type, so these show up in foreign values pulldown editor of data grid. Closes #1931 2024-04-22 20:30:34 +02:00
0d9de512cd Remove unit scopes from project settings, prefer fully qualified unit names in uses clauses. Enhance readability and compiler performance. 2022-12-26 17:59:19 +01:00
c4085bed4e Refactor: move structures for specific network types out of dbstructures, into their own dbstructures.xxx.pas, and include const.inc in project sources 2022-04-23 11:38:26 +02:00
0f61ad64fe In a connection error, give the user a hint to better use the default library. A similar hint was yet only given on SSL error messages, but libmysql.dll seems to end with a misleading "access denied" error in some cases. Related to #722, #980 and https://stackoverflow.com/questions/71161296/unable-to-connect-to-mysl-container-via-heidisql-via-localhost 2022-02-19 14:50:44 +01:00
8f36560cc0 Issue #1539: overtake some new CLIENT* constants from include\mysql_com.h, and activate CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA in MySQL/MariaDB mode 2022-02-13 20:54:07 +01:00
33eb0032d9 Issue #1169: implement TInterbaseConnection.GetTableColumns and InterbaseDatatypes 2021-10-30 12:44:10 +02:00
9baeb9f018 Outsource large list of MySQL functions into separate .ini files, one per server type. Todo: definitions for SQLite and Interbase. 2021-10-11 21:32:55 +02:00
89f1f7f5fa Issue #1453: support UINT columns in SQLite mode 2021-10-06 18:59:53 +02:00
a469d89227 Issue #1169: give items in TDBDatatypeIndex a different prefix (dt => dbdt), to fix a conflict with those from Delphi's database components 2021-06-26 17:44:50 +02:00
6e053ee640 Issue #1321 : move jsonb data type to text category, to activate the text editor for such fields 2021-02-25 21:20:22 +01:00
0c6b609cf2 Add support for JSONB column types in PostgreSQL. Closes #606 2020-12-19 08:59:27 +01:00
1aa8605d21 Support regproc and regprocedure types on PostgreSQL, so these don't use SUBSTR() in data grid 2020-12-15 17:57:50 +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
2bc5926db5 Re-add CURRENT_TIMESTAMP function, removed accidentally in last update. See https://www.heidisql.com/forum.php?t=37278 2020-12-01 19:05:19 +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
c4dbdfe948 Enable loading SQLite extensions. Closes #1186 2020-10-12 21:03:22 +02:00
5d1695c445 Extract contents for MySqlFunctions array out of MariaDB 10.5 help tables. Leave original function sorting by category, don't sort by their name. 2020-07-27 18:23:52 +02:00
9d95fc010c Fix alias of PostgreSQL column type TIMESTAMPTZ with missing space. Closes #1071 2020-06-27 16:27:15 +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
97fc069578 Set callback for SQLite's callback_needed event, and implement both required callback procedures. Fixes "No such collation sequence: xyz" when inserting or deleting rows in tables using some unknown collation. Closes #1000. 2020-04-25 22:05:28 +02:00
f241e4b69e Override "main" database name with custom one. Closes #948 2020-03-26 12:20:32 +01:00
5ee148bdbd Give CHAR data type a separate detection, besides VARCHAR, for SQLite. Closes #870 2020-01-29 21:24:23 +01:00
3b84ccc696 Issue #12: SQLite allows any column type declaration, even custom types.
* support those declarations which are commonly used in other database systems, and for which Heidi has a fitting grid editor
* move UNIQUEIDENTIFIER from text group to binary group
* remove useless native type ids and empty descriptions
2020-01-19 07:26:00 +01:00
c994e43e07 Issue #12: detect UNIQUEIDENTIFIER column type, and sort that into the text type group 2020-01-18 18:18:38 +01:00
e6fd4e4d63 Add missing CHAR datatype to SQLite column detection. Closes #858 2020-01-18 08:19:33 +01:00
d9e2123cb2 Issue #12: detect SQLite data type of non-table result columns, using sqlite3_column_type(). See https://stackoverflow.com/questions/59749418/sqlite-c-api-equivalent-to-typeofcol 2020-01-15 22:48:55 +01:00
08fa8a0c3b Detect SQLite BOOL columns as TINYINT 2020-01-14 21:15:49 +01:00
c9d3d3c38d Issue #12: Proper implementation of TSQLiteQuery.ColIsPrimaryKeyPart() 2020-01-01 19:12:10 +01:00
cc8203043a Add two newer header constants for MySQL/SSL, yet unused by HeidiSQL 2020-01-01 11:59:37 +01:00
5146026ba6 Issue #12: Detect more granular data types on SQLite, which we need for the table designer and other things 2020-01-01 11:56:43 +01:00
616715987e Issue #12: Support query batch fired in one go, and get multiple results per query running. Using pzTail out parameter of sqlite_prepare_v3(), not sqllite_next_stmt(), which returns statements from previously fired queries. 2019-12-29 09:52:11 +01:00
541d4e2e90 Issue #12: Clean up code, attempt to get multiple SQLite results per query working, move FStatementNum from TDBConnection to the only caller TMySQLConnection 2019-12-28 09:29:29 +01:00
efb4459288 Issue #12: Implement TSQLiteQuery.TableName, and
* free Psqlite3_stmt later, in TSQLiteGridRows.Destroy, not in TSQLiteConnection.Query directly after execution
* move code from TAdoDBQuery.TableName to TDBQuery.TableName, as this is generic SQL parsing which works for all layers (though not so reliable)
2019-12-27 08:30:25 +01:00
ed89b54b28 Issue #12:
* define and use SQLite column datatypes, at least the few groups (int, text, real, blob, date)
* TSQLiteConnection.GetThreadId now returns the application process id, as there is no connection pid in SQLite
2019-12-25 12:34:36 +01:00
e67ab11279 Introduce experimental implementation of SQLite support, alias "Jingle Bells v2", for issue #12 2019-12-24 14:32:19 +01:00
94b398beb2 Add CURRENT_TIMESTAMP to function list, especially for the dropdown in the default editor. See https://github.com/HeidiSQL/HeidiSQL/issues/74#issuecomment-559321533 2019-11-28 06:38:01 +01:00
2b3b11c9c3 Update MySQL/MariaDB function list and their help texts 2019-11-03 13:45:24 +01:00
ffb6170a4e Fix definition of PostgreSQL Oid from Integer to Cardinal, as it is in postgres_ext.h . Should fix negative Oids in TPGQuery.TableName. See https://www.heidisql.com/forum.php?t=34819 2019-10-27 22:26:15 +01:00
64c43aebbf Issue #62: distinct between TIMEZONE (without time zone) and TIMEZONETZ (with time zone). And modify GetDatatypeByName() so it deletes the longest detected datatype string PostgreSQLDatatypes.Names . This solves empty/undetected column comments in ParseTableStructure(). See https://www.heidisql.com/forum.php?t=23211#p34709 2019-10-05 08:04:31 +02:00
d56784c37a Move MySQL/MariaDB constants from const.inc to dbstructures.pas 2019-08-02 08:50:27 +02:00
7fd551bd72 Give the user a hint to download VC redistributable if PostgreSQL dll fails to assign a procedure. See https://www.heidisql.com/forum.php?t=18580#p34297 2019-07-28 08:57:51 +02:00
13fa85e567 Raise error before LoadLibrary is called, when library file does not exist, so the user gets a more reasonable message 2019-07-26 20:48:18 +02:00
a249753683 Make mysql_fetch_field() available. Helps in debugging #697. 2019-07-08 20:25:42 +02:00
2a91a13b42 Issue #677:
* drop workaround for application crash on WinXP, when loading newer libmariadb (see #79)
* raise TDbLib's own exception instead of baking an own one with less details. Probably helps in debugging: https://www.heidisql.com/forum.php?t=34044
* rename EDatabaseError to EDbError, to overcome naming conflict in DB unit
* load libpq.dll always with path, which should anyway work better than without it. See http://www.heidisql.com/forum.php?t=22514
2019-07-08 20:23:05 +02:00
a6ea858880 Use the same new dll loading mechanism also for PostgreSQL's libpq.dll 2019-06-22 17:57:46 +02:00
1d6a415f5f Refactor: rename mysql_structures unit neutrally to dbstructures 2019-06-22 14:26:41 +02:00