public void WriteSql(StringBuilder writer, PostgreSqlGenerator sqlGenerator)
 {
     if (null != _sqlFragments)
     {
         foreach (var o in _sqlFragments)
         {
             var str = (o as String);
             if (null != str)
             {
                 writer.Append(str);
             }
             else
             {
                 var sqlFragment = (o as IPostgreSqlFragment);
                 if (null != sqlFragment)
                 {
                     sqlFragment.WriteSql(writer, sqlGenerator);
                 }
                 else
                 {
                     throw new InvalidOperationException();
                 }
             }
         }
     }
 }
        internal PostgreSqlVisitor(
            StringBuilder commandText,
            PostgreSqlGenerator sqlGenerator,
            bool createParameters = false)
        {
            _commandText      = commandText;
            _createParameters = createParameters;
            _sqlGenerator     = sqlGenerator;

            _parameters = new List <NpgsqlParameter>();
        }