<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Project Plan - datatools.sqltools</title><meta name="author" content="Bjorn Freeman-Benson" />
<meta name="keywords" content="" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" />
<!--[if IE]> 	<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]-->
<!--[if IE 6]> 	<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie6_style.css" media="screen"/> <![endif]-->
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" />
<script type="text/javascript" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
</head>
<body>
<div id="header">
	<div id="header-graphic" class="eclipse-main">
		<a href="http://www.eclipse.org/"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1>	
	</div>
	<div id="header-global-holder" class="eclipse-main-global">
		<div id="header-global-links"><ul>
<li><a href="http://www.eclipse.org/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="http://www.eclipse.org/legal/">Legal</a></li>
			</ul>
		</div>
		<div id="header-icons">
<a href="http://www.youtube.com/user/EclipseFdn" target="_blank"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse YouTube Channel" title="Eclipse YouTube Channel" /></a>
<a href="http://www.eclipseplugincentral.com"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a>
<a href="http://www.planeteclipse.org"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a>
		</div>
	</div></div><div id="header-menu"><div id="header-nav">
		<ul>
		<li><a class="first_one" href="http://www.eclipse.org/" target="_self">Home</a></li> 
				<li><a  href="http://www.eclipse.org/users/" target="_self">Users</a></li> 
				<li><a  href="http://www.eclipse.org/membership/" target="_self">Members</a></li> 
				<li><a  href="http://www.eclipse.org/committers/" target="_self">Committers</a></li> 
				<li><a  href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li> 
				<li><a  href="http://www.eclipse.org/resources/" target="_self">Resources</a></li> 
				<li><a  href="http://www.eclipse.org/projects/" target="_self">Projects</a></li> 
				<li><a  href="http://www.eclipse.org/org/" target="_self">About Us</a></li> 
				</ul>
	</div>
	<div id="header-utils">
		<form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s">
	 	<input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" />
  		<input type="text" name="q" size="25" />
  		<input type="submit" name="sa" value="Search" />
		</form>
		<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script>		<ul>
						<li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
		</ul>
	</div></div><div id="leftcol">
<ul id="leftnav">
<li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br />
</li>
</ul>

</div>
<div id="container"><style>
h2 {
	border-bottom: 2px solid gray;
}
h3 {
	border-bottom: 1px dotted gray;
}
</style>
<div xmlns="http://www.w3.org/1999/xhtml" id="rendered-plan">
  <div id="maincontent">
    <div id="midcolumn">
      <h1><span style="font-size: 140%">Project Plan For
                        <a href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools.sqltools">SQL Dev Tools</a></span>, version 1.7</h1>
      <div id="toc">
        <p>
          <a name="toc">
            <strong>Table of Contents</strong>
          </a>
        </p>
        <ul>
          <li>
            <a href="#introduction">Introduction</a>
          </li>
          <li>
            <a href="#release_deliverables">
                       Release Deliverables
                    </a>
          </li>
          <li>
            <a href="#release_milestones">
                       Release Milestones
                    </a>
          </li>
          <li>
            <a href="#target_environments">
                        Target Environments
                    </a>
          </li>
          <li>
            <a href="#compatibility">
                        Compatibility with Previous Releases
                    </a>
          </li>
          <li>
            <a href="#themes_and_priorities">
                        Themes and Priorities
                    </a>
          </li>
        </ul>
      </div>
      <h2>
        <a name="introduction">Introduction</a>
      </h2>
      <div>
     <p>"Data Tools" is a vast domain, yet there are a fairly small number of foundational 
     requirements when developing with or managing data-centric systems. A developer is 
     interested in an environment that is easy to configure, one in which the challenges of 
     application development are due to the problem domain, not the complexity of the tools employed. 
     Data management, whether by a developer working on an application, or an administrator maintaining 
     or monitoring a production system, should also provide a consistent, highly usable environment 
     that works well with associated technologies.</p>
     <p>The <a href="http://www.eclipse.org/datatools"><b>Data Tools Platform (DTP)</b></a>
