1 // created on 1/7/2003 at 20:48
3 // Npgsql.NpgsqlDescribe.cs
6 // Francisco Jr. (fxjrlists@yahoo.com.br)
8 // Copyright (C) 2002 The Npgsql Development Team
9 // npgsql-general@gborg.postgresql.org
10 // http://gborg.postgresql.org/project/npgsql/projdisplay.php
12 // This library is free software; you can redistribute it and/or
13 // modify it under the terms of the GNU Lesser General Public
14 // License as published by the Free Software Foundation; either
15 // version 2.1 of the License, or (at your option) any later version.
17 // This library is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 // Lesser General Public License for more details.
22 // You should have received a copy of the GNU Lesser General Public
23 // License along with this library; if not, write to the Free Software
24 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
34 /// This class represents the Parse message sent to PostgreSQL
38 internal sealed class NpgsqlDescribe
40 // Logging related values
41 private static readonly String CLASSNAME
= "NpgsqlDescribe";
43 private Char _whatToDescribe
;
44 private String _portalName
;
46 public NpgsqlDescribe(Char whatToDescribe
, String portalName
)
48 _whatToDescribe
= whatToDescribe
;
49 _portalName
= portalName
;
53 public void WriteToStream(Stream outputStream
, Encoding encoding
)
55 outputStream
.WriteByte((Byte
)'D');
57 PGUtil
.WriteInt32(outputStream
, 4 +
59 encoding
.GetByteCount(_portalName
) + 1);
61 outputStream
.WriteByte((Byte
)_whatToDescribe
);
62 PGUtil
.WriteString(_portalName
, outputStream
, encoding
);