Package com.foundationdb.ais.model

Examples of com.foundationdb.ais.model.Sequence


        transactionallyUnchecked(new Runnable()
        {
            @Override
            public void run() {
                AkibanInformationSchema ais = new AkibanInformationSchema();
                Sequence s1 = Sequence.create(ais, SCHEMA, "s1", 1, 1, 1, 10, false);
                schemaManager.createSequence(session(), s1);
            }
        });
        transactionallyUnchecked(new Runnable()
        {
            @Override
            public void run() {
                AkibanInformationSchema ais = new AkibanInformationSchema();
                Sequence s2 = Sequence.create(ais, SCHEMA, "s2", 1, 1, 1, 10, false);
                schemaManager.alterSequence(session(), new TableName(SCHEMA, "s1"), s2);
            }
        });
    }
View Full Code Here


        transactionallyUnchecked(new Runnable()
        {
            @Override
            public void run() {
                AkibanInformationSchema ais = new AkibanInformationSchema();
                Sequence s = Sequence.create(ais, name.getSchemaName(), name.getTableName(), 3, 4, 1, 10, false);
                schemaManager.createSequence(session(), s);
            }
        });
        transactionallyUnchecked(new Runnable()
        {
            @Override
            public void run() {
                AkibanInformationSchema ais = new AkibanInformationSchema();
                Sequence s = Sequence.create(ais, name.getSchemaName(), name.getTableName(), 5, 6, 2, 20, true);
                schemaManager.alterSequence(session(), s.getSequenceName(), s);
            }
        });
        Sequence s = ais().getSequence(name);
        assertEquals("startsWith", 5, s.getStartsWith());
        assertEquals("increment", 6, s.getIncrement());
        assertEquals("minValue", 2, s.getMinValue());
        assertEquals("maxValue", 20, s.getMaxValue());
        assertEquals("cycle", true, s.isCycle());
    }
View Full Code Here

    @Test
    public void alterIdentitySequence() {
        createTable(SCHEMA, T1_NAME, "id INT NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY");
        final Table origTable = getTable(SCHEMA, T1_NAME);
        final Sequence origSequence = origTable.getColumn("id").getIdentityGenerator();
        final TableName name = origSequence.getSequenceName();
        assertNotNull("identity sequence", origSequence);
        transactionallyUnchecked(new Runnable()
        {
            @Override
            public void run() {
                AkibanInformationSchema ais = new AkibanInformationSchema();
                Sequence s = Sequence.create(ais, name.getSchemaName(), name.getTableName(), 5, 6, 2, 20, true);
                schemaManager.alterSequence(session(), s.getSequenceName(), s);
            }
        });

        final Table newTable = getTable(SCHEMA, T1_NAME);
        final Sequence newSequence = newTable.getColumn("id").getIdentityGenerator();
        assertNotNull("has identity sequence after alter", newSequence);
        assertEquals("startsWith", 5, newSequence.getStartsWith());
        assertEquals("increment", 6, newSequence.getIncrement());
        assertEquals("minValue", 2, newSequence.getMinValue());
        assertEquals("maxValue", 20, newSequence.getMaxValue());
        assertEquals("cycle", true, newSequence.isCycle());
    }
View Full Code Here

    public void durableAfterRollbackAndRestart() throws Exception {
        StoreAdapter adapter = newStoreAdapter(SchemaCache.globalSchema(ddl().getAIS(session())));
        TableName seqName = new TableName("test", "s1");
        String sql = "CREATE SEQUENCE "+seqName+" START WITH 1 INCREMENT BY 1";
        executeDDL(sql);
        Sequence s1 = ais().getSequence(seqName);
        assertNotNull("s1", s1);

        txnService().beginTransaction(session());
        assertEquals("start val a", 0, adapter.sequenceCurrentValue(s1));
        assertEquals("next val a", 1, adapter.sequenceNextValue(s1));
View Full Code Here

        final TableName seqName = new TableName("test", "s2");
        final String create = "CREATE SEQUENCE "+seqName+" START WITH 1 INCREMENT BY 1";
        final String drop = "DROP SEQUENCE "+seqName+" RESTRICT";
        for(int i = 1; i <= 2; ++i) {
            executeDDL(create);
            Sequence s1 = ais().getSequence(seqName);
            assertNotNull("s1, loop"+i, s1);

            txnService().beginTransaction(session());
            assertEquals("start val, loop"+i, 0, adapter.sequenceCurrentValue(s1));
            assertEquals("next val, loop"+i, 1, adapter.sequenceNextValue(s1));
View Full Code Here

    @Test
    public void unspecifiedDefaults() throws Exception {
        String sql = "CREATE SEQUENCE s";
        executeDDL(sql);
        Sequence s = ais().getSequence(new TableName ("test", "s"));
        assertNotNull(s);
        assertEquals("start", 1, s.getStartsWith());
        assertEquals("min", 1, s.getMinValue());
        assertEquals("max", Long.MAX_VALUE, s.getMaxValue());
        assertEquals("isCycle", false, s.isCycle());
    }
View Full Code Here

    @Test
    public void minButNoStart() throws Exception {
        String sql = "CREATE SEQUENCE s MINVALUE 10";
        executeDDL(sql);
        Sequence s = ais().getSequence(new TableName ("test", "s"));
        assertNotNull(s);
        assertEquals("start", 10, s.getStartsWith());
        assertEquals("min", 10, s.getMinValue());
    }
View Full Code Here

    @Before
    public void saveWithExtension() {
        TestStorageFormatExtended.register(testFormatRegistry);

        AISBuilder aisb = new AISBuilder();
        Sequence sequence = aisb.sequence("test", "seq", 0, 1, 0, 1000, true);
        TestStorageDescriptionExtended storageDescription = new TestStorageDescriptionExtended(sequence, identifier);
        storageDescription.setStorageKey("KEY");
        storageDescription.setExtension("PLUS");
        assertTrue(isFullDescription(storageDescription));
        sequence.setStorageDescription(storageDescription);
        ProtobufWriter writer = new ProtobufWriter();
        writer.save(aisb.akibanInformationSchema());
        writer.serialize(bytes);
        bytes.flip();
    }
View Full Code Here

    }

    @Test
    public void loadNormally() {
        TypesRegistry typesRegistry = TestTypesRegistry.MCOMPAT;
        Sequence sequence = loadSequence(typesRegistry, testFormatRegistry);
        assertNotNull(sequence);
        assertTrue(isFullDescription(sequence.getStorageDescription()));
    }
View Full Code Here

    @Test
    public void asInteger() throws Exception {
        String sql = "CREATE SEQUENCE s AS INTEGER";
        executeDDL(sql);
        Sequence s = ais().getSequence(new TableName ("test", "s"));
        assertNotNull(s);
        assertEquals("start", 1, s.getStartsWith());
        assertEquals("min", 1, s.getMinValue());
        assertEquals("max", Integer.MAX_VALUE, s.getMaxValue());
    }
View Full Code Here

TOP

Related Classes of com.foundationdb.ais.model.Sequence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.