4176 Commits

Author SHA1 Message Date
340cd5066c Unify name and case of information_schema, per connection. Finally. Closes #855 2020-01-16 08:03:20 +01:00
1c39075d7c Issue #852: Implement Assign method on TTableColumnList and friends, TDBObject.LoadDetails and .UnloadDetails, and cross fingers that assigning details to Mainform.FActiveDbObj reduces the number of internal queries 2020-01-16 07:40:30 +01:00
94cd1d84ed Issue #12: detect SQLite data type TEXT on result columns without rows. sqlite3_column_decltype() and sqlite3_column_type() already failed in such cases. 2020-01-16 06:27:21 +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
058143e6af Issue #852: Return copy of once queried columns, keys and foreign keys object lists in TDBObject, instead of re-querying from database each time. 2020-01-15 21:17:51 +01:00
92a0c0ee79 Sort column names in data grid by their ordinal position. Closes #854 2020-01-15 19:55:11 +01:00
08fa8a0c3b Detect SQLite BOOL columns as TINYINT 2020-01-14 21:15:49 +01:00
22b00d4316 Separate join in TDBConnection.GetTableForeignKeys into two separate and faster queries. Closes #852 2020-01-14 20:59:37 +01:00
ca87fc0e6b Issue #12: Add support for foreign key dropdown in SQLite grid fields. Note that SQLite does not support LEFT(), while MSSQL does not support SUBSTR(), so here's a template per network type: spFuncLeft. 2020-01-13 21:56:12 +01:00
094f65e573 Fix some crashes, where the caller frees the result of GetTableColumns/Keys/ForeignKeys. Probably fixes #849 and #848 2020-01-13 19:44:30 +01:00
6f314a210e Detect static date/time values as text type, not expression. See https://www.heidisql.com/forum.php?t=35370 2020-01-13 14:27:35 +01:00
fe7101d9a1 Fix crash in suggest popup without table or view. Closes #848 2020-01-13 14:13:05 +01:00
93a3c97d8c Issue #12: detect foreign keys of SQLite tables 2020-01-13 12:17:19 +01:00
245e033bb0 Detect empty string without quotes as text default type. See https://www.heidisql.com/forum.php?t=35365 2020-01-13 11:53:17 +01:00
9b10d77c5a Issue #12: Implement TDBConnection.GetTableForeignKeys, failing on all db systems except MySQL. Closes #845 2020-01-12 20:00:18 +01:00
2d7191e4c6 Add sqlite file extension to database selector 2020-01-10 22:29:19 +01:00
1344c10bb8 Issue #12: Implement TPgConnection.GetTableKeys, and now call GetTableColumns and GetTableKeys from GetCreateCode. TMySQLConnection should also use that, at least for tables. 2020-01-10 08:11:46 +01:00
3aa0777cda Issue #12: Get column comments in MSSQL back. See http://www.heidisql.com/forum.php?t=19576 2020-01-09 21:27:09 +01:00
c6b4e3e7c4 Issue #12: restore compatibility to MySQL pre-5.0 servers, which have no IS.columns table 2020-01-09 20:50:35 +01:00
16b81ab0f6 Issue #12: restore compatibility to MySQL pre-5.5 servers, which have no "Index_comment" column in IS.columns 2020-01-09 20:19:58 +01:00
b45a0d57c7 Issue #12: Implement TDBConnection.GetTableColumns and .GetTableKeys (todo: .GetTableForeignKeys), as a replacement for the error prone ParseTableStructure. SQLite columns and keys should be parsed correctly now, MS SQL and PostgreSQL may now have some glitches to fix. 2020-01-08 15:28:36 +01:00
0d0c6df599 Restore previous logic: Allow empty result in TableName(Column), which is the case for data tab TEXT columns with LEFT(..) clause. Other columns may have a table name in that case. Closes #837 2020-01-03 18:45:48 +01:00
7c1b0c4f03 Do not set DataTypeCompatibility=80 in ADO connection string with old SQLOLEDB driver. Probably solves some connection issues, see https://www.heidisql.com/forum.php?t=35208 2020-01-03 16:32:03 +01:00
c9d3d3c38d Issue #12: Proper implementation of TSQLiteQuery.ColIsPrimaryKeyPart() 2020-01-01 19:12:10 +01:00
7fc55c5da7 Overload TDBQuery.TableName with TableName(Column), for future usage in ColIsPrimaryKeyPart and friends 2020-01-01 18:51:10 +01:00
b869181f74 Issue #12: Call sqlite3_total_changes() after at least one call to sqlite3_step(), otherwise SQLite does not seem to execute a non-result query. Should make updates in data and query grid working now. 2020-01-01 17:40:08 +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
01b37b6473 Issue #12: Fix TDBConnection.ApplyLimitClause for SQLite, which does not support a LIMIT clause in UPDATE/DELETE statements 2020-01-01 11:53:52 +01:00
52692367b6 Issue #12: Get TDBConnection.GetSessionVariables running for SQLite, with an empty list of variables for now 2020-01-01 11:52:36 +01:00
d91da37bd1 Issue #12: Implement TSQLiteConnection.GetCreateCode, and support square brackets for identifier quoting 2020-01-01 11:50:54 +01:00
687d1d82a6 Move TDBConnection.FRegClasses one down in class hierarchy, where it belongs 2020-01-01 11:44:48 +01:00
416252dbfd Issue #12: Simplify code in Tconnform.ValidateControls 2020-01-01 11:42:23 +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
186e4b2eb3 Make TDBConnection.GetLastResults generic for all network types, and only override it for MSSQL with a manual query-separator, so we have less code 2019-12-28 09:35: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
c74a210586 Issue #12: Provide file pick icon in SQLite database file edit box. Database file is created by sqlite3_open() silently if it does not yet exist. Show a confirmation message in such cases. 2019-12-27 17:53:56 +01:00
021d78d135 Session manager: populate library dropdown when user selects a different net type 2019-12-27 17:19:39 +01:00
ca0ee76156 Introduce function TDBConnection.ResultCount and use that instead of syncing FResultCount variable in many places 2019-12-27 09:05:50 +01:00
4c62279ba6 Issue #12: Get real/origin names of columns in a SQLite result into FColumnOrgNames list, and remove Columns list from TGridRows now that we can use the statement pointer later 2019-12-27 08:53:19 +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
91f973caed Issue #12: On "Host" tab, prefer visible filename over visible file path 2019-12-25 12:58:36 +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
5a350967c7 Revert a part of commit:7ed97b3fe2f989b19bd282ae00c64de8e7b4871d which should have fixed a resizing bug on the query helpers box. See https://www.heidisql.com/forum.php?t=35096 2019-12-19 21:25:16 +01:00
168e49af84 Use the newer KNOWNFOLDERID TGUID constants from Winapi.KnownFolders instead of CSLID integer constants. Probably fixes wrong FOLDERID_RoamingAppData folder for #815 2019-12-18 21:36:51 +01:00
3d1468e77a Make TDBObject.IsSameAs more crash stable, in case the second object is nil. See https://www.heidisql.com/forum.php?t=35109 2019-12-16 08:11:56 +01:00
fc86cd4205 Add filter edit box on session manager, for filtering sessions using regular expressions. Closes #826 2019-12-15 22:12:15 +01:00
74068d68ad Place icons on the 3 new/save/delete buttons on the session manager, to make them more noticeable 2019-12-15 19:31:09 +01:00
feeb1106a7 Don't mix up SynHighlighterSQL.TtkTokenKind enum types with System.TTypeKind 2019-12-15 12:02:22 +01:00