I have also noticed this in 1.7.4 with the document database too.  If I 
change a property name (using ALTER CLASS .. NAME ....) the data in that 
column is lost.  If I change the column name back to the original name, the 
data is back.

Its almost like it is creating a new column instead of changing the 
existing one.

Very strange...


On Thursday, 17 July 2014 05:40:12 UTC-6, Chris Klinger wrote:
>
> Hey Guys,
>
> i'm currently evaluating how to do a database-refactoring mechanism with 
> orientdb. My Problem is when i rename a property (see attached code) i have 
> to use the old name for getting the value instead of the new one. From the 
> "metadata" i just can get the new name, the old would throw an npe.
>
> LOGGER.info("insert data...");
> List<String> propertiesList = new ArrayList<String>();
> propertiesList.add("name");
> propertiesList.add("test");
> propertiesList.add("inherited");
> propertiesList.add("true");
>
> OrientVertex vertex = graph.addVertex("class:Characteristic" , 
> propertiesList.toArray(new Object[propertiesList.size()]));
> graph.commit();
> LOGGER.info("insert data...done");
>
> LOGGER.info("change property name..."); // TODO by schema import!
>
> graph.getVertexType("Characteristic").getProperty("inherited").setName("valueInherited");
> graph.commit();
> LOGGER.info("change property name...done");
>
> graph.getRawGraph().getLevel1Cache().clear();
> graph.getRawGraph().getLevel2Cache().clear();
>
> OrientVertex vertexFromDb = graph.getVertex(vertex.getId());
> System.out.println(vertexFromDb.getPropertyKeys()); // returns [inherited, 
> name]
> System.out.println(graph.getVertexType("Characteristic").getProperty("valueInherited").getName());
>  
> // returns valueInherited
> //System.out.println(graph.getVertexType("Characteristic").getProperty("inherited").getName());
>  
> // this would throw a NPE
>
> assertNotNull("Property 'inherited' not found", 
> vertexFromDb.getProperty("inherited")); // i would expect this test to fail 
> because property was renamed but it passes
> assertNotNull("Property 'valueInherited' not found", 
> vertexFromDb.getProperty("valueInherited")); // i would expect this test to 
> pass, but it fails!
>
>
> Did i miss anything (e.g. clear anything other than level1 and 2 cache)? 
> If not is this a bug or the expected behaviour?
>
> best regards
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to