Modified:
MYODBCRes/MYODBCResLib/MYODBCRes.cpp
MYODBCRes/MYODBCResLib/MYODBCResDriver.cpp
MYODBCRes/MYODBCResLib/MYODBCResLib.pro
MYODBCRes/MYODBCResLib/MYODBCResServer.cpp
MYODBCRes/include/MYODBCRes.h
MYODBCRes/include/MYODBCResDriver.h
MYODBCRes/include/MYODBCResServer.h
Log:
UNICODE:
- start using new MYODBCAttStatement in MYODBCRes stuff
Modified: MYODBCRes/MYODBCResLib/MYODBCRes.cpp
===================================================================
--- MYODBCRes/MYODBCResLib/MYODBCRes.cpp 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/MYODBCResLib/MYODBCRes.cpp 2006-01-27 05:46:29 UTC (rev 50)
@@ -43,15 +43,13 @@
\sa MYODBCResFree
*/
-MYODBCRes::MYODBCRes( MYODBCDia *pdia, MYODBCDes *pdesIRD, MYSQL *pmysql )
+MYODBCRes::MYODBCRes( MYODBCAttStatement *patt, MYSQL *pmysql )
{
MYODBCDbgEnter();
- Q_ASSERT( !pdia );
- Q_ASSERT( !pdesIRD );
+ Q_ASSERT( !patt );
- this->pdia = pdia;
- this->pdesIRD = pdesIRD;
+ this->patt = patt;
this->pmysql = pmysql;
MYODBCDbgReturn2();
@@ -64,20 +62,48 @@
MYODBCDbgReturn2();
}
-MYODBCDes * MYODBCRes::getDesIRD()
+MYODBCDes * MYODBCRes::getAppParamDesc()
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%p", pdesIRD );
+ MYODBCDbgReturn3( "%p", patt->getAppParamDesc() );
}
+MYODBCDes * MYODBCRes::getAppRowDesc()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", patt->getAppRowDesc() );
+}
+
+MYODBCDes * MYODBCRes::getImpParamDesc()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", patt->getImpParamDesc() );
+}
+
+MYODBCDes * MYODBCRes::getImpRowDesc()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", patt->getImpRowDesc() );
+}
+
+MYODBCDia * MYODBCRes::getDia()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", patt->getDia() );
+}
+
bool MYODBCRes::isValidColumn( uint nColumn )
{
bool b;
MYODBCDbgEnter();
- b = ( nColumn <= (uint)pdesIRD->getCount() );
+ b = ( nColumn <= (uint)getImpRowDesc()->getCount() );
MYODBCDbgReturn3( "%d", b );
}
Modified: MYODBCRes/MYODBCResLib/MYODBCResDriver.cpp
===================================================================
--- MYODBCRes/MYODBCResLib/MYODBCResDriver.cpp 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/MYODBCResLib/MYODBCResDriver.cpp 2006-01-27 05:46:29 UTC (rev 50)
@@ -1,7 +1,7 @@
#include "MYODBCResInternal.h"
-MYODBCResDriver::MYODBCResDriver( MYODBCDia *pdia, MYODBCDes *pdesIRD, MYSQL *pmysql )
- : MYODBCRes( pdia, pdesIRD, pmysql )
+MYODBCResDriver::MYODBCResDriver( MYODBCAttStatement *patt, MYSQL *pmysql )
+ : MYODBCRes( patt, pmysql )
{
MYODBCDbgEnter();
@@ -48,7 +48,7 @@
Q_ASSERT( !pnColumns );
- *pnColumns = pdesIRD->getCount();
+ *pnColumns = getImpRowDesc()->getCount();
MYODBCDbgReturn( SQL_SUCCESS );
}
@@ -95,7 +95,7 @@
MYODBCDbgEnter();
/* allocate row - no bookmark column allocated */
- listResults.append( QVector<QVariant>( pdesIRD->getCount() - 1 ) );
+ listResults.append( QVector<QVariant>( getImpRowDesc()->getCount() - 1 ) );
nRow = listResults.count();
MYODBCDbgReturn( SQL_SUCCESS );
@@ -126,7 +126,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Execute a statement is not
relevant for driver generated resultsets." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Execute a statement is
not relevant for driver generated resultsets." ) );
}
SQLRETURN MYODBCResDriver::doFirst()
@@ -152,11 +152,11 @@
if ( nRow == 0 )
{
- listResults.insert( nRow, QVector<QVariant>( pdesIRD->getCount() - 1 )
);
+ listResults.insert( nRow, QVector<QVariant>( getImpRowDesc()->getCount()
- 1 ) );
doFirst();
}
else
- listResults.insert( nRow - 1, QVector<QVariant>( pdesIRD->getCount() - 1
) );
+ listResults.insert( nRow - 1, QVector<QVariant>(
getImpRowDesc()->getCount() - 1 ) );
MYODBCDbgReturn( SQL_SUCCESS );
}
@@ -190,7 +190,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Prepare a statement is not
relevant for driver generated resultsets." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Prepare a statement is
not relevant for driver generated resultsets." ) );
}
SQLRETURN MYODBCResDriver::doPrev()
Modified: MYODBCRes/MYODBCResLib/MYODBCResLib.pro
===================================================================
--- MYODBCRes/MYODBCResLib/MYODBCResLib.pro 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/MYODBCResLib/MYODBCResLib.pro 2006-01-27 05:46:29 UTC (rev 50)
@@ -13,6 +13,7 @@
INCLUDEPATH += ../../MYODBCRtti/include
INCLUDEPATH += ../../MYODBCDia/include
INCLUDEPATH += ../../MYODBCDes/include
+INCLUDEPATH += ../../MYODBCAtt/include
include( ../../mysql.pri )
Modified: MYODBCRes/MYODBCResLib/MYODBCResServer.cpp
===================================================================
--- MYODBCRes/MYODBCResLib/MYODBCResServer.cpp 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/MYODBCResLib/MYODBCResServer.cpp 2006-01-27 05:46:29 UTC (rev 50)
@@ -1,7 +1,7 @@
#include "MYODBCResInternal.h"
-MYODBCResServer::MYODBCResServer( MYODBCDia *pdia, MYODBCDes *pdesIRD, MYSQL *pmysql )
- : MYODBCRes( pdia, pdesIRD, pmysql )
+MYODBCResServer::MYODBCResServer( MYODBCAttStatement *patt, MYSQL *pmysql )
+ : MYODBCRes( patt, pmysql )
{
MYODBCDbgEnter();
@@ -24,18 +24,18 @@
MYODBCDbgEnter();
if ( !isValidRow() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
if ( !isValidColumn( nColumn ) )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid column." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid column." )
);
// can not write this column (and it does not really exist anyway as bookmark is row
num)
if ( nColumn == 0 )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid column.
Bookmark column is read-only." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid column.
Bookmark column is read-only." ) );
/*! \todo */
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "setData not supported here
at this time." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "setData not supported
here at this time." ) );
}
SQLRETURN MYODBCResServer::setRow( qulonglong nRow )
@@ -43,12 +43,12 @@
MYODBCDbgEnter();
if ( !isValidRow() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
if ( bBuffered )
{
if ( !isValidRow() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." )
);
mysql_stmt_data_seek( pstm, nRow );
@@ -65,9 +65,9 @@
Q_ASSERT( !pnColumns );
if ( stringStatement.isEmpty() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, "No statement prepared."
) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, "No statement
prepared." ) );
- *pnColumns = pdesIRD->getCount();
+ *pnColumns = getImpRowDesc()->getCount();
MYODBCDbgReturn( SQL_SUCCESS );
}
@@ -77,17 +77,17 @@
MYODBCDbgEnter();
if ( !isValidRow() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid row." ) );
if ( !isValidColumn( nColumn ) )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Invalid column." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Invalid column." )
);
if ( nColumn == 0 )
variantData = nRow; // bookmark is row num - obvious limitations apply
else
variantData = xxxx;
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "getData not supported here
yet - use SELECT with bound columns." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "getData not supported
here yet - use SELECT with bound columns." ) );
}
SQLRETURN MYODBCResServer::getRow( qulonglong *pnRow )
@@ -97,7 +97,7 @@
Q_ASSERT( !pnRow );
if ( stringStatement.isEmpty() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, "No statement prepared."
) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, "No statement
prepared." ) );
*pnRow = nRow;
@@ -111,7 +111,7 @@
Q_ASSERT( !pnRow );
if ( stringStatement.isEmpty() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, "No statement prepared."
) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, "No statement
prepared." ) );
*pnRows = mysql_stmt_num_rows( pstm );
@@ -122,14 +122,14 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "doAppend not supported here
at this time." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "doAppend not supported
here at this time." ) );
}
SQLRETURN MYODBCResServer::doClear()
{
MYODBCDbgEnter();
- pdesIRD->doClear();
+ getImpRowDesc()->doClear();
mysql_stmt_close( pstm );
doInit();
@@ -142,7 +142,7 @@
Q_ASSERT( !isValidRow() );
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "doDelete not supported here
at this time." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "doDelete not supported
here at this time." ) );
}
SQLRETURN MYODBCResServer::doExecute()
@@ -150,18 +150,18 @@
MYODBCDbgEnter();
if ( !pstmt )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, NULL ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, NULL ) );
if ( stringStatement.isEmpty() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, NULL ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, NULL ) );
if ( mysql_stmt_execute( pstm ) )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm ),
mysql_stmt_error( pstm ) ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm
), mysql_stmt_error( pstm ) ) );
if ( bBuffered )
{
if ( mysql_stmt_store_result( pstm ) )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm
), mysql_stmt_error( pstm ) ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno(
pstm ), mysql_stmt_error( pstm ) ) );
}
MYODBCDbgReturn( SQL_SUCCESS );
@@ -188,11 +188,11 @@
if ( nRow == 0 )
{
- listResults.insert( nRow, QVector<QVariant>( pdesIRD->getCount() - 1 )
);
+ listResults.insert( nRow, QVector<QVariant>( getImpRowDesc()->getCount()
- 1 ) );
doFirst();
}
else
- listResults.insert( nRow - 1, QVector<QVariant>( pdesIRD->getCount() - 1
) );
+ listResults.insert( nRow - 1, QVector<QVariant>(
getImpRowDesc()->getCount() - 1 ) );
MYODBCDbgReturn( SQL_SUCCESS );
}
@@ -202,7 +202,7 @@
MYODBCDbgEnter();
if ( stringStatement.isEmpty() )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, "No statement prepared."
) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, "No statement
prepared." ) );
++++
nRow = listResults.count();
@@ -231,13 +231,13 @@
MYODBCDbgEnter();
if ( !pstmt )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY010, 0, NULL ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY010, 0, NULL ) );
/* not prepared */
this->stringStatement = QString::null;
if ( mysql_stmt_prepare( pstm, stringStatement, stringStatement.length() ) )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm ),
mysql_stmt_error( pstm ) ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm
), mysql_stmt_error( pstm ) ) );
/* now we are prepared */
this->stringStatement = stringStatement;
@@ -326,13 +326,13 @@
MYODBCDbgEnter();
- pdesIRD->doClear();
+ getImpRowDesc()->doClear();
pMetaData = mysql_stmt_result_metadata( pstm );
if ( !pMetaData )
{
if ( mysql_stmt_error( pstm ) )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm
), mysql_stmt_error( pstm ) ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno(
pstm ), mysql_stmt_error( pstm ) ) );
else
MYODBCDbgReturn( SQL_SUCCESS );
}
@@ -344,7 +344,7 @@
unsigned int nField;
MYSQL_FIELD * pField;
- pdesIRD->setCount( nFields, true );
+ getImpRowDesc()->setCount( nFields, true );
pstm->pbindColumns = MYODBCCCalloc( nFields, sizeof(MYSQL_BIND) );
@@ -356,7 +356,7 @@
if ( !SQL_SUCCEEDED( nReturn ) )
{
mysql_free_result( pMetaData );
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Failed to store
field descriptor information." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Failed to
store field descriptor information." ) );
}
/*
@@ -371,7 +371,7 @@
if ( mysql_stmt_bind_result( pstm, pstm->pbindColumns ) )
{
- pdia->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm ),
mysql_stmt_error( pstm ) );
+ getDia()->doAppend( MYODBC_DIA_HY000, mysql_stmt_errno( pstm ),
mysql_stmt_error( pstm ) );
mysql_free_result( pMetaData );
MYODBCDbgReturn( SQL_ERROR );
}
@@ -385,7 +385,7 @@
MYODBCDbgEnter();
if ( !pField )
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, "Failed to store field
descriptor information." ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, "Failed to store
field descriptor information." ) );
/*
WARNING!!!
@@ -411,40 +411,40 @@
cases the values set here are replaced depending upon the type -
but only sometimes.
*/
- pdesIRD->setAutoUniqueValue( nField, (pField->flags &&
AUTO_INCREMENT_FLAG) ? SQL_TRUE : SQL_FALSE ) );
- pdesIRD->setBaseColumnName( nField, (pField->org_name ? pField->org_name :
"") );
- pdesIRD->setBaseTableName( nField, (pField->org_table ? pField->org_table :
"") );
- pdesIRD->setCaseSensitive( nField, (pField->flags & BINARY_FLAG ? SQL_FALSE
: SQL_TRUE) );
- pdesIRD->setCatalogName( nField, (pField->catalog ? pField->catalog : "") );
-/* pdesIRD->setconcise_type; - type specific */
-/* pdesIRD->setdata_ptr; - N/A */
-/* pdesIRD->setdatetime_interval_code; - type specific */
- pdesIRD->setDatetimeIntervalPrecision( nField, 10 ); /* this is a
conservative guess - not sure what precision we get when we diff 2 times */
- pdesIRD->setDisplaySize( nField, pField->max_length ); /* - also type
specific */
- pdesIRD->setFixedPrecScale( nField, SQL_FALSE ); /* - also type
specific */
-/* pdesIRD->setindicator_ptr; - N/A */
- pdesIRD->setLabel( nField, pField->name );
-/* pdesIRD->setlength; - type specific */
-/* pdesIRD->setliteral_prefix; - type specific */
-/* pdesIRD->setliteral_suffix; - type specific */
- pdesIRD->setLocalTypeName( nField, "" );
- pdesIRD->setName( nField pField->name );
- pdesIRD->setNullable( nField, ((pField->flags && NOT_NULL_FLAG) ?
SQL_NO_NULLS : SQL_NULLABLE) );
-/* pdesIRD->setnum_prec_radix; - type specific */
-/* pdesIRD->setoctet_length; - type specific */
-/* pdesIRD->setoctet_length_ptr; - N/A */
-/* pdesIRD->setparamter_type; - N/A */
-/* pdesIRD->setprecision; - type specific */
- pdesIRD->setRowver( nField, SQL_FALSE ); /* - also type specific */
- pdesIRD->setScale( nField, pField->decimals );
- pdesIRD->setSchemaName( nField, pField->db );
- pdesIRD->setSearchable( nField, SQL_PRED_SEARCHABLE );
- pdesIRD->setTableName( nField, pField->table );
-/* pdesIRD->settype; - type specific */
-/* pdesIRD->settype_name; - type specific */
- pdesIRD->setUnnamed( nField, SQL_NAMED );
- pdesIRD->setUnsigned( nField, (pField->flags & UNSIGNED_FLAG ? SQL_TRUE :
SQL_FALSE) );
- pdesIRD->setUpdatable( nField, (pField->table && pField->table[0] ?
SQL_ATTR_READWRITE_UNKNOWN : SQL_ATTR_READONLY) );
+ getImpRowDesc()->setAutoUniqueValue( nField, (pField->flags &&
AUTO_INCREMENT_FLAG) ? SQL_TRUE : SQL_FALSE ) );
+ getImpRowDesc()->setBaseColumnName( nField, (pField->org_name ?
pField->org_name : "") );
+ getImpRowDesc()->setBaseTableName( nField, (pField->org_table ?
pField->org_table : "") );
+ getImpRowDesc()->setCaseSensitive( nField, (pField->flags & BINARY_FLAG ?
SQL_FALSE : SQL_TRUE) );
+ getImpRowDesc()->setCatalogName( nField, (pField->catalog ? pField->catalog
: "") );
+/* getImpRowDesc()->setconcise_type; - type specific */
+/* getImpRowDesc()->setdata_ptr; - N/A */
+/* getImpRowDesc()->setdatetime_interval_code; - type specific */
+ getImpRowDesc()->setDatetimeIntervalPrecision( nField, 10 ); /* this is a
conservative guess - not sure what precision we get when we diff 2 times */
+ getImpRowDesc()->setDisplaySize( nField, pField->max_length ); /* - also type
specific */
+ getImpRowDesc()->setFixedPrecScale( nField, SQL_FALSE ); /* - also type
specific */
+/* getImpRowDesc()->setindicator_ptr; - N/A */
+ getImpRowDesc()->setLabel( nField, pField->name );
+/* getImpRowDesc()->setlength; - type specific */
+/* getImpRowDesc()->setliteral_prefix; - type specific */
+/* getImpRowDesc()->setliteral_suffix; - type specific */
+ getImpRowDesc()->setLocalTypeName( nField, "" );
+ getImpRowDesc()->setName( nField pField->name );
+ getImpRowDesc()->setNullable( nField, ((pField->flags && NOT_NULL_FLAG)
? SQL_NO_NULLS : SQL_NULLABLE) );
+/* getImpRowDesc()->setnum_prec_radix; - type specific */
+/* getImpRowDesc()->setoctet_length; - type specific */
+/* getImpRowDesc()->setoctet_length_ptr; - N/A */
+/* getImpRowDesc()->setparamter_type; - N/A */
+/* getImpRowDesc()->setprecision; - type specific */
+ getImpRowDesc()->setRowver( nField, SQL_FALSE ); /* - also type
specific */
+ getImpRowDesc()->setScale( nField, pField->decimals );
+ getImpRowDesc()->setSchemaName( nField, pField->db );
+ getImpRowDesc()->setSearchable( nField, SQL_PRED_SEARCHABLE );
+ getImpRowDesc()->setTableName( nField, pField->table );
+/* getImpRowDesc()->settype; - type specific */
+/* getImpRowDesc()->settype_name; - type specific */
+ getImpRowDesc()->setUnnamed( nField, SQL_NAMED );
+ getImpRowDesc()->setUnsigned( nField, (pField->flags & UNSIGNED_FLAG ?
SQL_TRUE : SQL_FALSE) );
+ getImpRowDesc()->setUpdatable( nField, (pField->table &&
pField->table[0] ? SQL_ATTR_READWRITE_UNKNOWN : SQL_ATTR_READONLY) );
/*
set type specific values here
@@ -462,310 +462,310 @@
switch ( pField->type )
{
case MYSQL_TYPE_BLOB:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
if ( pField->flags & BINARY_FLAG )
{
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setTypeName( nField, "blob" );
- pdesIRD->setConciseType( nField, SQL_LONGVARBINARY );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setTypeName( nField, "blob" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARBINARY );
}
else
{
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setTypeName( nField, "text" );
- pdesIRD->setConciseType( nField, SQL_LONGVARCHAR );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setTypeName( nField, "text" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARCHAR );
}
break;
case MYSQL_TYPE_DATE:
- pdesIRD->setDisplaySize( nField, 10 );
- pdesIRD->setLength( nField, 10 );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setPrecision( nField, 10 );
- pdesIRD->setTypeName( nField, "date" );
- pdesIRD->setConciseType( nField, SQL_TYPE_DATE );
+ getImpRowDesc()->setDisplaySize( nField, 10 );
+ getImpRowDesc()->setLength( nField, 10 );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setPrecision( nField, 10 );
+ getImpRowDesc()->setTypeName( nField, "date" );
+ getImpRowDesc()->setConciseType( nField, SQL_TYPE_DATE );
break;
case MYSQL_TYPE_DATETIME:
- pdesIRD->setDisplaySize( nField, 19 );
- pdesIRD->setLength( nField, 19 );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setPrecision( nField, 19 );
- pdesIRD->setTypeName( nField, "datetime" );
- pdesIRD->setConciseType( nField, SQL_TYPE_TIMESTAMP );
+ getImpRowDesc()->setDisplaySize( nField, 19 );
+ getImpRowDesc()->setLength( nField, 19 );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setPrecision( nField, 19 );
+ getImpRowDesc()->setTypeName( nField, "datetime" );
+ getImpRowDesc()->setConciseType( nField, SQL_TYPE_TIMESTAMP );
break;
case MYSQL_TYPE_DECIMAL:
- pdesIRD->setDisplaySize( nField, max( pField->length,
pField->max_length ) - test( !( pField->flags & UNSIGNED_FLAG ) ) - test(
pField->decimals ) );
- pdesIRD->setFixedPrecScale( nField, pField->decimals ? SQL_TRUE :
SQL_FALSE );
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 10 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)max( pField->length,
pField->max_length ) - test( !( pField->flags & UNSIGNED_FLAG ) ) - test(
pField->decimals ) );
- pdesIRD->setTypeName( nField, "decimal" );
- pdesIRD->setConciseType( nField, SQL_DECIMAL );
+ getImpRowDesc()->setDisplaySize( nField, max( pField->length,
pField->max_length ) - test( !( pField->flags & UNSIGNED_FLAG ) ) - test(
pField->decimals ) );
+ getImpRowDesc()->setFixedPrecScale( nField, pField->decimals ? SQL_TRUE
: SQL_FALSE );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 10 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)max(
pField->length, pField->max_length ) - test( !( pField->flags &
UNSIGNED_FLAG ) ) - test( pField->decimals ) );
+ getImpRowDesc()->setTypeName( nField, "decimal" );
+ getImpRowDesc()->setConciseType( nField, SQL_DECIMAL );
break;
case MYSQL_TYPE_DOUBLE:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "double unsigned" );
+ getImpRowDesc()->setTypeName( nField, "double unsigned" );
else
- pdesIRD->setTypeName( nField, "double" );
- pdesIRD->setConciseType( nField, SQL_DOUBLE );
+ getImpRowDesc()->setTypeName( nField, "double" );
+ getImpRowDesc()->setConciseType( nField, SQL_DOUBLE );
break;
case MYSQL_TYPE_ENUM:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setTypeName( nField, "enum" );
- pdesIRD->setConciseType( nField, SQL_CHAR );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setTypeName( nField, "enum" );
+ getImpRowDesc()->setConciseType( nField, SQL_CHAR );
break;
case MYSQL_TYPE_FLOAT:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "float unsigned" );
+ getImpRowDesc()->setTypeName( nField, "float unsigned" );
else
- pdesIRD->setTypeName( nField, "float" );
- pdesIRD->setConciseType( nField, SQL_REAL );
+ getImpRowDesc()->setTypeName( nField, "float" );
+ getImpRowDesc()->setConciseType( nField, SQL_REAL );
break;
case MYSQL_TYPE_GEOMETRY:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setTypeName( nField, "blob" );
- pdesIRD->setConciseType( nField, SQL_LONGVARBINARY );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setTypeName( nField, "blob" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARBINARY );
break;
case MYSQL_TYPE_INT24:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "mediumint unsigned" );
+ getImpRowDesc()->setTypeName( nField, "mediumint unsigned" );
else
- pdesIRD->setTypeName( nField, "mediumint" );
- pdesIRD->setConciseType( nField, SQL_INTEGER );
+ getImpRowDesc()->setTypeName( nField, "mediumint" );
+ getImpRowDesc()->setConciseType( nField, SQL_INTEGER );
break;
case MYSQL_TYPE_LONG:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "integer unsigned" );
+ getImpRowDesc()->setTypeName( nField, "integer unsigned" );
else
- pdesIRD->setTypeName( nField, "integer" );
- pdesIRD->setConciseType( nField, SQL_TINYINT );
+ getImpRowDesc()->setTypeName( nField, "integer" );
+ getImpRowDesc()->setConciseType( nField, SQL_TINYINT );
break;
case MYSQL_TYPE_LONG_BLOB:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
if (pField->flags & BINARY_FLAG)
{
- pdesIRD->setTypeName( nField, "longblob" );
- pdesIRD->setConciseType( nField, SQL_LONGVARBINARY );
+ getImpRowDesc()->setTypeName( nField, "longblob" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARBINARY );
}
else
{
- pdesIRD->setTypeName( nField, "longtext" );
- pdesIRD->setConciseType( nField, SQL_LONGVARCHAR );
+ getImpRowDesc()->setTypeName( nField, "longtext" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARCHAR );
}
break;
case MYSQL_TYPE_LONGLONG:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
if ( pField->flags & UNSIGNED_FLAG )
{
- pdesIRD->setPrecision( nField, 20 );
- pdesIRD->setTypeName( nField, "bigint unsigned" );
+ getImpRowDesc()->setPrecision( nField, 20 );
+ getImpRowDesc()->setTypeName( nField, "bigint unsigned" );
}
else
{
- pdesIRD->setPrecision( nField, 19 );
- pdesIRD->setTypeName( nField, "bigint" );
+ getImpRowDesc()->setPrecision( nField, 19 );
+ getImpRowDesc()->setTypeName( nField, "bigint" );
}
- pdesIRD->setConciseType( nField, SQL_BIGINT );
+ getImpRowDesc()->setConciseType( nField, SQL_BIGINT );
break;
case MYSQL_TYPE_MEDIUM_BLOB:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
if ( pField->flags & BINARY_FLAG )
{
- pdesIRD->setTypeName( nField, "mediumblob" );
- pdesIRD->setConciseType( nField, SQL_LONGVARBINARY );
+ getImpRowDesc()->setTypeName( nField, "mediumblob" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARBINARY );
}
else
{
- pdesIRD->setTypeName( nField, "mediumtext" );
- pdesIRD->setConciseType( nField, SQL_LONGVARCHAR );
+ getImpRowDesc()->setTypeName( nField, "mediumtext" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARCHAR );
}
break;
case MYSQL_TYPE_NEWDATE:
- pdesIRD->setDisplaySize( nField, 10 );
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setPrecision( nField, 10 );
- pdesIRD->setTypeName( nField, "date" );
- pdesIRD->setConciseType( nField, SQL_TYPE_DATE );
+ getImpRowDesc()->setDisplaySize( nField, 10 );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setPrecision( nField, 10 );
+ getImpRowDesc()->setTypeName( nField, "date" );
+ getImpRowDesc()->setConciseType( nField, SQL_TYPE_DATE );
break;
case MYSQL_TYPE_NULL:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setTypeName( nField, "null" );
- pdesIRD->setConciseType( nField, SQL_VARCHAR );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setTypeName( nField, "null" );
+ getImpRowDesc()->setConciseType( nField, SQL_VARCHAR );
break;
case MYSQL_TYPE_SHORT:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "smallint unsigned" );
+ getImpRowDesc()->setTypeName( nField, "smallint unsigned" );
else
- pdesIRD->setTypeName( nField, "smallint" );
- pdesIRD->setConciseType( nField, SQL_SMALLINT );
+ getImpRowDesc()->setTypeName( nField, "smallint" );
+ getImpRowDesc()->setConciseType( nField, SQL_SMALLINT );
break;
case MYSQL_TYPE_TIME:
- pdesIRD->setDisplaySize( nField, 8 );
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setPrecision( nField, 8 );
- pdesIRD->setTypeName( nField, "time" );
- pdesIRD->setConciseType( nField, SQL_TYPE_TIME );
+ getImpRowDesc()->setDisplaySize( nField, 8 );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setPrecision( nField, 8 );
+ getImpRowDesc()->setTypeName( nField, "time" );
+ getImpRowDesc()->setConciseType( nField, SQL_TYPE_TIME );
break;
case MYSQL_TYPE_TIMESTAMP:
- pdesIRD->setDisplaySize( nField, 19 );
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setPrecision( nField, 19 );
- pdesIRD->setRowver( nField, SQL_TRUE );
- pdesIRD->setTypeName( nField, "timestamp" );
- pdesIRD->setConciseType( nField, SQL_TYPE_TIMESTAMP );
+ getImpRowDesc()->setDisplaySize( nField, 19 );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setPrecision( nField, 19 );
+ getImpRowDesc()->setRowver( nField, SQL_TRUE );
+ getImpRowDesc()->setTypeName( nField, "timestamp" );
+ getImpRowDesc()->setConciseType( nField, SQL_TYPE_TIMESTAMP );
break;
case MYSQL_TYPE_SET:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setTypeName( nField, "set" );
- pdesIRD->setConciseType( nField, SQL_CHAR );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setTypeName( nField, "set" );
+ getImpRowDesc()->setConciseType( nField, SQL_CHAR );
break;
case MYSQL_TYPE_STRING:
- pdesIRD->setDisplaySize( nField, pField->length ? pField->length :
255 );
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setTypeName( nField, "char" );
- pdesIRD->setConciseType( nField, SQL_CHAR );
+ getImpRowDesc()->setDisplaySize( nField, pField->length ?
pField->length : 255 );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setTypeName( nField, "char" );
+ getImpRowDesc()->setConciseType( nField, SQL_CHAR );
break;
case MYSQL_TYPE_TINY:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 2 );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 2 );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
if ( pField->flags & NUM_FLAG )
{
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "tinyint unsigned" );
+ getImpRowDesc()->setTypeName( nField, "tinyint unsigned" );
else
- pdesIRD->setTypeName( nField, "tinyint" );
- pdesIRD->setConciseType( nField, SQL_TINYINT );
+ getImpRowDesc()->setTypeName( nField, "tinyint" );
+ getImpRowDesc()->setConciseType( nField, SQL_TINYINT );
}
else
{
if ( pField->flags & UNSIGNED_FLAG )
- pdesIRD->setTypeName( nField, "char unsigned" );
+ getImpRowDesc()->setTypeName( nField, "char unsigned" );
else
- pdesIRD->setTypeName( nField, "char" );
- pdesIRD->setConciseType( nField, SQL_CHAR );
+ getImpRowDesc()->setTypeName( nField, "char" );
+ getImpRowDesc()->setConciseType( nField, SQL_CHAR );
}
break;
case MYSQL_TYPE_TINY_BLOB:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "" );
- pdesIRD->setLiteralSuffix( nField, "" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "" );
+ getImpRowDesc()->setLiteralSuffix( nField, "" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
if ( pField->flags & BINARY_FLAG )
{
- pdesIRD->setTypeName( nField, "tinyblob" );
- pdesIRD->setConciseType( nField, SQL_LONGVARBINARY );
+ getImpRowDesc()->setTypeName( nField, "tinyblob" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARBINARY );
}
else
{
- pdesIRD->setTypeName( nField, "tinytext" );
- pdesIRD->setConciseType( nField, SQL_LONGVARCHAR );
+ getImpRowDesc()->setTypeName( nField, "tinytext" );
+ getImpRowDesc()->setConciseType( nField, SQL_LONGVARCHAR );
}
break;
case MYSQL_TYPE_VAR_STRING:
- pdesIRD->setDisplaySize( nField, pField->length ? pField->length :
255 );
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setTypeName( nField, "varchar" );
- pdesIRD->setConciseType( nField, SQL_VARCHAR );
+ getImpRowDesc()->setDisplaySize( nField, pField->length ?
pField->length : 255 );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setTypeName( nField, "varchar" );
+ getImpRowDesc()->setConciseType( nField, SQL_VARCHAR );
break;
case MYSQL_TYPE_YEAR:
- pdesIRD->setLength( nField, pField->max_length );
- pdesIRD->setLiteralPrefix( nField, "\"'" );
- pdesIRD->setLiteralSuffix( nField, "\"'" );
- pdesIRD->setNumPrecRadix( nField, 0 );
- pdesIRD->setOctetLength( nField, pField->max_length );
- pdesIRD->setPrecision( nField, (SQLSMALLINT)pField->max_length );
- pdesIRD->setTypeName( nField, "year" );
- pdesIRD->setConciseType( nField, SQL_SMALLINT );
+ getImpRowDesc()->setLength( nField, pField->max_length );
+ getImpRowDesc()->setLiteralPrefix( nField, "\"'" );
+ getImpRowDesc()->setLiteralSuffix( nField, "\"'" );
+ getImpRowDesc()->setNumPrecRadix( nField, 0 );
+ getImpRowDesc()->setOctetLength( nField, pField->max_length );
+ getImpRowDesc()->setPrecision( nField, (SQLSMALLINT)pField->max_length
);
+ getImpRowDesc()->setTypeName( nField, "year" );
+ getImpRowDesc()->setConciseType( nField, SQL_SMALLINT );
break;
default:
{
- MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HY000, 0, QString( "%1 is an
unknown MYSQL column data type." ).arg( pField->type ) ) );
+ MYODBCDbgReturn( getDia()->doAppend( MYODBC_DIA_HY000, 0, QString( "%1 is
an unknown MYSQL column data type." ).arg( pField->type ) ) );
}
}
Modified: MYODBCRes/include/MYODBCRes.h
===================================================================
--- MYODBCRes/include/MYODBCRes.h 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/include/MYODBCRes.h 2006-01-27 05:46:29 UTC (rev 50)
@@ -11,8 +11,7 @@
#define MYODBC_RES_H
#include <MYODBCDbg.h>
-#include <MYODBCDia.h>
-#include <MYODBCDes.h>
+#include <MYODBCAttStatement.h>
/* we introduce mysql stuff as late as possible - here */
#include <mysql.h>
@@ -34,7 +33,7 @@
class MYODBCRes
{
public:
- MYODBCRes( MYODBCDia *pdia, MYODBCDes *pdesIRD, MYSQL *pmysql );
+ MYODBCRes( MYODBCAttStatement *patt, MYSQL *pmysql );
virtual ~MYODBCRes();
virtual SQLRETURN setData( uint nColumn, const QVariant &variantData ) = 0;
@@ -44,7 +43,6 @@
virtual SQLRETURN getData( uint nColumn, QVariant &variantData ) = 0;
virtual SQLRETURN getRow( qulonglong *pnRow ) = 0;
virtual SQLRETURN getRows( qulonglong *pnRows ) = 0;
- virtual MYODBCDes * getDesIRD();
virtual SQLRETURN doAppend() = 0;
virtual SQLRETURN doClear() = 0;
@@ -64,9 +62,14 @@
virtual bool isValidRow( qulonglong nRow ) = 0;
protected:
- MYSQL * pmysql; /*!< parent of MYSQL_RES or MYSQL_STMT */
- MYODBCDes * pdesIRD; /*!< Reference to statements IRD */
- MYODBCDia * pdia; /*!< Reference to statements hDia */
+ MYODBCAttStatement * patt; /*!< statement attributes */
+ MYSQL * pmysql; /*!< parent of MYSQL_RES or MYSQL_STMT */
+
+ virtual MYODBCDes * getAppParamDesc(); /*!< SQL_ATTR_APP_PARAM_DESC
*/
+ virtual MYODBCDes * getAppRowDesc(); /*!< SQL_ATTR_APP_ROW_DESC
*/
+ virtual MYODBCDes * getImpParamDesc(); /*!< SQL_ATTR_IMP_PARAM_DESC
*/
+ virtual MYODBCDes * getImpRowDesc(); /*!< SQL_ATTR_IMP_ROW_DESC
*/
+ virtual MYODBCDia * getDia();
};
#endif
Modified: MYODBCRes/include/MYODBCResDriver.h
===================================================================
--- MYODBCRes/include/MYODBCResDriver.h 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/include/MYODBCResDriver.h 2006-01-27 05:46:29 UTC (rev 50)
@@ -6,7 +6,7 @@
class MYODBCResDriver : public MYODBCRes
{
public:
- MYODBCResDriver( MYODBCDia *pdia, MYODBCDes *pdesIRD, MYSQL *pmysql );
+ MYODBCResDriver( MYODBCAttStatement *patt, MYSQL *pmysql );
~MYODBCResDriver();
SQLRETURN setData( uint nColumn, const QVariant &variantData );
Modified: MYODBCRes/include/MYODBCResServer.h
===================================================================
--- MYODBCRes/include/MYODBCResServer.h 2006-01-27 04:30:56 UTC (rev 49)
+++ MYODBCRes/include/MYODBCResServer.h 2006-01-27 05:46:29 UTC (rev 50)
@@ -6,7 +6,7 @@
class MYODBCResServer : public MYODBCRes
{
public:
- MYODBCResServer( MYODBCDia *pdia, MYODBCDes *pdesIRD, MYSQL *pmysql );
+ MYODBCResServer( MYODBCAttStatement *patt, MYSQL *pmysql );
~MYODBCResServer();
SQLRETURN setData( uint nColumn, const QVariant &variantData );
| Thread |
|---|
| • Connector/ODBC 5 commit: r50 - in MYODBCRes: MYODBCResLib include | pharvey | 27 Jan |