MacSQL 3.1 Read Me
This software is ©2006 Runtime Labs, Inc. and may not be redistributed except as a disk image in the same format as downloaded from the Runtime Labs website. The latest version is always available from <http://www.rtlabs.com/>. This software may not be distributed on CD-ROM or other physical media without permission from Runtime Labs, Inc.
What is MacSQL?
MacSQL provides an easy way to view, manipulate, and manage SQL databases from a Macintosh computer.
Features include:
- Connects to FrontBase, Microsoft SQL Server, MySQL, OpenBase, Oracle, PostgreSQL, and Sybase database servers.
- Graphical query editor including support for joins.
- Query Drawer to store and organize frequently used queries.
- Flexible data views including text, spreadsheet, and record-based form.
- Schema Viewer that shows databases, tables, columns, indexes, foreign keys, and constraints.
- Syntax highlighting of keywords, literals, operators, and comments.
- Manager users, groups, and their access to the server (MySQL and Oracle only).
- Synchronization between SQL databases and FileMaker Pro.
- Create Table Tool to visually design tables.
- Ability to export data as SQL commands, tab-delimited text, comma separated text, binary, XML, HTML, or in Microsoft Excel format.
- Import of SQL, binary, CSV or Tab-delimited text files.
- Unattended, scheduled backups including file rotation.
- Web Script Assistant that will generate PHP or Embedded Perl to interact with a database.
- Comprehensive AppleScript support including recordability.
- Comprehensive user manual and tutorial.
- Free upgrades for one year.
- Telephone and email support.
Features new to MacSQL 3.1 include:
- MacSQL is a Universal application that runs on PowerPC- and Intel-based Macintoshes.
- A new MySQL 4.1+ plugin that supports connecting to MySQL 4.1 and greater database servers (fully licensed from MySQL AB).
- A new PostgreSQL 8.1+ plugin offering greater speed and SSL support.
- Job Manager supports scheduled, unattended exports including rotation of backups.
- Support for generating Entity-Relationship Diagrams using OmniGraffle and OmniGraffle Pro.
- Documents are now indexed by Spotlight.
- SQL Server plugin updated and includes full Unicode support.
- Query editor now supports expressions with function calls, and the distinct qualification.
- FileMaker Pro Synchronization now supports connecting to FileMaker via ODBC.
- WebScript Assistant supports PHP 5.
- Create Table Tool redesigned including support for MySQL enum and set data types.
- Query Maker supports autocompletion by pressing F5.
- Text imports now allows mapping column names based on data instead of blindly picking the column order.
- Spreadsheet supports LinkBack (http://www.linkbackproject.org/).
- Supports Growl (http://growl.info/) for Import, Export, FM Synch notifications.
Requirements
MacSQL requires a computer running MacOS 10.4 or greater installed. Access to a supported database is also required to use the program. Oracle support requires installing native drivers (instructions are included in MacSQL's Help).
Universal Compatibility Notes
The MacSQL application is Universal and runs on both Intel- and PowerPC- based Macs. However, Intel-support requires Universal database drivers from the database vendor.
Currently Oracle and Sybase do not have Universal drivers available, so they will only work on an Intel-based Mac when run under Rosetta.
Legal Mumbo Jumbo
MacSQL is commercial software, distributed as a time- and feature-limited application that can be fully-enabled by purchasing a registration code from our website <http://www.rtlabs.com/>. The demo mode is fully functional except for saving documents and can be launched 20 times in a 60-day period. The software can be purchased via our website <http://www.rtlabs.com/>.
Contacting Us
For more information about MacSQL, please visit our website at <http://www.rtlabs.com/> or email info@rtlabs.com. Registered users are entitled to free email technical support via the email address and phone number emailed to you when you purchased the software.
Release Notes
Version 3.1
- MacSQL is now Universal and runs natively on Intel-based Macs.
- New MySQL 4.1+ plugin fully licensed and compatible with MySQL 4.1 and greater.
- Mew PostgreSQL 8+ plugin added that is significantly faster than old, supports new features.
- New Job Manager available in Window menu, allows automated scheduling of backups, even when not logged in.
- New E-R Diagrams, available in schema menu, offers option to create an ERD using OmniGraffle.
- Added support to import/export for a new binary file format that is much faster to access than other formats and stores column names and data types so there will be no potential for data translation errors, especially when transferring data between different database types (i.e. MySQL to Oracle).
- Documents are indexed by Spotlight and when a document is opened via Spotlight the first database or table matching the search string will be displayed in the Schema Viewer.
- LinkBack support (see <http://linkbackproject.org/> for details on LinkBack).
- New Automator actions are included.
- Registers as a handler for database URLs.
- Finder updates to shows files created by WebScript or Export Assistant.
- Fixed bug where app could hang if an error happened on a background thread when the main thread was performing a GUI related-activity.
- If a document says it has a password in the keychain but there isn't one, the user is now prompted to enter the password.
- Show Error Log always enabled.
- MacSQL now collects statistics on feature usage, optionally sending them to Runtime Labs to help us prioritize our development work.
- Added support for Growl (http://growl.info/) to Import, Export, FM Synch.
- Added Purchase link to MacSQL3 menu for unregistered users.
- Revert properly implemented.
- New Connection Dialog: widened dialog and text fields.
- AppleScript: "make new document" command now supports the name property.
- AppleScript; "make new document" command now supports a "connect options" record property for plugin-specific options such as the use of SSL.
- AppleScript: added "result as" options to the "do query" event to return results as tab-delimited text, XML, or HTML.
- AppleScript: fixed bug that could cause a crash if a document was told to close while a query was running in the background.
- AppleScript: fixed bug where "make new document" would not return in certain cases.
- AppleScript: export command now takes an optional xslt stylesheet parameter that will be applied to the exported XML.
- Create Table Tool: completely rewritten, includes support for MySQL enum/set data types and Sybase/SQL Server identity intial and increment values.
- Documentation: updated FM Synch docs.
- Documentation: webscript docs explain when the Launch in browser when complete checkbox is enabled.
- Export: assistant auto-selects last used export format.
- Export: Excel export uses GSF on Tiger instead of Microsoft-supplied CFM library.
- Export: truncates files before export so previous data will not exist at end of file.
- Export: an XSL stylesheet can be specified to transform the results of an XML export.
- FM Synch: Added new synch method ODBC. Currently offers full Unicode support when moving from FM to SQL, only Latin1 support for SQL to FM.
- FM Synch: AppleScript is now the default connection method
- FM Synch: fixed bug with scripting of local synch.
- FM Synch: If no FM fields are listed in the Select Keys step, a message is displayed explaning that only unique fields can be used as a key.
- FM Synch: now supports synching FM date/time/timestamp fields with char/varchar fields on the SQL side.
- FM Synch: When talking with FileMaker Pro 7 or later now prompted to select the layout to synch with (allowing synch with any table in the database)
- FM Synch: added option to select the encoding to use when SQL binary columns are mapped to FileMaker Pro text fields.
- Form View: fixed bug that could give alert when saving updates.
- Form View: fixed bug where prompt would be made to commit/rollback non-existant changes when a text blob or large string contained a null value.
- Form View: text views no longer hug the right edge of the window.
- Form View: fixed bug where a unmodified record would appear to have been modified.
- FrontBase: drivers now bundled with application.
- FrontBase: fixed bugs related to use of database password, now stored in keychain.
- Import: csv import strips quotes from all values.
- Import: text imports now allow mapping column names to values from first row of file instead of blindly picking the column order.
- Import: uses a transaction when requested in assistant.
- MySQL 4.1+: When connecting, Host field supports specifying a Unix socket path name to use for a local connection.
- OpenBase: drivers (Universal) are now included.
- Oracle: create table statements now include indexes, foreign keys, and constraints.
- Oracle: when updating/inserting data in form view, the schema name is now always specified.
- PostgreSQL: fixed bug where charset wasn't always switched to unicode.
- PostgreSQL: timestamps on server version 7.3 or greater now work properly.
- Query Drawer: history notes spreadsheet/form queries executed directly from drawer.
- Query Drawer: replaced execute and edit buttons with an Action pulldown ala the Finder.
- Query Editor: column browser now has an Add All button.
- Query Editor: fixed selection bug after deleting column with delete key.
- Query Editor: rearranged layout of buttons and controls at top.
- Query Editor: SELECT can now include expressions (with function calls).
- Query Editor: select columns can now have alias name specified.
- Query Editor: selects text up to ')' when a '(' is double clicked.
- Query Editor: sheet to select base table is now wider, resizable, truncates names in middle.
- Query Editor: supports DISTINCT in select statements.
- Query Editor: fixed bug where select column browser selection didn't match the selection in the outline.
- Query Maker: added setting/pref to strip out comments before sending queries to the server.
- Query Maker: autocompletion (press F5) now offers list of keywords instead of all words in dictionary. Due to a bug in Panther, the best match is only selected when running on Tiger.
- Query Maker: entry field now inserts SQL if you drag & drop a text file with the extension ".sql".
- Query Maker: fixed bug that could print decimal values as garbage.
- Query Maker: ligatures are turned off by default.
- Query Maker: selects text up to ')' when a '(' is double clicked.
- Query Maker: text results now honor date formats specified in preferences.
- Query Editor: fixed potential crashing bug when creating a new query.
- Registration: now offers to lookup serial number from Runtime Labs website.
- Registration: offers option to save registration information for all users instead of just for current user.
- Schema Viewer: Added support for dropping indexes.
- Schema Viewer: contextual menus now appear consistently in detail table.
- Schema Viewer: database contextual menu includes print option.
- Schema Viewer: tables can now be renamed (except in SQL Server, FrontBase, OpenBase)
- Schema Viewer: printing layout adjusted to be easier to read.
- Schema Viewer: fixed bug that could cause error when printing.
- Schema Viewer: foreign keys now print properly.
- Schema Viewer: added option to show distinct values for the selected column.
- Schema Viewer: when editing a column, an empty string for a default value is treated as the column not having a default value.
- Scripting: close Apple Event now works properly for documents.
- Scripting: open Apple Event now properly disposes of document if connection failed to open.
- Settings: changes to Command History Size were not being saved properly.
- Spreadsheet: added Reload item to data menu (was available as a custom toolbar item only) and made a default toolbar item.
- Spreadsheet: added Copy Query menu item.
- Spreadsheet: if not editable, a read-only icon appears at the bottom with a tooltip that explains why it is not editable.
- Spreadsheet: copying rows includes LinkBack information so client application can ask for updated values for those rows or the entire query.
- Spreadsheet: ellipse icon in the corner (or right-clicking on a column header) offers a menu to show/hide individual columns.
- Spreadsheet: Fixed bug that sometimes prevented sorting by last column.
- Spreadsheet: Page Up, Page Down, Home, and End keys now work properly.
- Spreadsheet: fixed numerous display bugs including font size and display of row headers.
- SQL Export: fixed bug where no export could take place if replacing a file.
- SQL Export: offers option to add DROP TABLE statement before each create.
- SQL Server: can now connect to named instances.
- SQL Server: checks if user is a sysadmin and if so, uses dbo as the default owner/database.
- SQL Server: fixed bug where too much memory was used when fetching blobs.
- SQL Server: fixed rounding bug with spreadsheet and form view.
- SQL Server: full unicode support instead of just Latin-1.
- SQL Server: upgraded to FreeTDS 0.64rc10.
- WebScript Assistant: added PHP 5 as a option that will use the mysqli functions instead of the older mysql ones.
- WebScript Assistant: no longer crashes when generating on Mac OS X 10.4.
- WebScript Assistant: search summaries no longer say there will be zero batches if batching is not enabled.
- WebScript: changed method of ftp upload to not require libcurl.
Version 3.0.3
- Fixed bug where saved documents would no longer connect to the database if they were saved multiple times.
- Added document setting to size columns based on data returned (to remove extra spaces at the expense of pre-fetching all the results.)
- Export: fixed bug when exporting as tab-delimited when null values exist.
- Export: all textual export formats allow saving file with ".txt" extension.
- Export: sql export has option to save sql for each table in a different file.
- FM Synch: converts curly quotes to straight quotes to prevent updates from failing to MySQL and sending the actual curly quotes to other databases.
- FM Synch: removed ability to select FM RecordID as the key value when synching from SQL to FM. This option was not a valid choice and would result in a crash during the synch.
- Form View: fixed bug where values were not editable with Oracle and SQL Server.
- Import: text imports 5-6x faster. (A 4MB CSV file with 30,000 records took 4:28 in 3.0.2, 0:41 in 3.0.3)
- Oracle: reverted to 3.0.1 handling of numbers (NUMBER is once again treated as an integer, not a float. The float change in 3.0.2 had made MacSQL unusable for a number of customers due to rounding problems).
- Oracle: lengths of varchar2 columns are restored (regression in 3.0.2).
- Prefs: size of recent documents menu can now be adjusted.
- Query Editor: when switching from text to visual mode, "select *" is no longer expanded to a list of all columns.
- Save Results & Export: column names can be included in an Excel export.
- Save Results: remembers last selected format.
- Save Results: new option to create new mail message with results attached (works with Mail, Eudora, Entourage).
- Schema Viewer: documents now remember size/number of browser columns.
- Schema Viewer: select print while a schema/database is selected now prints schema info for all child tables.
- Scripts menu now uses black icon ala Mail/Xcode.
- SQL Server: Query parser supports escaping the schema/user name so the Query Editor and Edit Table Data work when the user name contains non-standard characters and must be [quoted].
- SQL Server: stored procedure row results now displayed/returned.
- Spreadsheet: fixed bug when copying rows with null values.
- Spreadsheet: fixed bug when updating oracle rows with a FLOAT primary key value.
- Spreadsheet: fixed intermittent display glitch when resizing first column.
- Spreadsheet: Save Results As.. in the Query menu is now enabled.
Version 3.0.2
- Fixed bug introduced in 3.0.1 when saving password to keychain for the first time.
- Create Table Tool: fixed crashing bug when adding a column with servers that don't require database selection.
- FileMaker Synch: fixed bug with FM 7.0v2 when synching via AppleScript.
- FrontBase: fixed bug that would ocassionally stop row fetches after 10 rows.
- MySQL: fixed display problem with decimal data type definition.
- Oracle: numeric data is designated as FLOAT or DECIMAL if appropriate, otherwise NUMBER.
- Schema Viewer: correct column edited when columns have been re-sorted.
- Schema Viewer: column details now has an Unsigned column when working with MySQL.
- Schema Viewer: document remembers order/width of table showing column, index, relationship details.
- WebScript: fixed simple search bug on line 50 of generated page.
Version 3.0.1
- Fixed spreadsheet reload error.
- User warned that not possible when trying to view unparsed query in form view.
- Cancel button displayed while opening a new document actually works for Oracle and OpenBase.
- Scripts menu properly loads scripts in /Library/Scripts/MacSQL3 and ~/Library/Scripts/MacSQL3
- Documents now remember the size of the query drawer.
- Items can be renamed in the query drawer.
- Trailing and leading whitespace is removed from the name of queries added to the Query History.
- Fixed bug where passwords were sometimes stored in document instead of keychain.
- Keychain items are updated to match MacSQL3 instead of MacSQL 2.6.
- Fixed bug where clicking on a column name would scroll that column to the bottom of the browser.
- Fixed Query Editor bug when loading a query after an unparsable query was loaded.
- Fixed query parser bug related to functions that could cause a crash in Query Editor if asked to edit complex query with function calls.
- Fixed bug where spreadsheet got confused if multiple columns had the same name.
- Fixed display glitch when resizing last column of spreadsheet.
- Fixed bug that could cause a crash while quitting with a for view open.
- Fixed crashing bug when MySQL User Manager opened by user with no permission to read grant tables.
- Fixed bug where moving a query between two folders would fail and display alert.
- Data menu contains "Resize Columns" item that resizes spreadsheet columns to the size needed for the loaded data.
- Added preference to set minimum size for a column when Resize Columns is performed.
- Save Results As... now allows you to give the file any filename extension.
- OpenBase relationships now show the proper value fortoMany/toOne as defined in the database.
- WebScript Assistant now supports generating PHP for OpenBase.
- WebScript Assistant properly disables languages not supported for the current database type.
- WebScript Assistant Form Input template had a number of bugs fixed.
- WebScript Assistant now automatically matches form fields and columns that have the same names.
- Query Editor and parser now support "is null" and "is not null" where conditions.
- Query Editor text mode updates syntax coloring and button state as changes are made.