IDBError MemoryObjectStore::createIndex(MemoryBackingStoreTransaction& transaction, const IDBIndexInfo& info) { LOG(IndexedDB, "MemoryObjectStore::createIndex"); if (!m_writeTransaction || !m_writeTransaction->isVersionChange() || m_writeTransaction != &transaction) return IDBError(IDBExceptionCode::ConstraintError); ASSERT(!m_indexesByIdentifier.contains(info.identifier())); auto index = MemoryIndex::create(info); m_info.addExistingIndex(info); transaction.addNewIndex(*index); registerIndex(WTF::move(index)); return { }; }
void MemoryObjectStore::maybeRestoreDeletedIndex(Ref<MemoryIndex>&& index) { LOG(IndexedDB, "MemoryObjectStore::maybeRestoreDeletedIndex"); if (m_info.hasIndex(index->info().name())) return; m_info.addExistingIndex(index->info()); ASSERT(!m_indexesByIdentifier.contains(index->info().identifier())); index->clearIndexValueStore(); auto error = populateIndexWithExistingRecords(index.get()); // Since this index was installed in the object store before this transaction started, // assuming things were in a valid state then, we should definitely be able to successfully // repopulate the index with the object store's pre-transaction records. ASSERT_UNUSED(error, error.isNull()); registerIndex(WTFMove(index)); }
IDBError MemoryObjectStore::createIndex(MemoryBackingStoreTransaction& transaction, const IDBIndexInfo& info) { LOG(IndexedDB, "MemoryObjectStore::createIndex"); if (!m_writeTransaction || !m_writeTransaction->isVersionChange() || m_writeTransaction != &transaction) return IDBError(IDBDatabaseException::ConstraintError); ASSERT(!m_indexesByIdentifier.contains(info.identifier())); auto index = MemoryIndex::create(info, *this); // If there was an error populating the new index, then the current records in the object store violate its contraints auto error = populateIndexWithExistingRecords(*index); if (!error.isNull()) return error; m_info.addExistingIndex(info); transaction.addNewIndex(*index); registerIndex(WTFMove(index)); return { }; }
void registerQlFunctions(const XLOPER &xDll) { registerAbcd(xDll); registerAccountingengines(xDll); registerAlphaform(xDll); registerAssetswap(xDll); registerBasketlossmodels(xDll); registerBonds(xDll); registerBrowniangenerators(xDll); registerBtp(xDll); registerCalendar(xDll); registerCapfloor(xDll); registerCapletvolstructure(xDll); registerCmsmarket(xDll); registerCmsmarketcalibration(xDll); registerCorrelation(xDll); registerCouponvectors(xDll); registerCredit(xDll); registerCtsmmcapletcalibration(xDll); registerCurvestate(xDll); registerDate(xDll); registerDaycounter(xDll); registerDefaultbasket(xDll); registerDefaulttermstructures(xDll); registerDriftcalculators(xDll); registerEvolutiondescription(xDll); registerExercise(xDll); registerForwardrateagreement(xDll); registerHandles(xDll); registerIndex(xDll); registerInstruments(xDll); registerInterpolation(xDll); registerLatentmodels(xDll); registerLeg(xDll); registerMarketmodelevolvers(xDll); registerMarketmodels(xDll); registerMathf(xDll); registerOptimization(xDll); registerOptions(xDll); registerOvernightindexedswap(xDll); registerPayoffs(xDll); registerPiecewiseyieldcurve(xDll); registerPrices(xDll); registerPricingengines(xDll); registerProcesses(xDll); registerProducts(xDll); registerQuotes(xDll); registerRandomsequencegenerator(xDll); registerRangeaccrual(xDll); registerRatehelpers(xDll); registerSchedule(xDll); registerSequencestatistics(xDll); registerSettings(xDll); registerShortratemodels(xDll); registerSmilesection(xDll); registerStatistics(xDll); registerSwap(xDll); registerSwaption(xDll); registerSwaptionvolstructure(xDll); registerTermstructures(xDll); registerTimeseries(xDll); registerUtilities(xDll); registerVanillaswap(xDll); registerVolatilities(xDll); registerVolatility(xDll); }