Commit Graph

45 Commits

Author SHA1 Message Date
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
33eb0032d9 Issue #1169: implement TInterbaseConnection.GetTableColumns and InterbaseDatatypes 2021-10-30 12:44:10 +02:00
Ansgar Becker
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
Ansgar Becker
89f1f7f5fa Issue #1453: support UINT columns in SQLite mode 2021-10-06 18:59:53 +02:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
0c6b609cf2 Add support for JSONB column types in PostgreSQL. Closes #606 2020-12-19 08:59:27 +01:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
c4dbdfe948 Enable loading SQLite extensions. Closes #1186 2020-10-12 21:03:22 +02:00
Ansgar Becker
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
Ansgar Becker
9d95fc010c Fix alias of PostgreSQL column type TIMESTAMPTZ with missing space. Closes #1071 2020-06-27 16:27:15 +02:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
f241e4b69e Override "main" database name with custom one. Closes #948 2020-03-26 12:20:32 +01:00
Ansgar Becker
5ee148bdbd Give CHAR data type a separate detection, besides VARCHAR, for SQLite. Closes #870 2020-01-29 21:24:23 +01:00
Ansgar Becker
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
Ansgar Becker
c994e43e07 Issue #12: detect UNIQUEIDENTIFIER column type, and sort that into the text type group 2020-01-18 18:18:38 +01:00
Ansgar Becker
e6fd4e4d63 Add missing CHAR datatype to SQLite column detection. Closes #858 2020-01-18 08:19:33 +01:00
Ansgar Becker
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
Ansgar Becker
08fa8a0c3b Detect SQLite BOOL columns as TINYINT 2020-01-14 21:15:49 +01:00
Ansgar Becker
c9d3d3c38d Issue #12: Proper implementation of TSQLiteQuery.ColIsPrimaryKeyPart() 2020-01-01 19:12:10 +01:00
Ansgar Becker
cc8203043a Add two newer header constants for MySQL/SSL, yet unused by HeidiSQL 2020-01-01 11:59:37 +01:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
e67ab11279 Introduce experimental implementation of SQLite support, alias "Jingle Bells v2", for issue #12 2019-12-24 14:32:19 +01:00
Ansgar Becker
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
Ansgar Becker
2b3b11c9c3 Update MySQL/MariaDB function list and their help texts 2019-11-03 13:45:24 +01:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
d56784c37a Move MySQL/MariaDB constants from const.inc to dbstructures.pas 2019-08-02 08:50:27 +02:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
a249753683 Make mysql_fetch_field() available. Helps in debugging #697. 2019-07-08 20:25:42 +02:00
Ansgar Becker
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
Ansgar Becker
a6ea858880 Use the same new dll loading mechanism also for PostgreSQL's libpq.dll 2019-06-22 17:57:46 +02:00
Ansgar Becker
1d6a415f5f Refactor: rename mysql_structures unit neutrally to dbstructures 2019-06-22 14:26:41 +02:00