Search in sources :

Example 11 with MemoryDataStorageManager

use of herddb.mem.MemoryDataStorageManager in project herddb by diennea.

the class RawSQLTest method sortTest.

@Test
public void sortTest() throws Exception {
    String nodeId = "localhost";
    try (DBManager manager = new DBManager("localhost", new MemoryMetadataStorageManager(), new MemoryDataStorageManager(), new MemoryCommitLogManager(), null, null)) {
        manager.start();
        CreateTableSpaceStatement st1 = new CreateTableSpaceStatement("tblspace1", Collections.singleton(nodeId), nodeId, 1, 0, 0);
        manager.executeStatement(st1, StatementEvaluationContext.DEFAULT_EVALUATION_CONTEXT(), TransactionContext.NO_TRANSACTION);
        manager.waitForTablespace("tblspace1", 10000);
        execute(manager, "CREATE TABLE tblspace1.tsql (k1 string primary key,n1 int,s1 string)", Collections.emptyList());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1) values(?,?)", Arrays.asList("mykey", Integer.valueOf(1))).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1) values(?,?)", Arrays.asList("mykey2", Integer.valueOf(2))).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1) values(?,?)", Arrays.asList("mykey3", Integer.valueOf(3))).getUpdateCount());
        // }
        try (DataScanner scan1 = scan(manager, "SELECT k1 FROM tblspace1.tsql ORDER BY k1", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            assertArrayEquals(new String[] { "k1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(RawString.of("mykey"), result.get(0).get("k1"));
            assertEquals(RawString.of("mykey"), result.get(0).get(0));
        }
        try (DataScanner scan1 = scan(manager, "SELECT n1 FROM tblspace1.tsql ORDER BY k1", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            System.out.println("result:" + result.get(0));
            assertArrayEquals(new String[] { "n1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(1, result.get(0).get("n1"));
            assertEquals(1, result.get(0).get(0));
        }
        try (DataScanner scan1 = scan(manager, "SELECT n1 FROM tblspace1.tsql ORDER BY n1", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            assertArrayEquals(new String[] { "n1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(1, result.get(0).get("n1"));
            assertEquals(1, result.get(0).get(0));
        }
        try (DataScanner scan1 = scan(manager, "SELECT n1,k1 FROM tblspace1.tsql ORDER BY k1", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            assertArrayEquals(new String[] { "n1", "k1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(RawString.of("mykey"), result.get(0).get("k1"));
            assertEquals(RawString.of("mykey"), result.get(0).get(1));
            assertEquals(1, result.get(0).get("n1"));
            assertEquals(1, result.get(0).get(0));
        }
        try (DataScanner scan1 = scan(manager, "SELECT n1,k1 FROM tblspace1.tsql ORDER BY k1 desc", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            assertArrayEquals(new String[] { "n1", "k1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(RawString.of("mykey3"), result.get(0).get("k1"));
            assertEquals(RawString.of("mykey3"), result.get(0).get(1));
            assertEquals(3, result.get(0).get("n1"));
            assertEquals(3, result.get(0).get(0));
        }
        try (DataScanner scan1 = scan(manager, "SELECT n1,k1 FROM tblspace1.tsql ORDER BY n1 desc", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            assertArrayEquals(new String[] { "n1", "k1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(RawString.of("mykey3"), result.get(0).get("k1"));
            assertEquals(RawString.of("mykey3"), result.get(0).get(1));
            assertEquals(3, result.get(0).get("n1"));
            assertEquals(3, result.get(0).get(0));
        }
        try (DataScanner scan1 = scan(manager, "SELECT k1,n1 FROM tblspace1.tsql ORDER BY n1 desc", Collections.emptyList())) {
            List<DataAccessor> result = scan1.consume();
            assertArrayEquals(new String[] { "k1", "n1" }, scan1.getFieldNames());
            assertEquals(3, result.size());
            assertEquals(RawString.of("mykey3"), result.get(0).get("k1"));
            assertEquals(RawString.of("mykey3"), result.get(0).get(0));
            assertEquals(3, result.get(0).get("n1"));
            assertEquals(3, result.get(0).get(1));
        }
    }
}
Also used : CreateTableSpaceStatement(herddb.model.commands.CreateTableSpaceStatement) DataScanner(herddb.model.DataScanner) MemoryDataStorageManager(herddb.mem.MemoryDataStorageManager) DataAccessor(herddb.utils.DataAccessor) MemoryCommitLogManager(herddb.mem.MemoryCommitLogManager) RawString(herddb.utils.RawString) MemoryMetadataStorageManager(herddb.mem.MemoryMetadataStorageManager) Test(org.junit.Test)

Example 12 with MemoryDataStorageManager

use of herddb.mem.MemoryDataStorageManager in project herddb by diennea.

the class RawSQLTest method aliasTest.

@Test
public void aliasTest() throws Exception {
    String nodeId = "localhost";
    try (DBManager manager = new DBManager("localhost", new MemoryMetadataStorageManager(), new MemoryDataStorageManager(), new MemoryCommitLogManager(), null, null)) {
        manager.start();
        CreateTableSpaceStatement st1 = new CreateTableSpaceStatement("tblspace1", Collections.singleton(nodeId), nodeId, 1, 0, 0);
        manager.executeStatement(st1, StatementEvaluationContext.DEFAULT_EVALUATION_CONTEXT(), TransactionContext.NO_TRANSACTION);
        manager.waitForTablespace("tblspace1", 10000);
        execute(manager, "CREATE TABLE tblspace1.tsql (k1 string primary key,n1 int,s1 string)", Collections.emptyList());
        {
            TranslatedQuery translate1 = manager.getPlanner().translate(TableSpace.DEFAULT, "SELECT k1 theKey FROM tblspace1.tsql where k1 ='mykey2'", Collections.emptyList(), true, true, false, -1);
            ScanStatement scan = translate1.plan.mainStatement.unwrap(ScanStatement.class);
            PlannerOp plannerOp = translate1.plan.mainStatement.unwrap(PlannerOp.class);
            System.out.println("plannerOp:" + plannerOp);
            try (DataScanner scan1 = manager.scan(scan, translate1.context, TransactionContext.NO_TRANSACTION)) {
                List<DataAccessor> records = scan1.consume();
                assertEquals(0, records.size());
                assertEquals(1, scan1.getFieldNames().length);
                assertEquals("thekey", scan1.getFieldNames()[0].toLowerCase());
            }
        }
    }
}
Also used : CreateTableSpaceStatement(herddb.model.commands.CreateTableSpaceStatement) TranslatedQuery(herddb.sql.TranslatedQuery) PlannerOp(herddb.model.planner.PlannerOp) DataScanner(herddb.model.DataScanner) MemoryDataStorageManager(herddb.mem.MemoryDataStorageManager) MemoryCommitLogManager(herddb.mem.MemoryCommitLogManager) List(java.util.List) RawString(herddb.utils.RawString) MemoryMetadataStorageManager(herddb.mem.MemoryMetadataStorageManager) ScanStatement(herddb.model.commands.ScanStatement) Test(org.junit.Test)

Example 13 with MemoryDataStorageManager

use of herddb.mem.MemoryDataStorageManager in project herddb by diennea.

the class RawSQLTest method caseWhenTest.

@Test
public void caseWhenTest() throws Exception {
    String nodeId = "localhost";
    try (DBManager manager = new DBManager("localhost", new MemoryMetadataStorageManager(), new MemoryDataStorageManager(), new MemoryCommitLogManager(), null, null)) {
        manager.start();
        CreateTableSpaceStatement st1 = new CreateTableSpaceStatement("tblspace1", Collections.singleton(nodeId), nodeId, 1, 0, 0);
        manager.executeStatement(st1, StatementEvaluationContext.DEFAULT_EVALUATION_CONTEXT(), TransactionContext.NO_TRANSACTION);
        manager.waitForTablespace("tblspace1", 10000);
        execute(manager, "CREATE TABLE tblspace1.tsql (k1 string primary key,n1 int,s1 string,t1 timestamp)", Collections.emptyList());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1,t1) values(?,?,CURRENT_TIMESTAMP)", Arrays.asList("mykey", Integer.valueOf(1234))).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1,t1) values(?,?,CURRENT_TIMESTAMP)", Arrays.asList("mykey2", Integer.valueOf(1235))).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1,t1) values(?,?,CURRENT_TIMESTAMP)", Arrays.asList("mykey3", Integer.valueOf(1236))).getUpdateCount());
        try (DataScanner scan = scan(manager, "SELECT k1, " + "CASE " + "WHEN k1='mykey'  THEN 'a' " + "WHEN k1='mykey2' THEN 'b' " + "ELSE 'c'  " + "END as mycase " + "FROM tblspace1.tsql " + "ORDER BY k1", Collections.emptyList())) {
            List<DataAccessor> res = scan.consume();
            for (DataAccessor t : res) {
                System.out.println("t:" + t);
            }
            assertEquals(3, res.size());
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey", "mycase", "a"))));
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey2", "mycase", "b"))));
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey3", "mycase", "c"))));
        }
        try (DataScanner scan = scan(manager, "SELECT k1, " + "CASE " + "WHEN k1='mykey'  THEN 'a' " + "WHEN k1='mykey2' THEN 'b' " + "END as mycase " + "FROM tblspace1.tsql " + "ORDER BY k1", Collections.emptyList())) {
            List<DataAccessor> res = scan.consume();
            for (DataAccessor t : res) {
                System.out.println("t:" + t);
            }
            assertEquals(3, res.size());
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey", "mycase", "a"))));
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey2", "mycase", "b"))));
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey3", "mycase", null))));
        }
        try (DataScanner scan = scan(manager, "SELECT k1, " + "SUM(CASE " + "WHEN k1='mykey'  THEN 1 " + "WHEN k1='mykey2' THEN 2 " + "ELSE 3  " + "END) as mysum " + "FROM tblspace1.tsql " + "GROUP BY k1", Collections.emptyList())) {
            List<DataAccessor> res = scan.consume();
            for (DataAccessor t : res) {
                System.out.println("t2:" + t);
            }
            assertEquals(3, res.size());
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey", "mysum", 1L))));
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey2", "mysum", 2L))));
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("k1", "mykey3", "mysum", 3L))));
        }
        try (DataScanner scan = scan(manager, "SELECT " + "SUM(CASE " + "WHEN k1='mykey'  THEN 1 " + "WHEN k1='mykey2' THEN 2 " + "ELSE 3  " + "END) as mysum " + "FROM tblspace1.tsql " + "", Collections.emptyList())) {
            List<DataAccessor> res = scan.consume();
            for (DataAccessor t : res) {
                System.out.println("t:" + t);
            }
            assertEquals(1, res.size());
            assertTrue(res.stream().anyMatch(t -> t.toMap().equals(MapUtils.map("mysum", 6L))));
        }
    }
}
Also used : Arrays(java.util.Arrays) CommitTransactionStatement(herddb.model.commands.CommitTransactionStatement) RollbackTransactionStatement(herddb.model.commands.RollbackTransactionStatement) TransactionResult(herddb.model.TransactionResult) DuplicatePrimaryKeyException(herddb.model.DuplicatePrimaryKeyException) IndexAlreadyExistsException(herddb.model.IndexAlreadyExistsException) TestUtils.scan(herddb.core.TestUtils.scan) Map(java.util.Map) Assert.fail(org.junit.Assert.fail) DMLStatementExecutionResult(herddb.model.DMLStatementExecutionResult) MapUtils(herddb.utils.MapUtils) RawString(herddb.utils.RawString) ScanResult(herddb.model.ScanResult) DataAccessor(herddb.utils.DataAccessor) TableDoesNotExistException(herddb.model.TableDoesNotExistException) DataScanner(herddb.model.DataScanner) StatementExecutionException(herddb.model.StatementExecutionException) Timestamp(java.sql.Timestamp) RecordSerializer(herddb.codec.RecordSerializer) ScanStatement(herddb.model.commands.ScanStatement) List(java.util.List) MissingJDBCParameterException(herddb.model.MissingJDBCParameterException) Assert.assertFalse(org.junit.Assert.assertFalse) GetStatement(herddb.model.commands.GetStatement) MemoryDataStorageManager(herddb.mem.MemoryDataStorageManager) TranslatedQuery(herddb.sql.TranslatedQuery) Assume.assumeTrue(org.junit.Assume.assumeTrue) TableSpace(herddb.model.TableSpace) CalcitePlanner(herddb.sql.CalcitePlanner) Bytes(herddb.utils.Bytes) CreateTableSpaceStatement(herddb.model.commands.CreateTableSpaceStatement) GetResult(herddb.model.GetResult) PrimaryIndexSeek(herddb.index.PrimaryIndexSeek) MemoryCommitLogManager(herddb.mem.MemoryCommitLogManager) SQLPlanner(herddb.sql.SQLPlanner) TransactionContext(herddb.model.TransactionContext) Assert.assertArrayEquals(org.junit.Assert.assertArrayEquals) IndexDoesNotExistException(herddb.model.IndexDoesNotExistException) TestUtils.executeUpdate(herddb.core.TestUtils.executeUpdate) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) Assert.assertNull(org.junit.Assert.assertNull) StatementEvaluationContext(herddb.model.StatementEvaluationContext) PlannerOp(herddb.model.planner.PlannerOp) TestUtils.execute(herddb.core.TestUtils.execute) Assert(org.junit.Assert) Collections(java.util.Collections) MemoryMetadataStorageManager(herddb.mem.MemoryMetadataStorageManager) Assert.assertEquals(org.junit.Assert.assertEquals) CreateTableSpaceStatement(herddb.model.commands.CreateTableSpaceStatement) DataScanner(herddb.model.DataScanner) MemoryDataStorageManager(herddb.mem.MemoryDataStorageManager) DataAccessor(herddb.utils.DataAccessor) MemoryCommitLogManager(herddb.mem.MemoryCommitLogManager) RawString(herddb.utils.RawString) MemoryMetadataStorageManager(herddb.mem.MemoryMetadataStorageManager) Test(org.junit.Test)

Example 14 with MemoryDataStorageManager

use of herddb.mem.MemoryDataStorageManager in project herddb by diennea.

the class RawSQLTest method indexSeek.

@Test
public void indexSeek() throws Exception {
    String nodeId = "localhost";
    try (DBManager manager = new DBManager("localhost", new MemoryMetadataStorageManager(), new MemoryDataStorageManager(), new MemoryCommitLogManager(), null, null)) {
        manager.start();
        CreateTableSpaceStatement st1 = new CreateTableSpaceStatement("tblspace1", Collections.singleton(nodeId), nodeId, 1, 0, 0);
        manager.executeStatement(st1, StatementEvaluationContext.DEFAULT_EVALUATION_CONTEXT(), TransactionContext.NO_TRANSACTION);
        manager.waitForTablespace("tblspace1", 10000);
        execute(manager, "CREATE TABLE tblspace1.tsql (k1 string primary key,n1 int,s1 string)", Collections.emptyList());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1) values(?,?)", Arrays.asList("mykey", Integer.valueOf(1234))).getUpdateCount());
        {
            TranslatedQuery translated = manager.getPlanner().translate(TableSpace.DEFAULT, " SELECT k1 as theKey,'one' as theStringConstant,3  LongConstant" + " FROM tblspace1.tsql" + " where k1 ='mykey'", Collections.emptyList(), true, true, false, -1);
            ScanStatement scan = translated.plan.mainStatement.unwrap(ScanStatement.class);
            assertTrue(scan.getPredicate().getIndexOperation() instanceof PrimaryIndexSeek);
            try (DataScanner scan1 = ((ScanResult) manager.executePlan(translated.plan, translated.context, TransactionContext.NO_TRANSACTION)).dataScanner) {
                List<DataAccessor> records = scan1.consume();
                assertEquals(1, records.size());
                assertEquals(3, records.get(0).getFieldNames().length);
                assertEquals(3, records.get(0).toMap().size());
                assertEquals("thekey", records.get(0).getFieldNames()[0].toLowerCase());
                assertEquals(RawString.of("mykey"), records.get(0).get("theKey"));
                assertEquals("thestringconstant", records.get(0).getFieldNames()[1].toLowerCase());
                assertEquals(RawString.of("one"), records.get(0).get("theStringConstant"));
                assertEquals("longconstant", records.get(0).getFieldNames()[2].toLowerCase());
                assertEquals(3L, ((Number) records.get(0).get("LongConstant")).longValue());
            }
        }
        {
            TranslatedQuery translate1 = manager.getPlanner().translate(TableSpace.DEFAULT, "SELECT k1 as theKey,'one' as theStringConstant,3  LongConstant FROM tblspace1.tsql where k1 = 'mykey_no'", Collections.emptyList(), true, true, false, -1);
            ScanStatement scan = translate1.plan.mainStatement.unwrap(ScanStatement.class);
            assertTrue(scan.getPredicate().getIndexOperation() instanceof PrimaryIndexSeek);
            try (DataScanner scan1 = manager.scan(scan, translate1.context, TransactionContext.NO_TRANSACTION)) {
                assertTrue(scan1.consume().isEmpty());
            }
        }
        {
            TranslatedQuery translate1 = manager.getPlanner().translate(TableSpace.DEFAULT, "SELECT k1 as theKey,'one' as theStringConstant,3  LongConstant FROM tblspace1.tsql where k1 = 'mykey' and n1<>1234", Collections.emptyList(), true, true, false, -1);
            ScanStatement scan = translate1.plan.mainStatement.unwrap(ScanStatement.class);
            assertTrue(scan.getPredicate().getIndexOperation() instanceof PrimaryIndexSeek);
            try (DataScanner scan1 = manager.scan(scan, translate1.context, TransactionContext.NO_TRANSACTION)) {
                assertTrue(scan1.consume().isEmpty());
            }
        }
    }
}
Also used : CreateTableSpaceStatement(herddb.model.commands.CreateTableSpaceStatement) PrimaryIndexSeek(herddb.index.PrimaryIndexSeek) TranslatedQuery(herddb.sql.TranslatedQuery) DataScanner(herddb.model.DataScanner) MemoryDataStorageManager(herddb.mem.MemoryDataStorageManager) MemoryCommitLogManager(herddb.mem.MemoryCommitLogManager) List(java.util.List) RawString(herddb.utils.RawString) MemoryMetadataStorageManager(herddb.mem.MemoryMetadataStorageManager) ScanStatement(herddb.model.commands.ScanStatement) Test(org.junit.Test)

Example 15 with MemoryDataStorageManager

use of herddb.mem.MemoryDataStorageManager in project herddb by diennea.

the class RawSQLTest method simpleMinMaxTimestampTest.

@Test
public void simpleMinMaxTimestampTest() throws Exception {
    String nodeId = "localhost";
    try (DBManager manager = new DBManager("localhost", new MemoryMetadataStorageManager(), new MemoryDataStorageManager(), new MemoryCommitLogManager(), null, null)) {
        manager.start();
        CreateTableSpaceStatement st1 = new CreateTableSpaceStatement("tblspace1", Collections.singleton(nodeId), nodeId, 1, 0, 0);
        manager.executeStatement(st1, StatementEvaluationContext.DEFAULT_EVALUATION_CONTEXT(), TransactionContext.NO_TRANSACTION);
        manager.waitForTablespace("tblspace1", 10000);
        execute(manager, "CREATE TABLE tblspace1.tsql (k1 string primary key,n1 int,s1 string, t1 timestamp)", Collections.emptyList());
        java.sql.Timestamp time1 = new java.sql.Timestamp(System.currentTimeMillis());
        java.sql.Timestamp time2 = new java.sql.Timestamp(time1.getTime() + 60000);
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1,s1,t1) values(?,?,?,?)", Arrays.asList("mykey", Integer.valueOf(1), "a", time1)).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1,s1,t1) values(?,?,?,?)", Arrays.asList("mykey2", Integer.valueOf(2), "a", time2)).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1,n1,s1,t1) values(?,?,?,?)", Arrays.asList("mykey3", Integer.valueOf(5), "b", time1)).getUpdateCount());
        assertEquals(1, executeUpdate(manager, "INSERT INTO tblspace1.tsql(k1) values(?)", Arrays.asList("mykey4")).getUpdateCount());
        {
            try (DataScanner scan1 = scan(manager, "SELECT MIN(t1) as mi, MAX(t1) as ma FROM tblspace1.tsql", Collections.emptyList())) {
                List<DataAccessor> result = scan1.consume();
                assertEquals(1, result.size());
                assertEquals(time1, result.get(0).get(0));
                assertEquals(time1, result.get(0).get("mi"));
                assertEquals(time2, result.get(0).get(1));
                assertEquals(time2, result.get(0).get("ma"));
            }
        }
    }
}
Also used : CreateTableSpaceStatement(herddb.model.commands.CreateTableSpaceStatement) DataScanner(herddb.model.DataScanner) MemoryDataStorageManager(herddb.mem.MemoryDataStorageManager) MemoryCommitLogManager(herddb.mem.MemoryCommitLogManager) Timestamp(java.sql.Timestamp) List(java.util.List) RawString(herddb.utils.RawString) Timestamp(java.sql.Timestamp) MemoryMetadataStorageManager(herddb.mem.MemoryMetadataStorageManager) Test(org.junit.Test)

Aggregations

MemoryDataStorageManager (herddb.mem.MemoryDataStorageManager)110 MemoryCommitLogManager (herddb.mem.MemoryCommitLogManager)108 MemoryMetadataStorageManager (herddb.mem.MemoryMetadataStorageManager)107 Test (org.junit.Test)104 CreateTableSpaceStatement (herddb.model.commands.CreateTableSpaceStatement)102 DataScanner (herddb.model.DataScanner)70 RawString (herddb.utils.RawString)57 DataAccessor (herddb.utils.DataAccessor)36 ScanStatement (herddb.model.commands.ScanStatement)29 TranslatedQuery (herddb.sql.TranslatedQuery)26 Table (herddb.model.Table)25 List (java.util.List)25 CreateTableStatement (herddb.model.commands.CreateTableStatement)22 Index (herddb.model.Index)17 CreateIndexStatement (herddb.model.commands.CreateIndexStatement)17 TransactionContext (herddb.model.TransactionContext)15 SecondaryIndexSeek (herddb.index.SecondaryIndexSeek)14 DBManager (herddb.core.DBManager)10 SQLPlanner (herddb.sql.SQLPlanner)10 StatementExecutionException (herddb.model.StatementExecutionException)9