| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
displaying NULLs within tables when the connection encoding is incorrectly detected (Issue #1100):
- No longer rely on a combination of mysql_options(..., MYSQL_SET_CHARSET_NAME, ...utf8...) and mysql_character_set_name() to detect the connection encoding; this incorrectly misses init_connect commands; instead use SHOW_VARIABLES a$
- Combine initial version check/timezone check/encoding check on startup, reducing connection queries and thus improving connection speed
- Add support for abbreviated MySQL timezone definitions
- Combine MCPKit's -connect and -connectWithLogin:password:host:port:socket: methods to reduce code duplication and fix argument handling for the latter method
|
|
|
|
| |
addressing Issue #1132 and improving #877
|
|
|
|
| |
separation/standaloneness
|
| |
|
|
|
|
| |
stability (mostly in the kill query/thread failure path) and improve disconnection for increased stability
|
|
|
|
|
|
|
|
| |
- caught some more exceptional cases
- re-factored byte to bit conversion (really do not know why the old code wasn't working anymore); this should fix i1042
- disabled unisgned/zerofill check boxes in Structure for BIT
- insert correct default BIT field default value if any after adding a new row
-- this works for 5.5 but for MySQL 5.0.x it seems that providing a default value is a MySQL bug (further checks are needed)
|
|
|
|
|
|
|
|
|
|
| |
null-terminated string processing:
- This fixes issues caused by null characters in strings - addressing Issue 1029
- Also appears to be a few percent faster than the old approach when processing lots of short strings
- Allows significant simplification of MCPResult and low-memory MCPStreamingResult code, avoiding a memory copy; this also gives a significant speedup and can actually make full streaming in MCPStreamingResult faster than "fast streaming".
The code will be reviewed further in future to improve on the gains seen here.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Fix further compiler warnings, including a couple of bugs
- Disable the -wselector warnings (Multiple definition types for selector) as they're currently unsupported in LLVM
- Disable the -wconversion warnings (Prototype conversion) warnings as we usually can't affect protocol declaration
- Disable the -wstrict-selector-match (Strict selector matching) due to too many false positives
|
|
|
|
|
|
|
| |
creating new tables; this could be responsible for -release errors in SPDataStorage, as well as out-of-bounds errors in SPDataStorage or SPTableContent.
- Fix incorrect reporting of affected rows in MCPKit due to the use of meta/status queries; only track affected rows for framework-usage queries (already largely implemented in previous revisions)
|
|
|
|
| |
http://www.opengeospatial.org/standards/sfa
|
| |
|
| |
|
|
|
|
| |
preventing possible MySQL library crashes
|
|
|
|
| |
issues when reconnecting after a network loss causing a drop in connection and proxy at the same time.
|
|
|
|
|
|
|
|
| |
improves handling of special characters in passwords, improving Issue #890
- Improve code in (the unused) [MCPConnection connectWithLogin:password:host:socket:] to match latest updates in the rest of the framework
- Fix creation of new users
|
|
|
|
| |
active or cleaning up
|
|
|
|
|
|
|
|
| |
sheet doesn't block the entire app
- fixed various layout issues
- fixed some tiny memory leaks
• fixed tiny memory leak in MCPStreamingResult
|
|
|
|
| |
mysql return that special value as X''
|
|
|
|
|
| |
- added the possibility to apply any sql function while importing set via "Add value or expression" sheet eg concat('$2', '$1', length('$3')) whereby $1 $2 $3 are the placeholder for the csv file columns 1 2 3 [first column starts with 1]
• fixed ' escaping issue in MCPConnection
|
| |
|
|
|
|
|
| |
- the SRID value will be appended at the WKT string like POINT(1 1),101 which will be transformed to GeomFromText('POINT(1 1)',101) on the fly
- otherwise the SRID information will be deleted after editing a geometry field
|
|
|
|
| |
fields
|
| |
|
|
|
|
| |
- to enable the very first approach simply uncomment code in SPTableContent tableView:toolTipForCell:rect:tableColumn:row:mouseLocation: for MCPGeometryData class
|
|
|
|
|
| |
- added missing MULTIPOLYGON and GEOMETRYCOLLECTION support
|
|
|
|
|
| |
- fixed issue while editing geometry data in Content View; once a geometry field was edited it will be stored as NSString, if not it keeps a MCPGeometryData
- some code cosmetics and commenting
|
|
|
|
|
| |
- implemented native routine to immediate AsText() [MULTIPOLYGON and GEOMETRYCOLLECTION are not yet ready]
- enabled editing of spatial data in Content View for tables and views and in Custom Query via wkt strings which will be saved automatically as wkb by using GeomFromText()
|
|
|
|
|
|
|
| |
some column definition approaches
- instead introduced a new MCPKit class MCPGeometryData
- up to now the spatial data will be displayed as hex bytes - work on it will come soon
|
|
|
|
|
|
| |
- while querying and writing back make usage of AsText() and GeomFromText() to allow to edit each GEOMETRY field as text simple string
- works only in Content Tab so far
- the spatial data are not yet editable inside views
|
|
|
|
| |
defaulting to the default MySQL max packet size (1MB). This improves compatibility with MySQL-like systems like sphinx, addressing Issue #844.
|
|
|
|
|
|
|
|
| |
- Foreground and keepalive pings now use the same code, which has been tidied and improved
- Global variables are no longer incorrectly shared across multiple instances
- If a ping thread blocks in a state where pthread_cancel no longer functions, the connection is assumed to have failed (network issues etc)
This should further improve MySQL crashes linked to pings, and will hopefully address Issue #830. Also update localizable strings
|
|
|
|
|
|
|
| |
pings. This returns to an old approach by attempting to use interrupt signals to force a hung network read to close; however, the signal is now sent by the watchdog thread in a thread-safe fashion to specifically target the locking thread. If this approach works we'll probably consolidate the ping code to use it throughout.
- Update localizable strings
|
| |
|
|
|
|
| |
addresses http://spbug.com/l/1269 and possibly improves the vio_delete crashes
|
|
|
|
|
|
|
|
|
|
| |
single function in each class
- Tweak NSTableView subclasses to catch presses of the Escape key and ask the class to abort row editing. This makes Esc key behaviour much more consistent, and allows cancelling/reverting edits made via the mouse (eg checkboxes, dropdowns, enums), or after the cell editing has finished but the row is still selected.
- Remove debug
- Update localisable strings
|
|
|
|
|
|
|
| |
BIT(63) since the old _int2bin routine didn't work because we're dealing with a char* containing bytes if BIT(>8)
- also for views and CustomQuery editing
• started to clean up (VAR)BINARY editing (work in progress)
|
|
|
|
|
|
|
|
|
|
| |
connection modes.
- Upgrade the MySQL binaries to version 5.1.50 (was 5.1.46)
- Enable SSL support in the MySQL libraries (this leads to a large increase in library size, unfortunately)
- Enable more optimisations in the MySQL libraries (especially --enable-assembler for faster in-library string processing and --with-mysqld-ldflags=-all-static)
This completes support for Issue #27.
|
|
|
|
|
|
|
| |
- Fully lock the connection for background pings; this may slow down queries after connection disuse (when the keepalive is still active/blocked), but strengens thread safety to hopefully fix vio_delete crashes
- Fix pthread_cancel use; previously pthread_cancel after a keepalive may have resulted in cancelling unrelated threads where the thread ID was reused
This should increase stability and improve program consistency.
|
|
|
|
| |
mysql_real_escape_string (which require an active connection). This addresses http://spbug.com/l/54 .
|
|
|
|
|
|
|
| |
attempt to further address http://spbug.com/l/13
- Update localisable strings
|
|
|
|
| |
the application is in a modal state, the background thread waits. This improves interface behaviour on multiple SSH disconnections after sleep/wake (finishing Issue #798) and also disconnections while the interface is modally locked (eg editing text/blobs).
|
|
|
|
|
|
|
|
|
|
|
| |
with extended characters in MySQL identifiers (names of dbs/tables/cols):
- Move encoding queries and control into MCPKit, with newly cleaned-up methods, and switch a number of locations to using the new code.
- Use UTF8 connections for many identifier-based queries (selecting and listing databases, tables, stored procs, table information). This fixes selection and creation of table and database names containing extended characters, also fixing exceptions and errors.
- Improve UTF8 over Latin1 to correctly set the client character set encoding as well, fixing custom queries and edits; remove custom code in SPTableContent achieving the same thing in a single location.
- Fix database encoding detection routines
- Update localisable strings
|
|
|
|
| |
name encodings
|
|
|
|
| |
the Navigator
|
|
|
|
|
|
|
|
| |
syntax to \n. This addresses Issue #652.
- Clean up SPSQLParser, and use a few more CFString methods to avoid obj-c messaging in loops
- When importing SQL using autodetect, perform a manual SET NAMES if possible to cope with poorly-exported files.
|
|
|
|
|
|
|
|
|
| |
methods
- Improve error handling when the connecting dies during import (previous the sheet would stay open)
- Fix localised strings for error messages (label and text the wrong way round)
- Improve comments
|
|
|
|
|
|
|
|
|
| |
- Exporting BIT fields properly in SQL dumps using b'x' notation.
- Properly handling editing of BIT fields in both the content and custom query results views.
- Correctly display BIT fields in the content view, where binary values are zero-padded to the specified length of the field.
(Note, that the new BIT handling logic has only been added to MCPKit's MCPStreamingResult and MCPResult as the latter does not keep a record of the field's length which the new functionality depends on. Needs to be discussed).
|
|
|
|
|
|
| |
- Allow keepalive pings to perform automatic reconnections after a few consecutive failures
- Fix a number of keepalive ping bugs, including compatibility with the new threaded connection methods and reconnection timing issues causing keepalive pings to not fire correctly
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attempt, as well as improved handling of networks not present. This addresses Issue #657.
In MCPKit:
- Disable MySQL automatic reconnection, and add our own reconnection code for greater consistency
- If no network is available, delay reconnects by a short period to allow the network to come back up
- Improved handling of proxy disconnects
In SPSSHTunnel:
- Improved handling of SSH tunnel disconnects, improving automatic reconnection via MCPKit and fixing potential memory/logic tramping.
Also remove the "Retry" button from the Disconnected dialog, leaving only the choices "Reconnect" or "Disconnect".
|