public static Query Load(string path) { if (!File.Exists(path)) { throw new FileNotFoundException(path); } int formatVersion; string description; HashSet <Connection> connections; Metadatas metadata; ExecutionPlanByServer executionPlanByServer; FastAccessList <object> referenceTracking; //using (var istream = new FileStream(path, FileMode.Open)) //using (var lzstream = new LZ4Stream(istream, CompressionMode.Decompress)) //using (var bstream = new BinaryReader(lzstream, Encoding.UTF8, true)) //{ // formatVersion = bstream.ReadInt32(); // description = bstream.ReadString(); // referenceTracking = DeserializeReferenceTracking(bstream); // connections = DeserializeConnections(bstream); // executionPlanByServer = ExecutionPlanByServer.Deserialize(bstream, referenceTracking); // metadata = AppMetadata.Deserialize(bstream, referenceTracking); //} using (var istream = new FileStream(path, FileMode.Open)) using (var bstream = new BinaryReader(istream, Encoding.UTF8, true)) { formatVersion = bstream.ReadInt32(); description = bstream.ReadString(); referenceTracking = DeserializeReferenceTracking(bstream); connections = DeserializeConnections(bstream); executionPlanByServer = ExecutionPlanByServer.Deserialize(bstream, referenceTracking); metadata = Metadatas.Deserialize(bstream, referenceTracking); } //Initialize a connection context with values used at the time of the creation of the clone. var connectionsContext = new ConnectionsContext(); connectionsContext.Initialize(connections.ToList(), metadata); return(new Query(connectionsContext, executionPlanByServer, formatVersion) { Description = description }); }
private static void DeserializeBody(BinaryReader input, ref Metadatas metadatas, FastAccessList <object> referenceTracking = null) { //var nbServerMap = input.ReadInt32(); //for (var i = 0; i < nbServerMap; i++) //{ // var src = SehemaIdentifier.Deserialize(input); // var dst = SehemaIdentifier.Deserialize(input); // config.Map.Add(src, dst); //} //var nbConnection = input.ReadInt32(); //for (var i = 0; i < nbConnection; i++) // config.ConnectionStrings.Add(SqlConnection.Deserialize(input)); metadatas = Metadatas.Deserialize(input, referenceTracking); }