| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
mainThread to avoid crashes if SP shows the data in the Content Browser in which the data will be imported.
[It occurred sometimes that the current table should be updated but no data were available due to threading.]
|
|
|
|
|
|
| |
values after re-invoking it
- store the accessory settings in SP's preferences
|
|
|
|
| |
- now the parser will be initialized by the import dialog's settings (was unintentionally deleted)
|
| |
|
|
|
|
| |
flaw in that exporter instances (NSOperation subclasses) are not reusable and so we have to create a new instance for every 'chunk' of data we want to process.
|
|
|
|
|
|
| |
alternated menu item bound to "Open…"
- this action opens the current file-based connection in a new window by reading <file> again
|
| |
|
|
|
|
|
|
|
|
|
| |
- if no passwords are stored inside the SPF file try to retrieve the passwords from the KeyChain
- for that purpose store the key 'kcid' in the SPF file if available
- changed the accessory view: 'auto_connect' is always enabled (even no pw will be saved due to new routine)
• fixed issue for Open Recent of SQL files
• add a saved SPF file to Open Recent list if the user saved an Untitled doc or saved an open SPF file under an other name
|
|
|
|
| |
the old non-streaming code, but does not yet write to any files. Please note that this is still very much a work in progress.
|
|
|
|
| |
value pairs, just the variable or just the variable value.
|
|
|
|
|
|
|
| |
details which are currently unhandled (column formats, storage, references). This addresses the data loss part of Issue #180.
- Parse out column comments in SPTableData to allow displaying or editing comments in future
|
|
|
|
|
|
|
|
|
|
| |
functionality:
- Growls are now only shown by default if they are not fired from the frontmost window
- Long-running tasks (>3 secs) will still Growl
- Clicking on a Growl will now bring the associated window to the front
This addresses the original concerns of Issue #98.
|
|
|
|
|
|
| |
since 10.6 that list expects a clean file URL created via [NSURL fileURLWithPath:path] (having the suffix file://localhost/....)
Note: should be tested for Leopard.
|
|
|
|
| |
placeholder values written to database. This addresses the data corruption part of Issue #423.
|
|
|
|
| |
present AUTO_INCREMENT value. Fixes issue #391.
|
|
|
|
| |
foreign key references as the names must be unique. MySQL will create the new names based on the new table name. Fixes issue #398.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- user-defined content filter can be saved globally (Prefs) or in SPF files
- BETA - further tests are needed due to complexity
- SPQueryController now handles the local user-defined content filters
- tooltips are now generated automatically if not defined explicitly (incl. if $BINARY placeholder was used)
• if user added local query favorites or content filters to an Untitled document and s/he wants to close it the standard sheet will be displayed (Don't Save - Cancel - Save)
- due to that changed old [TableDocument displayName] to 'displaySPName' to be conform with Cocoa
• changed behavior while importing query favorites - now they will append at the list (not inserted after selected row - makes more sense)
• introduced to history filter dict the key 'menuLabel' which will be set to [TableContent tableFilterString] for displaying the history menu title and simplified the SPHistoryController logic for that
• minor code changes
|
|
|
|
|
|
| |
- Fix the Growl notification prefs message as well as making the dialog a sheet.
- Re-run genstrings to update localizable.strings and also remove use of multiple comments for a single string.
|
|
|
|
|
|
|
|
|
| |
which displays the create syntax in the same non-editable version of the custom query editor. Addresses issue #411.
- Add the ability to save the displayed create syntax to a file on disk.
- Change the 'Show Create Syntax' shortcut from shift+cmd+S (its already in use) to alt+cmd+S.
- Make both the create syntax and server variables sheets not run application modally and thus prevent them from blocking the main thread. Part of issue #351.
|
|
|
|
| |
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)
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
| |
(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.
|
|
|
|
| |
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+].
|
|
|
|
|
|
| |
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]
|