package com.orientechnologies.orient.core.metadata.schema; import com.orientechnologies.orient.core.db.document.ODatabaseDocument; import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; import com.orientechnologies.orient.core.record.impl.ODocument; import com.orientechnologies.orient.core.sql.OCommandSQL; import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import java.util.Collection; import java.util.List; /** * Created by tglman on 10/06/16. */ public class SaveLinkedTypeAnyTest { private ODatabaseDocument db; @Before public void before() { db = new ODatabaseDocumentTx("memory:" + SaveLinkedTypeAnyTest.class.getSimpleName()); db.create(); } @After public void after() { db.drop(); } @Test public void testRemoveLinkedType() { OSchema schema = db.getMetadata().getSchema(); OClass classA = schema.createClass("TestRemoveLinkedType"); OProperty prop = classA.createProperty("prop", OType.EMBEDDEDLIST, OType.ANY); // db.command(new OCommandSQL("alter property TestRemoveLinkedType.prop linkedtype null")).execute(); db.command(new OCommandSQL("insert into TestRemoveLinkedType set prop = [4]")).execute(); List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>("select from TestRemoveLinkedType")); Assert.assertNotNull(result); Assert.assertEquals(result.size(), 1); Collection coll = result.get(0).field("prop"); Assert.assertEquals(coll.size(), 1); Assert.assertEquals(coll.iterator().next(), 4); } @Test public void testAlterRemoveLinkedType() { OSchema schema = db.getMetadata().getSchema(); OClass classA = schema.createClass("TestRemoveLinkedType"); OProperty prop = classA.createProperty("prop", OType.EMBEDDEDLIST, OType.ANY); db.command(new OCommandSQL("alter property TestRemoveLinkedType.prop linkedtype null")).execute(); db.command(new OCommandSQL("insert into TestRemoveLinkedType set prop = [4]")).execute(); List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>("select from TestRemoveLinkedType")); Assert.assertNotNull(result); Assert.assertEquals(result.size(), 1); Collection coll = result.get(0).field("prop"); Assert.assertEquals(coll.size(), 1); Assert.assertEquals(coll.iterator().next(), 4); } }