summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej J.R. Hunt <andrzej@ahunt.org>2013-09-11 10:03:58 +0100
committerAndrzej J.R. Hunt <andrzej@ahunt.org>2013-09-11 18:40:43 +0100
commit00d3a96936acba0032caaf01b4eb466849564708 (patch)
tree183260476e027211f3e718dc72799796d1bf1327
parent9ae206996dfdc4ec229db37622a362121b39abe4 (diff)
Don't format integers as currency by default. (firebird-sdbc)
Change-Id: I228bb9f5d1121c1e328daa3d677cc54254255beb
-rw-r--r--connectivity/source/drivers/firebird/DatabaseMetaData.cxx13
1 files changed, 5 insertions, 8 deletions
diff --git a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
index b7e1a5cb010a..0c113b4057da 100644
--- a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
+++ b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
@@ -874,6 +874,11 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[7] = new ORowSetValueDecorator(sal_Bool(true)); // Nullable
aRow[8] = new ORowSetValueDecorator(sal_Bool(true)); // Case sensitive
aRow[10] = new ORowSetValueDecorator(sal_Bool(false)); // Is unsigned
+ // FIXED_PREC_SCALE: docs state "can it be a money value? " however
+ // in reality this causes Base to treat all numbers as money formatted
+ // by default which is wrong (and formatting as money value is still
+ // possible for all values).
+ aRow[11] = new ORowSetValueDecorator(sal_False);
// Localised Type Name -- TODO: implement (but can be null):
aRow[13] = new ORowSetValueDecorator();
aRow[16] = new ORowSetValueDecorator(); // Unused
@@ -889,7 +894,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(OUString("length")); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(true)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(false)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale
@@ -902,7 +906,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(OUString("length")); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(true)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(false)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale
@@ -913,7 +916,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(true)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(true)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale
@@ -939,7 +941,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(true)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(true)); // Autoincrement
}
// SQL_FLOAT
@@ -973,7 +974,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(false)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(false)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale
@@ -987,7 +987,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(false)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(false)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale
@@ -1001,7 +1000,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::FULL)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(false)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(false)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale
@@ -1015,7 +1013,6 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo()
aRow[6] = new ORowSetValueDecorator(); // Create Params
aRow[9] = new ORowSetValueDecorator(
sal_Int16(ColumnSearch::NONE)); // Searchable
- aRow[11] = new ORowSetValueDecorator(sal_Bool(false)); // Can be money value
aRow[12] = new ORowSetValueDecorator(sal_Bool(false)); // Autoincrement
aRow[14] = ODatabaseMetaDataResultSet::get0Value(); // Minimum scale
aRow[15] = ODatabaseMetaDataResultSet::get0Value(); // Max scale