question: protected XSQLDA allocateXSqlDa ( RowDescriptor rowDescriptor ) { if ( rowDescriptor == null || rowDescriptor . getCount ( ) == 0 ) { final XSQLDA xSqlDa = new XSQLDA ( 1 ) ; xSqlDa . sqld = xSqlDa . sqln = 0 ; return xSqlDa ; } final XSQLDA xSqlDa = new XSQLDA ( rowDescriptor . getCount ( ) ) ; for ( int idx = 0 ; idx < rowDescriptor . getCount ( ) ; idx ++ ) { final FieldDescriptor fieldDescriptor = rowDescriptor . getFieldDescriptor ( idx ) ; final XSQLVAR xSqlVar = xSqlDa . sqlvar [ idx ] ; xSqlVar . sqltype = ( short ) ( fieldDescriptor . getType ( ) | 1 ) ; xSqlVar . sqlsubtype = ( short ) fieldDescriptor . getSubType ( ) ; xSqlVar . sqlscale = ( short ) fieldDescriptor . getScale ( ) ; xSqlVar . sqllen = ( short ) fieldDescriptor . getLength ( ) ; xSqlVar . sqlind = new ShortByReference ( ) ; final int requiredDataSize = fieldDescriptor . isVarying ( ) ? fieldDescriptor . getLength ( ) + 3 : fieldDescriptor . getLength ( ) + 1 ; xSqlVar . sqldata = new Memory ( requiredDataSize ) ; } return xSqlDa ; }
target:  Creates an XSQLDA, populates type information and allocates memory for the sqldata fields.