| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This addresses Issue #396
|
|
|
|
| |
for the BETWEEN filter
|
|
|
|
|
| |
• fixed issue for "Add" a new favorite in SPQueryFavoriteManager:
- save pending changes in the query textView in beforehand
|
|
|
|
| |
selecting single tables after multiple tables are selected. This addresses Issue #372 and probably Issue #365
|
| |
|
|
|
|
| |
a column, if that column value hasn't been changed by the user apply the CURRENT_TIMESTAMP appropriately. This addresses Issue #416
|
|
|
|
| |
custom (and partial) code; fixes issues of showing old columns/data from the previous table when creating new tables.
|
|
|
|
| |
'selectedRowEnumerator'
|
|
|
|
|
|
| |
• introduce a new placeholder $BINARY to the filter definition
- if user presses ⇧ while invoking the table filter and a filter had defined that placeholder the search will be case-sensitive; otherwise the placeholder $BINARY will be simply removed to search case-insensitive
- added tooltip for these string filters in ContentFilters.plist
|
|
|
|
|
|
|
|
| |
- 'is (not)' and 'contains (not)' are now defined as: take the argument literally, ie % and _ will be escaped automatically
- in string fields one can look for \n , \r , \t
- added LIKE and NOT LIKE operators to strings to be more transparent
- a routine detects automatically whether a placeholder was wrapped into ' or " and if so ' or " will be escaped
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- all default filters come from "ContentFilters.plist" which can be localized
main structure:
<plist>
<dict>
<key>number</key>
<array/>
<key>string</key>
<array/>
<key>date</key>
<array/>
</dict>
</plist>
filter item structure: [ ${} is a place holder for an argument ]
<dict>
<key>MenuLabel</key>
<string>BETWEEN</string>
<key>Tooltip>
<string>a tooltip</string>
<key>NumberOfArguments</key>
<integer>2</integer>
<key>ConjunctionLabels</key>
<array>
<string>AND</string>
</array>
<key>Clause</key>
<string>BETWEEN '${}' AND '${}'</string>
</dict>
- if NumberOfArguments == 0 then start filtering automatically
- now one can save his/her own filters in SP's preferences.plist (GUI follows soon)
- fixed issue for filters requiring two arguments that pressing RETURN if one is in the second argument input field invokes "Filter"
- added string operators: "IS EMPTY" and "IS NOT EMPTY"
- fixed issue that now one is able to look for eg \n in string fields
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace the CSV parsing function (arrayForCSV:) with a new SPCSVParser class
- Make speed improvements to SPCSVParser to achieve 1.9x faster parsing than the old arrayForCSV: function
- Rewrite CSV imports to be performed as a streaming import, keeping memory usage much much lower
- CSV field mapping preview is now shown very early on in the import process, as soon as the first hundred rwos are available for a preview
- Progress bars are more consistent and accurate
- CSV rows are grouped into batches of up to 50 (depending on line length) for import, falling back to one-query-per-row if errors occur. The current error reporting level is therefore maintained, but imports of non-erroring data are much much faster.
- Improve processing speed slightly
- Fix some odd edge cases in CSV parsing
This addresses issue #389.
|
|
|
|
|
|
|
|
|
|
|
|
| |
• outsourced default QuickLook types into a localizable plist
- prepared SP preferences and SP code to allow the user to add own QL types
• prepared a localizable 'ContentFilter.plist' [not yet implemented fully]
- this plist will held the default filter operators
- this approach will give the user the chance to add own filters
• removed three tiny memory leaks
Note: In MCPResult.m variable 'MCPYear0000' was stored retained. Why?
I removed it and couldn't encounter any problems.
|
|
|
|
| |
slightly to increase the loading speed; this is up to now a compromise between speed and user information, the progress wheel will be updated every ~15%
|
|
|
|
| |
for confirmation, furthermore if a connection is available the user can choose 'Import' instead of loading it into the Query Editor for cases that an user invoked 'Open…' accidentally instead of 'Import…'
|
|
|
|
|
|
|
|
|
| |
- This is up to now a kind of a 'hack' since SP will be compiled against SDK10.5 but if SP runs on 10.6 it'll use code from a 10.6 framework.
- Under 10.6 full screen mode is available and QL does run in its own run loop ie now it's non-modal
- Changed the way of removing temp files; now all files will be deleted while closing the sheet to fix issues if the user double-click at the QL item and the called app was too slow - this ended up in getting the message 'File not found'
- Changed default container extension for images since 'pict' isn't support under 64bit 10.6; now SP makes usage of 'icns'
• outsourced QuickLook types (show as pull down menu) to SP's preference plist. (up to now only 'power users' can change that type list via a Property List editor)
• enhanced the caching behaviour of the sheet editor in terms of triggering a refresh if the text content was changed (this fixes the issue that it could happen that binary data were interpreted as text data)
|
|
|
|
| |
interfering with cocoa short-cuts
|
|
|
|
| |
method 'dataToFormattedHexString' a bit (this fixes the issue for broken lines as well - seen under OSX 10.6)
|
|
|
|
|
|
|
|
|
|
| |
a table an error sheet will be ordered out (order out the first sheet explicitly in beforehand)
- this solves issue 418
• improved table name check for renaming/duplicating/adding a table
- it checks for trailing white spaces since 'foo ' is not valid
- it checks for length
- it checks whether the entered table name doesn't occur as table/view name in the current database (case-insensitively and only while entering the name in sheets)
|
|
|
|
| |
possibility to choose an other connection from the favorites' list; otherwise the SPF file could run out of sync
|
| |
|
|
|
|
| |
strange blurriness on Snow Leopard.
|
| |
|
| |
|
| |
|
|
|
|
| |
(eg selection changes with the arrow keys)
|
|
|
|
|
|
|
| |
- Allow undo of the insertion
- Update scrollbar size/position after the update
- Ensure the cursor is scrolled to
|
|
|
|
| |
DEFAULT NULL, but don't allow definition of tables as that - fix the export of temporary placeholder tables for those views. Thanks to Andreas Falk for report and details.
|
|
|
|
| |
as the current shortcuts are already in use by the query editor for indentation.
|
|
|
|
| |
the app - this fixes keyboard shortcuts not working when a tooltip is visible
|
|
|
|
|
|
|
|
| |
- Rework CSV export to stream data, significantly reducing memory consumption and so increasing speed and stability when exporting large tables. By default safe/fast streaming is used, but a checkbox is available to select "low memory mode" full streaming, allowing export of any size table in theory. This addresses Issue #224.
- Rework XML export to stream data in the same way, also significantly reducing memory usage and providing the option of using low memory mode.
- Make SQL, CSV and XML export progress bars update more smoothly
- When exporting the current browse view or custom query result, show an indeterminate progress bar when copying large resultsets to avoid the app appearing to hang
|
|
|
|
| |
incorrect navigation and menu item validation.
|
|
|
|
| |
shortcuts of cmd+[ and cmd+].
|
|
|
|
| |
NSInteger, matching signal handling function setup and fixing a warning
|
|
|
|
|
|
| |
written to file [ this fixes issue 404 ]
• FieldEditorSheet: if string cell content is "NULL" select the entire string for convenience
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
• fixed issue while retrieving possible encodings/collations from information_schema
- in many cases
"SHOW TABLES IN information_schema LIKE 'character_sets'"
returns NULL whereby
"SELECT * FROM `information_schema`.`character_sets`"
returns the correct list
- change the test query to the latter syntax
- if the retrieving of possible encodings fails return an array of the hard-coded list with dictionaries containing the keys for name AND description
-- [this fix solves i400 due to the fact that the chosen encoding title from the popup list must be of the format: "description (name)"; otherwise the following regexp returns (null) because it's looking for the content of parentheses]
|
|
|
|
| |
• prepared QueryController for future steps
|
|
|
|
| |
usage following TableContent cleanups in r1183/r1204
|
|
|
|
|
| |
- disabled sorting by clicking at table headers
- added drag&drop support of multiple selected items
|
|
|
|
|
|
| |
Favorites of all opened documents to synchronize changes in global favorites
• "Import Favorites" in the Query Favorite Manager adds the imported favorites after the last selected item, if no selected item is found it adds them
|
|
|
|
|
|
|
| |
favorites
• disabled "Select Active Query" in CMTextView if shown in the favorite manager
• code cleaning and simplifications
|
|
|
|
|
|
|
| |
- if not connected close it without any checks
- if an Untitled document contains stored query favorites - What should be done? - up to now it saves them to the global prefs
• header in query favorites list keep visible while filtering
• code cleaning
|
|
|
|
| |
- not yet fully implemented but workable
|
|
|
|
| |
query favorite (global or not)
|
|
|
|
|
|
| |
must be a \0 terminated cString
- fixed that and replaced the deprecated method [NSString stringWithCString:length] again
|
|
|
|
| |
r1313 leads to the issue that no password can be read from the keychain; reverted to r1212 in order to keep SP workable until a fix is found
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- each history is doc-based even if you have opened not only one instance of the same spf file
- for each SPF file identified by its file URL SP remembers each history item regardless from which doc instance it comes from internally ( to make sure that after closing the last instance of a doc all executed queries are saved in that file - if the user wants to change that s/he has to save that file under a different name )
- the history list for each Untitled doc will be initialized by the items stored in the global SP's prefs
- the history list for each SPF doc will be initialized by the items stored in the SPF file unless an instance of the same file is already open - then the new instance inherits the history list from the opened one(s)
- all history items executed in any Untitled docs will be added to SP's prefs - in other words SP's global prefs plist is the historyrepository for each new Untitled doc
- if the user saves an untitled doc or rename an opened SPF file the _current_ history list for that doc will be saved to the chosen file unless an other doc instance is still open
- all history lists are saved automatically if SP quits or the user closes a doc window
Note: This should be tested for any logical pitfalls - each desired logic can be implemented :)
|
| |
|
|
|
|
| |
definition warning.
|