314 Commits

Author SHA1 Message Date
ee1fb08158 SQL Process: handling of DELIMITER to mimic mysql CLI (minor fix) 2007-09-25 02:13:03 +00:00
a8809f4975 SQL Process: handling of DELIMITER to mimic mysql CLI 2007-09-25 02:05:38 +00:00
0ce5dd72a7 Preparation for coming 3.1 RC1 release "Gazelle" :) 2007-09-24 23:27:38 +00:00
ceccf7dc68 Hide left gutter of SynMemoSQLLog. We neither display line numbers nor bookmarks there. 2007-09-24 23:17:48 +00:00
b7e88148fc Set ActiveLineColor of SynMemoQuery to light yellow, just like in common editor applications. Should make writing queries slightly comfortable. 2007-09-24 23:12:24 +00:00
adfac67b1a Nuke now superflous, redundant table features since we have them all gathered in "Advanced properties" dialog:
- Change table engine via popupmenu in ListTables
- Edit comment via same popupmenu + an own dialog

Not keeping the same feature in different corners of the application looks more straight forward. Users will have exactly one point where they can modify all table related properties. Should simplify it in the end, although some users will have to get used to it.
2007-09-24 22:00:43 +00:00
69572e38a7 Create once and then cache tbl_properties_form when it's needed. Avoids querying COLLATIONS and ENGINES each time the form gets displayed. 2007-09-24 20:04:46 +00:00
6a36dbf83f Minor fix for rev 944: Don't add auto_increment to ALTER statement if it was empty (was silently converted to "0"). 2007-09-24 20:02:39 +00:00
b9155a63ef Minor: Give a menuitem a prettier name. 2007-09-24 19:57:41 +00:00
d69d81a4b1 Renovate "Advanced properties" dialog:
- Drop pagecontrol to access more than one selected table. Didn't seem helpful for any case, looked ugly and was a click hell to use.
- Implement changeable editors for table name, comment, engine, charset, collation and auto_increment value.
- Backward compatibility kept: A 3.23.58 server leads to disabling editors for engine, charset and collation while keeping the others working.

A table's charset and collation can now be provided at creation time and at altering time. Just as it's implemented for databases. Fullfills now most of the wishes in RFE #1693393.
2007-09-24 19:56:16 +00:00
6ae3e42bcd Fix bug in GetFirstWord: Last character was cut if length of input textlength matched the word length. 2007-09-23 22:38:08 +00:00
4b2af25072 Fix bug: MenuChangeTypeClick called MenuRefreshClick, which called RefreshActiveDbTableList + ShowDBProperties, but not LoadDatabaseProperties.
So, after changing the engine of a table the table status dataset was refreshed but never displayed, until having switched to a different db. So, MenuRefreshClick was loading but not displaying the table status.
2007-09-23 22:36:25 +00:00
76a37d3552 Implement selection of character set and collation in "create table" dialog. 2007-09-23 12:24:26 +00:00
e5410f177f - Add reasonable opCompress to default client-options
- TMySQLConnection.Query now returns the result if any. Fill RowsAffected and RowsFound at the same time.
- TMySQLConnection.GetRow / GetVar implemented for simple query-logic with minimal overhead.
- Give SetDatabase the chance to reset FDatabase to the prior value by catching a potential exception.
2007-09-20 21:54:51 +00:00
febc6ac04e - Resolve hex and shifted numbers to readable integers
- Switch cardinal parameter to integer to avoid typecasting in callers. Safe, because mysql_num_fields will never return more than 2^31 columns - maximum columncount in MySQL is ~3000.
2007-09-20 21:38:50 +00:00
b1d8ac345f Cleanly name TMySQLServerCapabilities and TMySQLClientOptions, so they tell what they're for. 2007-09-19 21:07:30 +00:00
9b5c32ead1 - Extend TMySQLCapability record
- Implement TMySQLConnectionOptions, replace property "Compressed" by single option.
- Introduce published events for DB aware components
- Add register procedure to enable installation into IDE
- Correctly set Active := False before raising an exeption
- Reset Database property to old value if USE command was not successful
- Introduce QuoteIdent function
- Various half-ready code blocks in TDataset procedures
2007-09-19 21:03:10 +00:00
9481386bdc - Sanitize API from Zeos specifics and unused types
- Clean indentation
2007-09-19 20:53:35 +00:00
04e272e2c6 Display a SQL dynamic preview for the CREATE DATABASE statement using a SynMemo. 2007-09-18 22:44:17 +00:00
5d00783b02 Safety fixes:
- Only generate COLLATE in CREATE DATABASE if CHARACTER SET was not empty.
- Surround CHARACTER SET + COLLATE in version conditional comment.
2007-09-18 22:19:01 +00:00
917ede28d7 Implement new feature: "Alter database", reachable in rightclick menu from within dbtree. Supports renaming a database and changing existing charset + collation. 2007-09-18 22:10:55 +00:00
a0fb2f7f1b Creation of databases should follow the servers charset by default, not the charset of the currently used database. 2007-09-18 16:13:59 +00:00
7c05ba1f75 Recycle CreateDatabase-form after first usage / don't FreeAndNil' it. Avoids 3 SQL-queries for each calling time after the first one. 2007-09-18 16:10:29 +00:00
e1d76db62d Suppress exception message about not finding the ActiveDatabase node in dbtree when
a) option "Remember last used database" is active
b) the last used db was dropped externally or
   the session was just opened with "OnlyDBs" in place and the last db is not contained in this list.
