Exemple #1
0
        /// <summary>
        /// Executes the given batch of non-query SQL
        /// character sequences directly.
        /// </summary>
        /// <param name="sql">
        /// The batch of non-query SQL character sequences.
        /// </param>
        /// <returns>
        /// An array representing the number of rows
        /// affected by each element of the batch
        /// execution.
        /// </returns>
        internal int[] ExecuteNonQueryBatchDirect(string[] sql)
        {
            int     batchSize = sql.Length;
            Request request   = s_protocol.CreateExecuteBatchDirectRequest();

            for (int i = 0; i < batchSize; i++)
            {
                object[] batchItem = new object[] { sql[i] };

                request.add(batchItem);
            }

            return(ExecuteNonQueryBatchDirect(request, batchSize));
        }
Exemple #2
0
        static HsqlResult NewResult()
        {
            int        columnCount = columns.GetUpperBound(1);
            HsqlResult result      = new HsqlResult(columnCount);

            object[]  row          = new object[columnCount];
            int       i            = 0;
            const int TypeOrdinal  = 0;
            const int ValueOrdinal = 1;

            result.add(row);

            foreach (object[] column in columns)
            {
                HsqlProviderType dataType = (HsqlProviderType)column[TypeOrdinal];
                row[i] = column[ValueOrdinal];
                int scale = 0;

                switch (dataType)
                {
                case HsqlProviderType.Decimal:
                case HsqlProviderType.Numeric: {
                    scale = 4;
                    break;
                }
                }

                int size = HsqlTypes.getPrecision((int)dataType);

                result.metaData.catalogNames[i]  = "mem:test";
                result.metaData.classNames[i]    = HsqlTypes.getTypeName((int)dataType);
                result.metaData.colLabels[i]     = "COLUMN_" + i;
                result.metaData.colNames[i]      = "C" + i;
                result.metaData.colNullable[i]   = (int)BaseColumnNullability.Nullable;
                result.metaData.colScales[i]     = scale;
                result.metaData.colSizes[i]      = size;
                result.metaData.colTypes[i]      = (int)dataType;
                result.metaData.isIdentity[i]    = false;
                result.metaData.isLabelQuoted[i] = false;
                result.metaData.isWritable[i]    = false;
                result.metaData.paramMode[i]     = (int)ParameterMode.Unknown;
                result.metaData.schemaNames[i]   = "PUBLIC";
                result.metaData.tableNames[i]    = "ALL_COL_TYPES";
            }

            return(result);
        }
Exemple #3
0
 /// <summary>
 /// Adds the given parameters to the batch request.
 /// </summary>
 /// <param name="parameters">The parameters.</param>
 internal void AddBatch(params object[] parameters)
 {
     m_batchRequest.add(parameters);
 }
        static HsqlResult NewResult()
        {
            int columnCount = columns.GetUpperBound(1);
            HsqlResult result = new HsqlResult(columnCount);
            object[] row = new object[columnCount];
            int i = 0;
            const int TypeOrdinal = 0;
            const int ValueOrdinal = 1;

            result.add(row);

            foreach (object[] column in columns)
            {
                HsqlProviderType dataType = (HsqlProviderType)column[TypeOrdinal];
                row[i] = column[ValueOrdinal];
                int scale = 0;

                switch(dataType)
                {
                    case HsqlProviderType.Decimal:
                    case HsqlProviderType.Numeric: {
                        scale = 4;
                        break;
                    }
                }

                int size = HsqlTypes.getPrecision((int)dataType);

                result.metaData.catalogNames[i] = "mem:test";
                result.metaData.classNames[i] = HsqlTypes.getTypeName((int)dataType);
                result.metaData.colLabels[i] = "COLUMN_" + i;
                result.metaData.colNames[i] = "C" + i;
                result.metaData.colNullable[i] = (int) BaseColumnNullability.Nullable;
                result.metaData.colScales[i] = scale;
                result.metaData.colSizes[i] = size;
                result.metaData.colTypes[i] = (int) dataType;
                result.metaData.isIdentity[i] = false;
                result.metaData.isLabelQuoted[i] = false;
                result.metaData.isWritable[i] = false;
                result.metaData.paramMode[i] = (int) ParameterMode.Unknown;
                result.metaData.schemaNames[i] = "PUBLIC";
                result.metaData.tableNames[i] = "ALL_COL_TYPES";
            }

            return result;
        }