aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CustomQuery.m
Commit message (Collapse)AuthorAgeFilesLines
* - added ability to view function and procedures and preliminary ability to ↵mtvee2009-05-131-2/+2
| | | | input same via the editor
* More dialog updates. Issue #192.stuconnolly2009-05-121-5/+6
|
* • added "Query Editor" preference pane for setting colors, font, and modes ↵Bibiko2009-05-071-20/+28
| | | | | | | | | | | | | | | | | (from the CQ's action gear which are still customizable there) - in addition to the syntax colors it's now possible to change the fore/background color as well • added "Update Help while typing" feature in the Custom Query editor • first trial to improve syntax highlighting for large text in the Custom Query editor - if the text is larger than 10k the highlighting is performed only for the visible text area ±bias (3.5k) - if the user changes the visible area the highlighting follows time-delayed 500ms) to assure user interaction - a test with a 45MB SQL dump worked (of course a tick slowier) -- todo: improve prev/current query detection (mainly the SQLParser) - if the text size is > 6MB the completion list won't show words from the text due to parsing time - if the text size is > 6MB the line numbering will be disabled due to performance issue (improvements should follow) • some tiny clarification changes in the syntax highlighting code • some minor code cosmetics
* • MySQL Help - simplified code for goBack/Forward buttons because it is ↵Bibiko2009-05-011-8/+2
| | | | supported in the helpWebView policy delegate method
* • added "MySQL Help" to the MainMenu > Help submenuBibiko2009-04-301-9/+22
| | | | | | - it shows the MySQL Help TOC of the front most tableDocument mysql connection, i.e. each tableDocument has its own Help window (due to the fact that the Help is version specific), and makes it the keyWindow - changed the way for getting the mySQLversion into the CustomQuery; now a new tableDocument set it via [customQueryInstance setMySQLversion:foo]; the other way was to unsafe regarding to get the version if MySQL Help was invoked via MainMenu • Help window and Create Table Syntax window will be released while closing the tableDocument
* • changed context menu item in CQ's textview to support "MySQL Help"Bibiko2009-04-301-0/+11
| | | | | • prepared code to work with autoHelp • improved getRangeForCurrentWord (fix for " |a")
* • MySQL HelpBibiko2009-04-301-1/+1
| | | | | | - updated autoHelp, now it recognizes cursor movement via mouse • if the chunk in CQ's textview is too large remove all attributes • some minor code cosmetics
* • MySQL HelpBibiko2009-04-301-40/+69
| | | | | - refactored and cleaned contextMenuItems for the webview - help-html-template will be loaded only once
* • MySQL HelpBibiko2009-04-291-2/+3
| | | | - fixed: escaped single quotes ' in the search string for HELP 'foo' (search selection)
* Add a menu item separator between the default menu items and MySQL search items.stuconnolly2009-04-291-0/+1
|
* • MySQL Help refactoringBibiko2009-04-291-152/+161
|
* • MySQL HelpBibiko2009-04-291-18/+26
| | | | | - change help target buttons into a NSSegmentedControl - fixed minor typo
* • MySQL HelpBibiko2009-04-291-15/+76
| | | | | | | - managed contextual menus in webview -- added for selection menu "Search in MySQL Help" and "Search in MySQL Documentation" - fixed keyboard short-cuts in webview - corrected tooltip for "Web" button in GUI
* • MySQL Help:Bibiko2009-04-281-1/+1
| | | | - fix for link detection of [HELP foo] if foo contains a \n
* • MySQL HelpBibiko2009-04-281-2/+8
| | | | | - fixed logic to detect whether db connection supports HELP statement - improved the while typing search, e.g. type in the Help search field "sel"
* • MySQL HelpBibiko2009-04-281-7/+17
| | | | | - if the connected database doesn't support the HELP statement or the admin deleted the help tables in mysql the search falls back to the online search according to the connected mysql version - changed slightly the example css output style
* • MySQL Help:Bibiko2009-04-281-17/+9
| | | | | | - simplified code for getting mySQLversion (this eliminates complier warning too) - change HTML/CSS output slightly for keyword header - changed back/forward tooltip to be consistent
* • MySQL Help improved:Bibiko2009-04-281-7/+52
| | | | | | | - added history: go back/forward - window now has auto save name MYSQL_HELP_WINDOW - disabled contextual menu for safety reasons (temporarily) - some minor stuff
* • some minor cosmetics for the MySQL HelpBibiko2009-04-281-14/+14
| | | | • added NSBeep() if nothing found in the current-page-search
* • improved MySQL Help GUI resize behaviourBibiko2009-04-271-5/+41
| | | | | • fixed some minor issues to detect http links in help descriptions • first steps to make SQL statements and see [HELP %] clickable
* • MySQL Help improvedBibiko2009-04-271-216/+298
| | | | | | | | | - added help target (online, in current page, in MySQL help ⌥⌘O,P,M) - GUI support for go back/forward (not yet implemented) - ⌘G, ⇧⌘G for find next/prev in current page - ⌘F selects search field; ⌘+ and ⌘- support - online search is version sensitive
* • MySQL Help improvedBibiko2009-04-271-17/+163
| | | | | | - better HTML view, list topics for multi-matching keywords - for test cases invoke it by CTRL+H in the Custom Query textView - GUI is really tentative!
* • added a prototype to support an Help view for the current word in the ↵Bibiko2009-04-241-2/+72
| | | | | | Custom Query text view - work in progress!
* - Ensure that the structure view is always selected on program launch, ↵rowanbeentje2009-04-231-5/+1
| | | | | | | whatever the last view used in IB is - Move setAutoEnablesItems:NO from the CustomQuery file to the menu definition in the .xib
* - Clean up some edge cases with "Run current"/"Run previous", and rework ↵rowanbeentje2009-04-231-66/+76
| | | | the code to make it a bit clearer. Builds on r614.
* • CHANGED: if an error occurs in a series of queries the user will be ↵Bibiko2009-04-221-32/+205
| | | | | | | | | | | | | | | asked to "Stop", "Continue" or "Run All" - Stop: the execution will stop at the erroneous query (if other queries would follow "Execution stopped!" will be prompted in the error message field) - Continue: continues the execution but shows that alert for a next error - Run All: runs all following queries regardless of possible errors • improved the error selection - fixed the issue for Run Current/Previous (even for duplicates) - if no error line is given it selects the first query which caused an error entirely - due to the localization of mysql error messages changed the regexps for catching the: -- line number to /([0-9]+)$/ because the line number always should be outputted at the end -- "near message" to / '(.*?)' / (important the last space because after that space the line number will be outputted) -- further checks are needed
* • slightly improved "Run Previous" detectionBibiko2009-04-211-4/+26
| | | | - now it recognizes if the line is empty after the caret position; if not "Run Current" is set
* • FIXED: synchronized "Run Current/Selection/Previous" button appearance ↵Bibiko2009-04-211-2/+12
| | | | with the the corresponding gear menu item
* - Add support for "Run previous" in the custom query text field; this ↵rowanbeentje2009-04-211-12/+58
| | | | behaviour for the "Run current"/"Run selection" button is triggered if the text caret is only separated by whitespace from the last query, to allow easy running of a just-typed query
* • added selectLineNumber:x to CMTextView to be able to select the line xBibiko2009-04-201-3/+40
| | | | | | | | | • added error highlighting of the first mentioned error - if a "near message" error is provided select that message otherwise select the entire error line and scrolls to it - if no "at line x" and no "near message" is given do nothing - if a selection was given and the user pressed "runAll" destroy the selection before error checking; if no error was found reconstruct that selection (to be able to distinguish between "runSelection" and "runAll" plus selection) * changed slightly the trigger for syntax highlighting/auto-uppercasing for better scrollToRange behaviour
* - Add defaults for the SelectLastFavoriteUsed and LastFavoriteIndex keysrowanbeentje2009-04-171-1/+1
| | | | | | - Add the ability to configure the maximum number of items in the query history - Added appropriate minumums (0) and maximums in prefs for max history items, LIMIT count, connection timeout value
* - Tweak code to use the new UseKeepAlive preference valuerowanbeentje2009-04-111-4/+4
| | | | | | | - Update a few pref checks which were using the old pref values still - Resort preference defaults to match layout in prefs, restore old default values for some keys - Restore missing defaults for new editor properties
* Added printing support via WebKit WebViewbamse162009-04-111-0/+10
|
* • FIXED in runAllQueries: deselect a given selection before calling ↵Bibiko2009-04-071-0/+1
| | | | textStorageDidProcessEditing: to avoid the deletion of a given selection
* • improved auto-uppercasing for: pasting queries from favourites & history ↵Bibiko2009-04-071-0/+17
| | | | | | | and before performQueries • improved undo behaviour of auto-uppercasing • added undo behaviour for pasting queries from favourites & history
* - Fix an invalid reference to a missing pulldown_arrow image causing ↵rowanbeentje2009-04-051-11/+23
| | | | | | | | invalid log entries - Set the focus to the custom query text field when appropriate when switching to the custom query tab - Add the ability to set the custom query editor font, save and load it from preferences, and no longer reset the font on queries
* - Add the ability for CMTextView to automatically capitalise SQL keywords ↵rowanbeentje2009-04-031-0/+11
| | | | in the text view, currently off by default but saved from preferences. Thanks again to Hans-Jörg Bibiko for this patch; see Issue #218.
* - Implemented "Clear History" in new Gear menuavenjamin2009-04-021-0/+6
| | | | - Changed UI in Query Tab for favourite and history popups as well as Run query buttons
* - Add a new "gear" action menu underneath the custom query view, including ↵rowanbeentje2009-04-021-1/+52
| | | | | | | | | | | | a number of items: - Add menu commands for "Run All" and "Run Selected", with additional keyboard shortcuts - cmd-R for Run all, addressing #137 - Add menu commands for indenting text, outdenting text, and to show autocompletion is available - Add menu commands to toggle autopairing and autoindenting - Also hidden menu commands for history navigation and clearing, not hooked in yet (see #207) - Add a new method to our string additions: lineRangesForRange - Add "shift right" (indent) and "shift left" (outdent) support to CMTextView, including for multiple lines
* - Add autopairing support to CMTextView - many thanks to Hans-Jörg Bibiko ↵rowanbeentje2009-04-011-1/+4
| | | | | | | | for the original patch (see http://code.google.com/p/sequel-pro/issues/detail?id=208 for full details). Applied with slight amendments. - Further changes to make CMTextView more standalone and reusable - autopairing and autoindenting can now be enabled/disabled and checked. - Autopairing and autoindenting moved to app preferences.
* - Refactor custom query results redrawing code and reset view position to ↵rowanbeentje2009-03-251-23/+17
| | | | avoid out-of-range assertions when switching from a larger dataset to a smaller dataset; this fixes Issue #189
* - changed the status message after executing a custom query to read "1 row ↵jakob2009-03-201-11/+27
| | | | affected" / "6 rows affected" rather than "1 row(s) affected"
* SPSQLParser changes:rowanbeentje2009-03-191-151/+354
| | | | | | | | | | | | | | | | | | - Use method caches for oft-called functions, and support caching of chunks of the underlying string for string walking, resulting in an overall 1.3x-1.4x parsing speedup. - Improve handling of multi-character comment starts (eg / or -) at the very end of strings - When running splitString... methods return even empty strings for consistency. - Update TableDump and TableData to match new usage SPStringAddition changes: - Add a formatter for time intervals. CMMCPConnection changes: - Add support for timing queries CustomQuery and nib changes: - Change the "Run Queries" button to "Run All". - Add a "Run Current" button, which runs the query the text caret is currently positioned inside; if text is actually selected, this changes to "Run Selection". This addresses Issue #43. - Amend the "rows affected" string to better reflect the actual number of rows altered by several queries, show the query count if > 1, and display the overall execution time of the queries. This addresses Issue #142. - No longer execute blank strings as part of the custom query, preventing errors.
* - BLOB and binary fields are now fully visible and editable again (fixes ↵rowanbeentje2009-03-031-0/+8
| | | | | | | | | Issue #155) - Added basic support for viewing, filtering, and editing BIT columns (resolves Issue #127 in basic form) - Rewrites selection/save handling. Rows are now only written to database if their content has changed, resolving a long-standing complaint; row selection and editing has also been improved, improving edit/save interaction (fixes Issue #157) and allowing re-editing of the row on failure (fixes Issue #115). Hopefully also addresses #Issue 131, and improves Issue #172. - Hides the console window when the associated document window closes
* - Re-design the custom query favourties editor and get rid of the nasty ↵stuconnolly2009-03-021-2/+13
| | | | | | | plus/minus buttons. Also add some interface element validation. - Tidy up CustomQuery.h by getting rid of the definition of all datasource and delegate method signatures which don't need to be declared.
* Visible improvements in this build:rowanbeentje2009-02-181-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Significantly reduce the queries that have to be performed, improving lag - especially over slow connections (Issue #118; see new controller info under headline code changes). - Fix Issue #117 properly (export numeric quoting - we now have access to column types and so can quote appropriately). - Fix Issue #145 (loss of unsigned/null/default attributes when reordering columns). - Fixes Issue #90 (support for filtering DECIMAL column types) - Improve table scrolling speed when the table contains long items. (Added a NSFormatter to automatically truncate strings > 150 chars for display purposes only) - Improved SQL compatibility - for example /* C style comments */ are now correctly ignored in imports and custom queries. - Add text and symbols emphasising that the table info pane / status view row count is an approximation (partially addresses Issue #141) - Fixes a major memory leak whenever opening or scrolling tables containing text/blob data. - SQL import is now faster (SQL parsing part is 3x faster). - Speed up SQL export (1.5x faster for numeric data; 1.1x faster for string data) and slightly speed up CSV export (~1.1x faster). - Display sizes on the status view using the byte size formatter, as per table info pane. Headline code changes: - Add a new NSMutableString subclass, SPSQLParser. See the header file for documentation and overview, but in short it's a centralised place for SQL parsing. Centralises and improves parsing, improves comment support, improves quoting support. Despite the improved featureset this is also faster than the previous distributed implementations - for example, when used to replace the old splitQueries:, > 3x speedup. - Implement a new controller which handles a structure and status cache for the current table, and provides structure parsing for specified tables. This cache is now used throughout the code, reducing the queries that have to be performed and providing additional information about the table structure for use; I think it also improves column type format slightly. - The table info pane and the status view now draw all their data from the cache. Tweaks: - Table encoding is now detected directly instead of being derived from the collation - increased accuracy and cope with the DEFAULT encoding. - Comments and formatting cleaned up in bits I was working on, obviously. - A couple of methods - particularly [tablesListInstance table] and [tableDocument encoding] - have been renamed to avoid conflicts and fix code warnings. Future improvements now possible: - As we now have access to column types and other information, we can provide per-type behaviour where desired. - The table parsing doesn't currently pull out comments or table indices, together with one or two other attributes. Some of this would be useful for display; some, such as indices, could be used to draw the table structure view as long as we're happy discarding a couple of columns (ie cardinality!)
* MERGED r262:266 from branches/stuart02 to trunk to include new project ↵stuconnolly2008-12-101-0/+742
structure.
='#n1396'>1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741