Columns should know their table
For example dbaccess::OSingleSelectQueryComposer::appendOrderByColumn expects it (via impl_getColumnName_throw via getTableAlias) There is some vagueness: Should the TableName property contain just the table name, or the *composed* table name (that is with catalog and/or schema if used by this DB)? In the case of a query, should it contain the table name (alias) *in* *the* *query* or of the original table? In the former case, what meaning do SchemaName and CatalogName have? They should be empty? For now, commit as such and deal with the fallout, if any, when it hits the fan. If we really need to store these *different* values, (that is, some code validly needs them) it would be easier / cleaner / ... to define *different* properties for these *different* notions. Change-Id: I032e619a60e7563cd51478db16cb5e0e5452bfde
This commit is contained in:
@@ -899,7 +899,8 @@ void OSQLParseTreeIterator::traverseCreateColumns(const OSQLParseNode* pSelectNo
|
||||
{
|
||||
//TODO:Create a new class for create statement to handle field length
|
||||
OParseColumn* pColumn = new OParseColumn(aColumnName,aTypeName,::rtl::OUString(),::rtl::OUString(),
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,nType,sal_False,sal_False,isCaseSensitive());
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,nType,sal_False,sal_False,isCaseSensitive(),
|
||||
::rtl::OUString(),::rtl::OUString(),::rtl::OUString());
|
||||
pColumn->setFunction(sal_False);
|
||||
pColumn->setRealName(aColumnName);
|
||||
|
||||
@@ -1500,7 +1501,10 @@ void OSQLParseTreeIterator::traverseParameter(const OSQLParseNode* _pParseNode
|
||||
nType,
|
||||
sal_False,
|
||||
sal_False,
|
||||
isCaseSensitive());
|
||||
isCaseSensitive(),
|
||||
::rtl::OUString(),
|
||||
::rtl::OUString(),
|
||||
::rtl::OUString());
|
||||
pColumn->setFunction(sal_True);
|
||||
pColumn->setAggregateFunction(sal_True);
|
||||
pColumn->setRealName(sFunctionName);
|
||||
@@ -1564,7 +1568,10 @@ void OSQLParseTreeIterator::traverseParameter(const OSQLParseNode* _pParseNode
|
||||
nType,
|
||||
sal_False,
|
||||
sal_False,
|
||||
isCaseSensitive() );
|
||||
isCaseSensitive(),
|
||||
::rtl::OUString(),
|
||||
::rtl::OUString(),
|
||||
::rtl::OUString());
|
||||
pColumn->setName(aNewColName);
|
||||
pColumn->setRealName(sParameterName);
|
||||
m_aParameters->get().push_back(pColumn);
|
||||
@@ -1707,7 +1714,10 @@ void OSQLParseTreeIterator::appendColumns(::rtl::Reference<OSQLColumns>& _rColum
|
||||
, getINT32(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)))
|
||||
, getBOOL(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT)))
|
||||
, getBOOL(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISCURRENCY)))
|
||||
, isCaseSensitive() );
|
||||
, isCaseSensitive()
|
||||
, getString(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_CATALOGNAME)))
|
||||
, getString(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCHEMANAME)))
|
||||
, getString(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TABLENAME))));
|
||||
|
||||
pColumn->setTableName(_rTableAlias);
|
||||
pColumn->setRealName(*pBegin);
|
||||
@@ -1785,7 +1795,10 @@ void OSQLParseTreeIterator::setSelectColumnName(::rtl::Reference<OSQLColumns>& _
|
||||
_nType,
|
||||
sal_False,
|
||||
sal_False,
|
||||
isCaseSensitive()
|
||||
isCaseSensitive(),
|
||||
::rtl::OUString(),
|
||||
::rtl::OUString(),
|
||||
::rtl::OUString()
|
||||
);
|
||||
|
||||
xNewColumn = pColumn;
|
||||
@@ -1799,7 +1812,8 @@ void OSQLParseTreeIterator::setSelectColumnName(::rtl::Reference<OSQLColumns>& _
|
||||
::rtl::OUString aNewColName(getUniqueColumnName(rColumnAlias));
|
||||
|
||||
OParseColumn* pColumn = new OParseColumn(aNewColName,::rtl::OUString(),::rtl::OUString(),::rtl::OUString(),
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,_nType,sal_False,sal_False,isCaseSensitive());
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,_nType,sal_False,sal_False,isCaseSensitive(),
|
||||
::rtl::OUString(),::rtl::OUString(),::rtl::OUString());
|
||||
pColumn->setFunction(sal_True);
|
||||
pColumn->setAggregateFunction(bAggFkt);
|
||||
pColumn->setRealName(rColumnName);
|
||||
@@ -1820,7 +1834,8 @@ void OSQLParseTreeIterator::setSelectColumnName(::rtl::Reference<OSQLColumns>& _
|
||||
::rtl::OUString aNewColName(getUniqueColumnName(rColumnAlias));
|
||||
|
||||
OParseColumn* pColumn = new OParseColumn(aNewColName,::rtl::OUString(),::rtl::OUString(),::rtl::OUString(),
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,_nType,sal_False,sal_False,isCaseSensitive());
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,_nType,sal_False,sal_False,isCaseSensitive(),
|
||||
::rtl::OUString(),::rtl::OUString(),::rtl::OUString());
|
||||
pColumn->setFunction(sal_True);
|
||||
pColumn->setAggregateFunction(bAggFkt);
|
||||
pColumn->setRealName(rColumnName);
|
||||
@@ -1857,7 +1872,8 @@ void OSQLParseTreeIterator::setSelectColumnName(::rtl::Reference<OSQLColumns>& _
|
||||
::rtl::OUString aNewColName(getUniqueColumnName(rColumnAlias));
|
||||
|
||||
OParseColumn* pColumn = new OParseColumn(aNewColName,::rtl::OUString(),::rtl::OUString(),::rtl::OUString(),
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,DataType::VARCHAR,sal_False,sal_False,isCaseSensitive());
|
||||
ColumnValue::NULLABLE_UNKNOWN,0,0,DataType::VARCHAR,sal_False,sal_False,isCaseSensitive(),
|
||||
::rtl::OUString(),::rtl::OUString(),::rtl::OUString());
|
||||
pColumn->setFunction(sal_True);
|
||||
pColumn->setAggregateFunction(bAggFkt);
|
||||
|
||||
|
Reference in New Issue
Block a user