Bug 136261 Data Set Editor's Output Columns may fail to get Result Set Columns Definition
In the Data Set Editor, when a user selects the Output Columns page, the current implementation executes the data set query to obtain the result set meta data directly from the ODA runtime driver. This happens even when an ODA custom page has already provided the result set columns definition. Similar direct access is done for the Parameters (input and output)pages. At design-time, an ODA host designer should normally go through an ODA custom designer to obtain its data set design's metadata, including the result set columns and data set parameters definition. This is much more reliable than having an ODA host designer directly retrieve metadata from the ODA runtime driver, when an ODA custom designer knows better on how to properly obtain its metadata. For example, direct query execution to get result set metadata now fails when a result set must be identified by name; or when additional property values are needed. If the underlying data source has changed and affects the data set design, an user should go thru the ODA custom designer page first, which would then update the DataSetDesign metadata info. That means the metadata info used by the OutputColumns, Parameters and OutputParameters pages should first base on the updated data set handle's result set columns definition, etc. if available.
data/org.eclipse.birt.report.data.oda.jdbc.ui/src/org/eclipse/birt/report/data/oda/jdbc/ui/editors/SQLDataSetEditorPage.java
case DbType.TABLE_TYPE:
					type = DbType.TABLE_STRING;
					break;
				case DbType.VIEW_TYPE:
					type = DbType.VIEW_STRING;
					break;
				case DbType.PROCEDURE_TYPE:
					type = DbType.PROCEDURE_STRING;
					break;
			}
		}
		
		return type;
	}
	/**
	* @param item A tree Item which has to be tested
	* @return if the TreeItem represents a Schema node
	*/
	protected boolean isSchemaNode( TreeItem item )
	{
		if ( item != null && isSchemaSupported )
		{
			if (item.getParentItem() == rootNode)
			{
				return true;
			}
		}
		return false;
	}