Example #1
0
        public TableMetadata(
            string tableName,
            string eplExpression,
            string statementName,
            Type[] keyTypes,
            IDictionary <string, TableMetadataColumn> tableColumns,
            TableStateRowFactory rowFactory,
            int numberMethodAggregations,
            StatementContext createTableStatementContext,
            ObjectArrayEventType internalEventType,
            ObjectArrayEventType publicEventType,
            TableMetadataInternalEventToPublic eventToPublic,
            bool queryPlanLogging)
        {
            _tableName                   = tableName;
            _eplExpression               = eplExpression;
            _statementName               = statementName;
            _keyTypes                    = keyTypes;
            _tableColumns                = tableColumns;
            _rowFactory                  = rowFactory;
            _numberMethodAggregations    = numberMethodAggregations;
            _statementContextCreateTable = createTableStatementContext;
            _internalEventType           = internalEventType;
            _publicEventType             = publicEventType;
            _eventToPublic               = eventToPublic;
            _queryPlanLogging            = queryPlanLogging;

            if (keyTypes.Length > 0)
            {
                var pair = TableServiceUtil.GetIndexMultikeyForKeys(tableColumns, internalEventType);
                _eventTableIndexMetadataRepo.AddIndex(true, pair.Second, tableName, createTableStatementContext.StatementName, true, null);
                _tableRowKeyFactory = new TableRowKeyFactory(pair.First);
            }
        }
Example #2
0
 public void ValidateAddIndex(string statementName, string indexName, IndexMultiKey imk)
 {
     _eventTableIndexMetadataRepo.AddIndex(false, imk, indexName, statementName, true, null);
 }