25 namespace Deveel.Data.Types {
36 public override bool IsIndexable {
40 public override bool IsStorable {
45 var reader =
new BinaryReader(stream, Encoding.Unicode);
46 var isNull = reader.ReadByte() == 0;
50 var nodeTypeString = reader.ReadString();
51 var nodeType = Type.GetType(nodeTypeString,
true);
52 var queryPlan = DeserializePlan(nodeType, reader);
63 var writer =
new BinaryWriter(stream, Encoding.Unicode);
66 if (queryPlanObj.IsNull) {
67 writer.Write((byte) 0);
69 writer.Write((byte)1);
70 var nodeTypeString = queryPlanObj.QueryPlan.GetType().AssemblyQualifiedName;
71 if (
String.IsNullOrEmpty(nodeTypeString))
72 throw new InvalidOperationException();
74 writer.Write(nodeTypeString);
75 SerializePlan(queryPlanObj.QueryPlan, writer);
81 serializer.Serialize(writer, queryPlan);
static readonly SqlQueryObject Null
A long string in the system.
QueryType(ObjectData data)
static IQueryPlanNode DeserializePlan(Type nodeType, BinaryReader reader)
static void SerializePlan(IQueryPlanNode queryPlan, BinaryWriter writer)
A node element of a query plan tree. /summary>
Defines the contract for a valid SQL Object
Defines the properties of a specific SQL Type and handles the values compatible.
SqlTypeCode
Enumerates the codes of all SQL types handled by the system.
override void SerializeObject(Stream stream, ISqlObject obj)
override ISqlObject DeserializeObject(Stream stream)