Issue 803 was fixed.

git-svn-id: http://orient.googlecode.com/svn/trunk@5241 3625ad7b-9c83-922f-a72b-73d79161f2ea
Bug with parallel select from index: function executions was fixed.

git-svn-id: http://orient.googlecode.com/svn/trunk@5242 3625ad7b-9c83-922f-a72b-73d79161f2ea
"select count(*) from index:" query optimization.

git-svn-id: http://orient.googlecode.com/svn/trunk@5243 3625ad7b-9c83-922f-a72b-73d79161f2ea
If child class is created after super class indexes were created "clusters to index" property of super class indexes should be updated.

git-svn-id: http://orient.googlecode.com/svn/trunk@5244 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fixed issue 800 closing the socket on timeout

git-svn-id: http://orient.googlecode.com/svn/trunk@5307 3625ad7b-9c83-922f-a72b-73d79161f2ea
Worked on CREATE LINK command to improve performance reducing memory used.

git-svn-id: http://orient.googlecode.com/svn/trunk@5312 3625ad7b-9c83-922f-a72b-73d79161f2ea
Working to issue 29 about executing of JS scripts. Now console supports the following commands:
- js to execute client-side javascript code and
- jss to execute server-side javascript code and

git-svn-id: http://orient.googlecode.com/svn/trunk@5333 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fixed small issues on replication

git-svn-id: http://orient.googlecode.com/svn/trunk@5334 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fix for issue 775

git-svn-id: http://orient.googlecode.com/svn/trunk@5360 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fixed bug in console method call

git-svn-id: http://orient.googlecode.com/svn/trunk@5361 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fix and test case for issue 702

git-svn-id: http://orient.googlecode.com/svn/trunk@5362 3625ad7b-9c83-922f-a72b-73d79161f2ea
SQL: improved query executing sub-query once

git-svn-id: http://orient.googlecode.com/svn/trunk@5367 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fixed bug avoiding to load the record on ORecord.getVersion()

git-svn-id: http://orient.googlecode.com/svn/trunk@5368 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fixed problems on replication

git-svn-id: http://orient.googlecode.com/svn/trunk@5369 3625ad7b-9c83-922f-a72b-73d79161f2ea
Fixed messages with apostrophes

git-svn-id: http://orient.googlecode.com/svn/trunk@5370 3625ad7b-9c83-922f-a72b-73d79161f2ea
Improved optional parameters in console

git-svn-id: http://orient.googlecode.com/svn/trunk@5371 3625ad7b-9c83-922f-a72b-73d79161f2ea
Created shortcut to serialize OCommandScript()

git-svn-id: http://orient.googlecode.com/svn/trunk@5377 3625ad7b-9c83-922f-a72b-73d79161f2ea
Removed duplicated class

git-svn-id: http://orient.googlecode.com/svn/trunk@5380 3625ad7b-9c83-922f-a72b-73d79161f2ea
Refactored OBinarySerializerFactory to support 3rd party serializers

git-svn-id: http://orient.googlecode.com/svn/trunk@5381 3625ad7b-9c83-922f-a72b-73d79161f2ea
Hi all,
I've slightly refactored the index binary serializer to improve performance and let to 3rd part serializer to be registered. This is the Bayoda's case where they have a SHA256 and now are managing it as string instead of lighter and faster byte[32].

So I've created this class:

public class OHash256Serializer implements OBinarySerializer<byte[]> {
	public static final OBinaryTypeSerializer	INSTANCE	= new OBinaryTypeSerializer();
	public static final byte					ID			= 100;
	public static final int					LENGTH		= 32;

	public int getObjectSize(final int length) { return length; }
	public int getObjectSize(final byte[] object) {	return object.length; }
	public void serialize(final byte[] object, final byte[] stream, final int startPosition) { System.arraycopy(object, 0, stream, startPosition, object.length); 	}
	public byte[] deserialize(final byte[] stream, final int startPosition) { return Arrays.copyOfRange(stream, startPosition, startPosition + LENGTH);}
	public int getObjectSize(byte[] stream, int startPosition) { return LENGTH; }
	public byte getId() { return ID; }
}

And registered as OBinarySerializerFactory.registerSerializer(OHash256Serializer.ID, OHash256Serializer.INSTANCE);

OBinarySerializerFactory supportes 2 registration mode: by object for stateless serializer and by class for stateful ones. All are steteless but SimpleKeySerializer I've registered as stateful, so each index has own implementation that cache the TYPE and BINARY SERIALIZER to avoid to lookup it everytime.

Furthermore OLinkSerializer is now OBinarySerializer<OIdentifiable> instead of OBinarySerializer<ORID>. In this way eats both records and RID without the need to check before to use it.

git-svn-id: http://orient.googlecode.com/svn/trunk@5382 3625ad7b-9c83-922f-a72b-73d79161f2ea