2007-09-17 23:23:29 +00:00
1dbc19b16d Add contributor Mike Lischke for VirtualTreeView 2007-09-17 23:12:43 +00:00
1e08e582e8 Partly fullfill feature wish #1693393 "Selection of charset and engine at creation"
By turning the CREATE DATABASE dialog from an InputQuery into a real form with 2 additional pulldowns:
- character set
- collation

See also: http://www.heidisql.com/forum/viewtopic.php?p=1322#1322
2007-09-17 23:11:39 +00:00
6adaf3bd6a Bugfix: Range error in getEnumValues() for any string without '(' in it, eg popping up the field editor for a 'datetime' field. 2007-09-17 21:08:49 +00:00
fab28c1068 Bugfix: Update control state in optimize table window when switching databases (see code). 2007-09-17 19:25:35 +00:00
4449a6c055 * Bugfix: regression from r903: Fix the last couple of cases where ExecUseQuery was being used to no effect.
* Make export table locks local to current connection work.
 * Bugfix: In non-file mode, export commands go directly to server without being parsed; thus they must not have semicolons at end of sentence.  A regression here causes issue #1747558 and issue #1795486, which this commit fixes again.

(Briefly considered adding a cleanSql() which just runs result := parseSql(sql)[0], which would do the same in fewer lines of code, albeit with the small overhead of having the semicolon both added and afterwards removed again..)
2007-09-17 19:10:38 +00:00
fe893ed517 Bugfix: regression from r903: optimize tables was malfunctioning. 2007-09-17 18:13:23 +00:00
b04631b21e Bugfix: regression from r903: user manager was non-functional. 2007-09-17 16:41:21 +00:00
5cf0d55e9e Make sure current database in dbtree has a fresh tablelist before selecting a newly created table. 2007-09-14 19:17:47 +00:00
e6009d6bc2 Follow up to rev 917: Take care of just created databases on servers with lower_case_table_names = 0. Same goes for creating tables. 2007-09-14 19:09:40 +00:00
1b9b4fb6df Fix bug #1794536 "Export cause SQL Error on MySQL in ANSI - Mode" 2007-09-14 08:55:24 +00:00
11e7f9d82d Replace obsolete function "CompareText" by similar working "AnsiCompareText".
See also: http://www.delphibasics.co.uk/RTL.asp?Name=CompareText
2007-09-13 23:17:51 +00:00
0d31432aa9 Various updates for mysqldataset:
- Add property Capabilities to TMySQLConnection which is automatically filled after connect. Can be easily used by client-applications to decide if a feature can be used or not. The client will not need to know the relevant version numbers.
- documentation
- Consistently rename TSQL* types to TMySQL*
- Read ServerVersionStr always "live" by calling GetServerVersionStr as the reader. The version string *can* change after a reconnect.
2007-09-13 23:10:36 +00:00
c535625db0 Fix errorhandling when creating databases:
- Let ExecUpdateQuery raise the errordialog if creating a database failed. Tells the user the exact reason for why it has failed, not just a vague guess "Maybe that was not a valid name"
- Avoid a superflous exception when creating a database with upper case characters in it and the server lowercases all dbnames silently. Gracefully compare case-insensitive when searching the new created db in dbtree.
2007-09-13 20:30:42 +00:00
cf770d4862 First try of creating a lightweight and flexible replacement of ZQuery + ZConnection. Only half implemented yet and far from being production-ready. Mainly the interface to TDataSource and DB aware components are missing. Will need to add some icky pointer stuff. 2007-09-12 23:19:03 +00:00
cb3aa812b6 Add menuitem "Lookup field datatype in SQL help" to popupDatagrid. Makes help system more visible. 2007-09-12 08:46:39 +00:00
fe93a520e9 Fix CallSQLHelp to use the correct SynMemo when pressing F1 in SQLlog 2007-09-12 08:33:00 +00:00
912c46b20c Add menuitem "Lookup [keyword] in SQL help" to popupQuery. Many users likely don't know that they can press F1 in SynMemoQuery/SynMemoFilter to do the same, so here's the more visible solution. 2007-09-12 08:31:01 +00:00
e5ccc0716f Bugfix: Regression from r903: Selecting a database then expanding it would cause it to be deselected. 2007-09-11 20:47:43 +00:00
b056d43e4b Fix a range error and various other bugs in vstFreeNode(). 2007-09-11 20:40:41 +00:00
7ef5d4c34b Follow-up to r903: A few more optimizations and fixes. Thanks for the review! 2007-09-11 18:50:45 +00:00
073716aaf1 Add VirtualTreeView source code path to debug source directories. 2007-09-11 18:20:40 +00:00
0fc363f988 Bugfix: Load database properties (tables) when switching directly to a new table in another database via the tree. 2007-09-11 18:06:57 +00:00
38b3c93209 Enable checks. See r904. 2007-09-11 17:18:46 +00:00
c2f5e22a3f Enable safe compiler optimizations. 2007-09-11 17:10:07 +00:00
2e1ff085f1 Disable usage of Delphi debug DCUs. 2007-09-11 16:57:52 +00:00
d1f1d0fb5c Enable checks and debug information.
Range and overflow checking can be turned off when building a release exe to improve performance slightly.

Debugging options can be turned off when building a release exe to reduce the executable file size.
2007-09-11 16:49:44 +00:00