//--------------------------------------------------------------------- // // Portions of this file copyright (c) Microsoft Corporation // and are released under the Microsoft Pulic License. See // http://archive.msdn.microsoft.com/EFSampleProvider/Project/License.aspx // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- namespace System.Data.SQLite { using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; /// /// Represents the sql fragment for any node in the query tree. /// /// /// The nodes in a query tree produce various kinds of sql /// /// A select statement. /// A reference to an extent. (symbol) /// A raw string. /// /// We have this interface to allow for a common return type for the methods /// in the expression visitor /// /// At the end of translation, the sql fragments are converted into real strings. /// internal interface ISqlFragment { /// /// Write the string represented by this fragment into the stream. /// /// The stream that collects the strings. /// Context information used for renaming. /// The global lists are used to generated new names without collisions. void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator); } }