project provides a set of frameworks and basic tools to enable data-centric development in a variety
of data types, including databases (via JDBC) and ODA data sources (for BIRT reporting). The frameworks
are open to allow common interfaces (both API and user interface) across different types of data.</p>
	 <p>DTP is broken into a number of sub-projects. This project plan focuses on the SQL Development Tools sub-project, which provides a set of frameworks and basic tools to handle management of database assets and SQL queries</p>
   </div>
      <h2>
        <a name="release_deliverables">Release Deliverables</a>
      </h2>
      <div>
   		DTP provides two main deliverables: one deliverable for developers, which includes 
   		source code, examples, and so on; and a user or runtime deliverable that just provides 
   		the basics for DTP use.  
    </div>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="release_milestones">Release Milestones</a>
      </h2>
      <p>The DTP project delivers a set of components to ease connecting to and working with data sources. Primarily DTP focuses on database (SQL development) work and ODA data sources for BIRT reporting.</p>
      <table border="1" align="center">
        <tr>
          <td>
            <b>M3</b>
          </td>
          <td>11/5/2008</td>
          <td>
            <div><p>
					Release Train M3 +1 Date (M3 GA on 11/19/08)
				</p>
	  		<p>(Note that this will be the DTP 1.6.2 M1 build for now until we branch Galileo sometime the week of November 10th)</p>
	  	</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M4</b>
          </td>
          <td>12/17/2008</td>
          <td>
            <div><p>
					Release Train M4 +1 Date (M4 GA on 1/12/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M5</b>
          </td>
          <td>2/3/2009</td>
          <td>
            <div><p>
					Release Train M5 +1 Date (M5 GA on 2/16/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M6</b>
          </td>
          <td>3/16/2009</td>
          <td>
            <div><p>
					Release Train M6 +1 Date (M6 GA on 3/23/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M7</b>
          </td>
          <td>5/4/2009</td>
          <td>
            <div><p>
					Release Train M7 +1 Date (M7 GA on 5/11/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC1</b>
          </td>
          <td>5/18/2009</td>
          <td>
            <div><p>
					Release Train RC1 +1 Date (RC1 GA on 5/25/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC2</b>
          </td>
          <td>5/25/2009</td>
          <td>
            <div><p>
					Release Train RC2 +1 Date (RC2 GA on 6/1/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC3</b>
          </td>
          <td>6/1/2009</td>
          <td>
            <div><p>
					Release Train RC3 +1 Date (RC3 GA on 6/8/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC4</b>
          </td>
          <td>6/8/2009</td>
          <td>
            <div><p>
					Release Train RC4 +1 Date (RC4 GA on 6/15/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC5</b>
          </td>
          <td>6/15/2009</td>
          <td>
            <div><p>
					Release Train RC5 +1 Date (Galileo GA on 6/26/09)
				</p>
			</div>
          </td>
        </tr>
      </table>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="target_environments">Target Environments</a>
      </h2>
      <div>
   <p>See the main Datatools plan for target environment details.</p>
    </div>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="compatibility">Compatibility with Previous Releases</a>
      </h2>
      <div>
<p>The goal of this release is to be backward compatible back to DTP 1.6.</p>
    </div>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="themes_and_priorities">Themes and Priorities</a>
      </h2>
      <p>The SQL Dev Tools sub-project will work on the following themes and priority for the DTP Galileo release.</p>
      <p>(Note that "committed" items have the "plan" keyword in the BZ entry. "Proposed" items do not.)</p>
      <h3>Multi-page SQL Schema Editor Framework and exemplary implementations for Sybase ASA in enablement project(pending resource availability)</h3>
      <p>The following items should be considered...</p>
      <ul>
	        	<li>Multi-page Schema Editor GUI Framework and the generic preference pages</li>
		        <li><p>Concrete exemplary schema implementations for Sybase ASA including the following (pending resource availability)</p>
		        	<ul>
		        		<li>Table Schema Editor </li>
		        		<li>Index Editor  </li>
		        		<li>Stored Procedure editor  </li>
		        		<li>User Defined Function editor  </li>
		        		<li>User Defined Type editor  </li>
		        		<li>Constraint/Rule editor  </li>
		        	</ul>
		        </li>
	        </ul>
      <h3>SQL Editor Framework/SQL File related</h3>
      <h3>SQL Results view bug fixing</h3>
      <h3>SQL Query Plan view bug fixing</h3>
      <h3>Sybase Enablement project related bugs</h3>
      <h3>Non-SQL Query Builder Bugzilla queries</h3>
      <ul>
        <li>
          <b>Committed</b>
          <ul>
            <li>UI code should be separated from editor.core plugin [<a href="http://bugs.eclipse.org/252005">252005</a>] (target milestone: Galileo)</li>
          </ul>
        </li>
      </ul>
      <ul>
        <li>
          <b>Proposed</b>
          <ul>
            <li>SQL GenModel doesn't exist in packaged plug-in [<a href="http://bugs.eclipse.org/234800">234800</a>] (target milestone: Galileo)</li>
            <li>BinaryStringDataType produce CHAR FOR BIT DATA (without length) [<a href="http://bugs.eclipse.org/244751">244751</a>] (target milestone: Galileo)</li>
            <li>API request for Column.isAutoIncrement() [<a href="http://bugs.eclipse.org/250023">250023</a>] (target milestone: Galileo)</li>
            <li>Error logged when save and close a scrapbook to a sql file [<a href="http://bugs.eclipse.org/241618">241618</a>] (target milestone: Galileo)</li>
            <li>Enhance DTP User Tooling [<a href="http://bugs.eclipse.org/247184">247184</a>] (target milestone: Galileo)</li>
            <li>SQL Editor auto format [<a href="http://bugs.eclipse.org/170602">170602</a>] (target milestone: Galileo)</li>
            <li>Overloading Function names [<a href="http://bugs.eclipse.org/171718">171718</a>] (target milestone: Galileo)</li>
            <li>execute current statement [<a href="http://bugs.eclipse.org/185501">185501</a>] (target milestone: Galileo)</li>
            <li>Editor does not inherit from STD text editors - specifically tabs [<a href="http://bugs.eclipse.org/217923">217923</a>] (target milestone: Galileo)</li>
            <li>SQLToolsFacade doesn't recognise SQL server versions correctly [<a href="http://bugs.eclipse.org/244180">244180</a>] (target milestone: Galileo)</li>
            <li>Generic SQL parser doesn't treat GO as delimiter [<a href="http://bugs.eclipse.org/244251">244251</a>] (target milestone: Galileo)</li>
            <li>SQL Editor incorrectly specifies version number for open connections [<a href="http://bugs.eclipse.org/244577">244577</a>] (target milestone: Galileo)</li>
            <li>SQL Statement Editor cannot save the content. [<a href="http://bugs.eclipse.org/244682">244682</a>] (target milestone: Galileo)</li>
            <li>Scrollbar doesn't work in the grid mode [<a href="http://bugs.eclipse.org/245484">245484</a>] (target milestone: Galileo)</li>
            <li>ResultExportWizard throws NPE when outputter.output throws Exception [<a href="http://bugs.eclipse.org/246106">246106</a>] (target milestone: Galileo)</li>
            <li>SOE:Lost line focus after saving [<a href="http://bugs.eclipse.org/246180">246180</a>] (target milestone: Galileo)</li>
            <li>Remember result tab while iterating through results [<a href="http://bugs.eclipse.org/254488">254488</a>] (target milestone: Galileo)</li>
            <li>Multi-page SQL Schema Editor Framework &amp; exemplary implementations for Sybase ASA in enablement project [<a href="http://bugs.eclipse.org/256368">256368</a>] (target milestone: Galileo)</li>
            <li>poor error handling in datatools when browser can't be started [<a href="http://bugs.eclipse.org/221362">221362</a>] (target milestone: Galileo)</li>
            <li>Show the elapsed run time of a SQL [<a href="http://bugs.eclipse.org/231401">231401</a>] (target milestone: Galileo)</li>
            <li>Add ability to select individual cells in the Results View and copy to clipboard [<a href="http://bugs.eclipse.org/243778">243778</a>] (target milestone: Galileo)</li>
            <li>sql editor opens by default [<a href="http://bugs.eclipse.org/220318">220318</a>] (target milestone: Galileo)</li>
            <li>postgresql code assist didn't work in SQL File Editor [<a href="http://bugs.eclipse.org/237037">237037</a>] (target milestone: Galileo)</li>
            <li>Support for auto-commit and commit/rollback buttons [<a href="http://bugs.eclipse.org/243779">243779</a>] (target milestone: Galileo)</li>
            <li>Inconsistent behavior on execution [<a href="http://bugs.eclipse.org/221845">221845</a>] (target milestone: Galileo)</li>
            <li>RoutineEditor to open different SQL Objects with same name [<a href="http://bugs.eclipse.org/199353">199353</a>] (target milestone: Galileo)</li>
          </ul>
        </li>
      </ul>
      <h3>SQL Query Builder related</h3>
      <ul>
        <li>
          <b>Committed</b>
          <ul>
            <li>
              <div>No items.</div>
            </li>
          </ul>
        </li>
      </ul>
      <ul>
        <li>
          <b>Proposed</b>
          <ul>
            <li>Column names do not appear when launched from editor [<a href="http://bugs.eclipse.org/220431">220431</a>] (target milestone: Galileo)</li>
            <li>Integration with DTP SQLEditor [<a href="http://bugs.eclipse.org/202590">202590</a>] (target milestone: Galileo)</li>
            <li>Enablement: SQL Dialect Support / Extensibility [<a href="http://bugs.eclipse.org/202592">202592</a>] (target milestone: Galileo)</li>
            <li>Enablement: User-Interface Enablement [<a href="http://bugs.eclipse.org/202593">202593</a>] (target milestone: Galileo)</li>
            <li>Improve Core UI [<a href="http://bugs.eclipse.org/202596">202596</a>] (target milestone: Galileo)</li>
            <li>Easy Access to Database objects [<a href="http://bugs.eclipse.org/202597">202597</a>] (target milestone: Galileo)</li>
            <li>Add tabbed properties pane [<a href="http://bugs.eclipse.org/202598">202598</a>] (target milestone: Galileo)</li>
            <li>Improve handling of  quoted identifiers [<a href="http://bugs.eclipse.org/202601">202601</a>] (target milestone: Galileo)</li>
            <li>support: comments in source [<a href="http://bugs.eclipse.org/202602">202602</a>] (target milestone: Galileo)</li>
            <li>support: mix of qualified and unqualified identifiers [<a href="http://bugs.eclipse.org/202603">202603</a>] (target milestone: Galileo)</li>
            <li>Allow cancel of SQL execution [<a href="http://bugs.eclipse.org/202604">202604</a>] (target milestone: Galileo)</li>
            <li>support: SQL subqueries [<a href="http://bugs.eclipse.org/202605">202605</a>] (target milestone: Galileo)</li>
            <li>support: INTERSECT, EXCEPT [<a href="http://bugs.eclipse.org/202606">202606</a>] (target milestone: Galileo)</li>
            <li>Define and implement connection strategy [<a href="http://bugs.eclipse.org/206756">206756</a>] (target milestone: Galileo)</li>
            <li>Enablement: host variable support [<a href="http://bugs.eclipse.org/216556">216556</a>] (target milestone: Galileo)</li>
            <li>Minimize dependencies for packaging in a RCP application [<a href="http://bugs.eclipse.org/225009">225009</a>] (target milestone: Galileo)</li>
          </ul>
        </li>
      </ul>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
    </div>
  </div>
</div>
<div style="visibility: hidden; float: right; text-align: right"><a href="?projectid=datatools.sqltools&raw=1">view raw xml of project plan</a><br>
<a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure.php">from project meta-data key "projectplanurl"</a></div>

</div> <!-- midcolumn -->
</div> <!-- maincontent -->
		<script type="text/javascript">
		var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
		document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
		</script>
		<script type="text/javascript">
		var pageTracker = _gat._getTracker("UA-910670-2");
		pageTracker._initData();
		pageTracker._trackPageview();
		</script></div><div id="footer">
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a><a href="http://www.eclipse.org/org/press-release/20081112_termsofuse.php"><img src="http://www.eclipse.org/images/updated.png" align="absmiddle" /></a></li>
</ul>
<p>Copyright &copy; 2008 The Eclipse Foundation. All Rights Reserved</p>
</div></body></html>