| <script> |
| |
| var openRequest = indexedDB.open('index-upgrade-test'); |
| openRequest.onupgradeneeded = function(event) { |
| window.webkit.messageHandlers.testHandler.postMessage('Unexpected upgradeneeded'); |
| return; |
| |
| // The code below was used to generate database file IndexUpgradeWithMultipleIndices.sqlite3. |
| // It should not be reached during upgrade test because database file already exists. |
| let os1 = db.createObjectStore('colors'); |
| os1.createIndex('name', 'name'); |
| let os2 = db.createObjectStore('fruits'); |
| os2.createIndex('color', 'color'); |
| os2.createIndex('name', 'name'); |
| os2.put({ name:'apple', color:'red' }, 1); |
| } |
| |
| openRequest.onsuccess = function(event) { |
| let db = event.target.result; |
| try { |
| let transaction = db.transaction(['fruits']); |
| let colorIndex = transaction.objectStore('fruits').index('color'); |
| let getRequest = colorIndex.get('red'); |
| getRequest.onsuccess = (event) => { |
| window.webkit.messageHandlers.testHandler.postMessage("Get object: " + JSON.stringify(event.target.result)); |
| } |
| getRequest.onerror = (event) => { |
| window.webkit.messageHandlers.testHandler.postMessage('Unexpected get error'); |
| } |
| } catch(e) { |
| window.webkit.messageHandlers.testHandler.postMessage("Unexpected error - " + e); |
| } |
| } |
| |
| openRequest.onerror = function(event) { |
| window.webkit.messageHandlers.testHandler.postMessage("Unexpected database error- " + e); |
| } |
| |
| </script> |
| |