TOYS TO DO List

The purpose of this page is to make you aware of what we are doing to or planning for TOYS. Additionally we hope to solicit some feedback from you so as to help shape the future direction of TOYS. Please email us with any suggestions [spare us the crass ones as we've all heard them] for improvement or even items you would like worked on ASAP.



Items Currently Being Worked On

  • Command line utility to perform catures and comparisons. This functionality will allow you to run a scheduled task at say midnight to capture and compare your databases and report any differences.

  • Support for partitioning in comparisons. There is currently little support for partitioning in comparisons. Due late 2008.

  • Support for partitioning in the synchronization facility.

  • Complete the synchronization facility. Currently the synchronization component is incomplete. Although the synchronization functionality was enabled in TOYS 1.0.24 a number of features are incomplete.

  • Complete the object re-naming dialog in the compare wizard. This feature is required for some of the synchronization functionality. It is currently disabled but should be completed soon.



Items To Be Included In Future Releases

The following items are ranked in order of importance. As new items are raised, they may "jump the queue". If you have a pressing need to see an item included in TOYS or need to improve the ranking of an existing item then email us and tell us your reasons. It is likely that others have similar issues. Your requests will influence us.

  • Fix the handling of materialized views. Currently the meta-data capture, DDL generation and comparison of materialized views is incomplete and sometimes invalid.

  • Support for replication. There is currently no support for replication.

  • Allow roles and referenced schemas to be excluded from the comparison. It is desirable to be able to optionally exclude roles and referenced schemas where they are simply a grantee.

  • Full support for object tables. Currently object tables are only partially supported.

  • Support for object views.

    TOYS currently handles relational views which contain columns based on object types. TOYS also captures object views but does not retrieve / handle the hidden columns. Thus if you compare schemas containing object views, the views correctly show up as absent / extra etc. but when two object views are matched and compared then the comparison results will be incomplete or wrong. Additionally, the generated DDL for object views is invalid.

  • Support for the capture and comparison of referenced user defined types (UDTs) that are external to the core schema. TOYS does not currently do this. To understand what the issue is here, suppose we are comparing two tables with UDT based columns. The column's data-types [UDTs in this case] are compared by comparing the [qualified] names of the UDTs. If the names [including owning schema] of the UDTs are the same then the data-types are deemed to be the same. When the UDTs exist in the core schema, they are compared in their own right, however, UDTs in external [i.e. non core] schema are not currently compared. This feature is required for both schema comparisons and to correctly synchronize schemas.

  • Support for table / view row level access policies in schema capture, schema comparisons and DDL generation. There is currently no support for these policies.

  • Support for index types. Domain indexes are currently supported but the underlying index types are not captured, compared or synchronized. We do not believe that it makes sense to attempt to synchronize index types but we need to captutre and compare them.

  • Completion of the schema reporting. Schema reporting was fully functional until about the end of March 2003 [I wasn't game to say April 1] when we chose to re-write it. The initial version directly generated the reports as HTML. In order to allow you to tailor the reports we chose to generate XML and to support translation using XSLT stylesheets. Because additional work was required on the XSLT processor handling we have delayed releasing this functionality.

  • Use of compression / caching techniques for internal storage of the large text objects. Currently UCS2 is used as the encoding for Unicode text. This is efficient for processing but requires two bytes per character. When this is combined with the strategy of loading all meta-data in a snapshot into memory it can place significant demands on available memory particularly when many schemas are loaded concurrently or a single schema's meta-data is very large [or both].

    Currently under design is a technique for caching large text objects such as view and program unit source. These items will be cached to temporary disk files.

  • Re-work the snapshot save dialog into a multi-page wizard. First page allows selection of the file. Subsequent pages are optional and will allow selection of schema, schema name translation and select of object types. Currently the schema name translation part of the dialog does nothing...to be completed.

  • Fix the creation order of views, types, program units in generated DDL so that these objects are created in dependency order. Currently, TOYS does not retrieve or use the dependency order as recorded in the Oracle® catalogs.

  • Re-work the compare wizard to allow for selection of a sub-set of schemas. Currently you have to compare all schemas in both snapshots.

  • An intro banner screen to welcome users to TOYS. This is a HTML form.

  • Add an export wizard allowing users to selectively export tables, views or queries. This is simply a wizard to generate an unload control file as input into our existing unload utility. This is the same unload utility we use for creating the synchronized archive. This component is dependent on an update of our database access library.

  • Support for outlines. There is currently no support for outlines.

    Are there many of you out there using outlines?

  • Add a better GUI to the synchronization wizard. The GUI interface for synchronization wizard lacks a lot of functionality which limits its real world application. For example, there is no way to selectively choose individual objects to be synchronized.

  • Upgrade our C++ database access library to use the Oracle® 8/9 OCI APIs. Currently our database access library uses the Oracle 7 OCI API. The Oracle 7 OCI API lacks the ability to read LOB data. The ability to read LOB data is necessary when exporting LOB data and thus is required by the Synchronized Archive facility in TOYS.

  • Complete and release the synchronized archive facility. The major impediment is the inability to read LOB data. We believe that the use of LOBs is so widespread that it would not feasible to release the synchronized update component until it supports export of LOB data.



Desirable Items That We Hope To Do Some Day

  • Internationalization. This will be for European counties only. We do not believe we have the resources to support Asian or middle-eastern localization.

  • Port to LINUX.

  • Support for other RDBMSs such as IBM® DB2 UDB, Microsoft® SQL Server, MySQL™, PostgeSQL, etc.



Suggested Items That We Do Not Intend To Add To TOYS.

  • None so far.


Top of Page