Npgsql This class represents a parameter to a command that will be sent to server Initializes a new instance of the NpgsqlParameter class. Initializes a new instance of the NpgsqlParameter class with the parameter m_Name and a value of the new NpgsqlParameter. The m_Name of the parameter to map. An Object that is the value of the NpgsqlParameter.

When you specify an Object in the value parameter, the DbType is inferred from the .NET Framework type of the Object.

When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter. This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType. Use Convert.ToInt32(value) for example to have compiler calling the correct constructor.

Initializes a new instance of the NpgsqlParameter class with the parameter m_Name and the data type. The m_Name of the parameter to map. One of the DbType values. Initializes a new instance of the NpgsqlParameter class with the parameter m_Name, the DbType, and the size. The m_Name of the parameter to map. One of the DbType values. The length of the parameter. Initializes a new instance of the NpgsqlParameter class with the parameter m_Name, the DbType, the size, and the source column m_Name. The m_Name of the parameter to map. One of the DbType values. The length of the parameter. The m_Name of the source column. Initializes a new instance of the NpgsqlParameter class with the parameter m_Name, the DbType, the size, the source column m_Name, a ParameterDirection, the precision of the parameter, the scale of the parameter, a DataRowVersion to use, and the value of the parameter. The m_Name of the parameter to map. One of the DbType values. The length of the parameter. The m_Name of the source column. One of the ParameterDirection values. true if the value of the field can be null, otherwise false. The total number of digits to the left and right of the decimal point to which Value is resolved. The total number of decimal places to which Value is resolved. One of the DataRowVersion values. An Object that is the value of the NpgsqlParameter. Creates a new NpgsqlParameter that is a copy of the current instance. A new NpgsqlParameter that is a copy of this instance. Gets or sets the maximum number of digits used to represent the Value property. The maximum number of digits used to represent the Value property. The default value is 0, which indicates that the data provider sets the precision for Value. Gets or sets the number of decimal places to which Value is resolved. The number of decimal places to which Value is resolved. The default is 0. Gets or sets the maximum size, in bytes, of the data within the column. The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. Gets or sets the DbType of the parameter. One of the DbType values. The default is String. Gets or sets the DbType of the parameter. One of the DbType values. The default is String. Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. One of the ParameterDirection values. The default is Input. Gets or sets a value indicating whether the parameter accepts null values. true if null values are accepted; otherwise, false. The default is false. Gets or sets the m_Name of the NpgsqlParameter. The m_Name of the NpgsqlParameter. The default is an empty string. The m_Name scrubbed of any optional marker Gets or sets the m_Name of the source column that is mapped to the DataSet and used for loading or returning the Value. The m_Name of the source column that is mapped to the DataSet. The default is an empty string. Gets or sets the DataRowVersion to use when loading Value. One of the DataRowVersion values. The default is Current. Gets or sets the value of the parameter. An Object that is the value of the parameter. The default value is null. Gets or sets the value of the parameter. An Object that is the value of the parameter. The default value is null. This class represents the Parse message sent to PostgreSQL server. For classes representing messages sent from the client to the server. Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY). Return an exact copy of this NpgsqlConnectionString. This function will set value for known key, both private member and base[key]. The function will modify private member only, not base[key]. Clear the member and assign them to the default value. Compatibilty version. When possible, behaviour caused by breaking changes will be preserved if this version is less than that where the breaking change was introduced. Case insensative accessor for indivual connection string values. Common base class for all derived MD5 implementations. Called from constructor of derived class. Finalizer for HashAlgorithm Computes the entire hash of all the bytes in the byte array. When overridden in a derived class, drives the hashing function. When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. When overridden in a derived class, initializes the object to prepare for hashing. Used for stream chaining. Computes hash as data passes through it. The buffer from which to grab the data to be copied. The offset into the input buffer to start reading at. The number of bytes to be copied. The buffer to write the copied data to. At what point in the outputBuffer to write the data at. Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. The buffer from which to grab the data to be copied. The offset into the input buffer to start reading at. The number of bytes to be copied. Get whether or not the hash can transform multiple blocks at a time. Note: MUST be overriden if descendant can transform multiple block on a single call! Gets the previously computed hash. Returns the size in bits of the hash. Must be overriden if not 1 Must be overriden if not 1 Called from constructor of derived class. Creates the default derived class. Given a join expression and a projection, fetch all columns in the projection that reference columns in the join. Given an InputExpression append all from names (including nested joins) to the list. Get new ColumnExpression that will be used in projection that had it's existing columns moved. These should be simple references to the inner column Every property accessed in the list of columns must be adjusted for a new scope This class provides many util methods to handle reading and writing of PostgreSQL protocol messages. This method takes a ProtocolVersion and returns an integer version number that the Postgres backend will recognize in a startup packet. This method takes a version string as returned by SELECT VERSION() and returns a valid version string ("7.2.2" for example). This is only needed when running protocol version 2. This does not do any validity checks. This method gets a C NULL terminated string from the network stream. It keeps reading a byte in each time until a NULL byte is returned. It returns the resultant string of bytes read. This string is sent from backend. Reads requested number of bytes from stream with retries until Stream.Read returns 0 or count is reached. Stream to read byte buffer to fill starting position to fill the buffer number of bytes to read The number of bytes read. May be less than count if no more bytes are available. This method writes a C NULL terminated string to the network stream. It appends a NULL terminator to the end of the String. This method writes a C NULL terminated string to the network stream. It appends a NULL terminator to the end of the String. This method writes a set of bytes to the stream. It also enables logging of them. This method writes a C NULL terminated string limited in length to the backend server. It pads the string with null bytes to the size specified. Write a 32-bit integer to the given stream in the correct byte order. Read a 32-bit integer from the given stream in the correct byte order. Write a 16-bit integer to the given stream in the correct byte order. Read a 16-bit integer from the given stream in the correct byte order. Represent the frontend/backend protocol version. Represent the backend server version. As this class offers no functionality beyond that offered by it has been deprecated in favour of that class. Returns the string representation of this version in three place dot notation (Major.Minor.Patch). Server version major number. Server version minor number. Server version patch level number. Represents a PostgreSQL COPY TO STDOUT operation with a corresponding SQL statement to execute against a PostgreSQL database and an associated stream used to write results to (if provided by user) or for reading the results (when generated by driver). Eg. new NpgsqlCopyOut("COPY (SELECT * FROM mytable) TO STDOUT", connection, streamToWrite).Start(); Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query. Given command is run upon Start(), after which CopyStream provides data from database as requested in the query. Given command is executed upon Start() and all requested copy data is written to toStream immediately. Returns true if this operation is currently active and field at given location is in binary format. Command specified upon creation is executed as a non-query. If CopyStream is set upon creation, all copy data from server will be written to it, and operation will be finished immediately. Otherwise the CopyStream member can be used for reading copy data from server until no more data is available. Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server. Returns true if the connection is currently reserved for this operation. The stream provided by user or generated upon Start() The Command used to execute this copy operation. Returns true if this operation is currently active and in binary format. Returns number of fields if this operation is currently active, otherwise -1 Faster alternative to using the generated CopyStream. This class manages all connector objects, pooled AND non-pooled. Unique static instance of the connector pool mamager. Map of index to unused pooled connectors, avaliable to the next RequestConnector() call. This hashmap will be indexed by connection string. This key will hold a list of queues of pooled connectors available to be used. Timer for tracking unused connections in pools. Searches the shared and pooled connector lists for a matching connector object or creates a new one. The NpgsqlConnection that is requesting the connector. Its ConnectionString will be used to search the pool for available connectors. A connector object. Find a pooled connector. Handle locking and timeout here. Find a pooled connector. Handle shared/non-shared here. Releases a connector, possibly back to the pool for future use. Pooled connectors will be put back into the pool if there is room. Shared connectors should just have their use count decremented since they always stay in the shared pool. The connector to release. Release a pooled connector. Handle locking here. Release a pooled connector. Handle shared/non-shared here. Create a connector without any pooling functionality. Find an available pooled connector in the non-shared pool, or create a new one if none found. This method is only called when NpgsqlConnection.Dispose(false) is called which means a finalization. This also means, an NpgsqlConnection was leak. We clear pool count so that client doesn't end running out of connections from pool. When the connection is finalized, its underlying socket is closed. Close the connector. Connector to release Put a pooled connector into the pool queue. Connector to pool A queue with an extra Int32 for keeping track of busy connections. Connections available to the end user Connections currently in use This class represents a BackEndKeyData message received from PostgreSQL Used when a connection is closed Summary description for NpgsqlQuery Represents the method that handles the Notice events. A NpgsqlNoticeEventArgs that contains the event data. Represents the method that handles the Notification events. The source of the event. A NpgsqlNotificationEventArgs that contains the event data. This class represents a connection to a PostgreSQL server. Initializes a new instance of the NpgsqlConnection class. Initializes a new instance of the NpgsqlConnection class and sets the ConnectionString. The connection used to open the PostgreSQL database. Begins a database transaction with the specified isolation level. The isolation level under which the transaction should run. An DbTransaction object representing the new transaction. Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. There's no support for nested transactions. Begins a database transaction. A NpgsqlTransaction object representing the new transaction. Currently there's no support for nested transactions. Begins a database transaction with the specified isolation level. The isolation level under which the transaction should run. A NpgsqlTransaction object representing the new transaction. Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. There's no support for nested transactions. Opens a database connection with the property settings specified by the ConnectionString. This method changes the current database by disconnecting from the actual database and connecting to the specified. The name of the database to use in place of the current database. Releases the connection to the database. If the connection is pooled, it will be made available for re-use. If it is non-pooled, the actual connection will be shutdown. Creates and returns a DbCommand object associated with the IDbConnection. A DbCommand object. Creates and returns a NpgsqlCommand object associated with the NpgsqlConnection. A NpgsqlCommand object. Releases all resources used by the NpgsqlConnection. true when called from Dispose(); false when being called from the finalizer. Create a new connection based on this one. A new NpgsqlConnection object. Create a new connection based on this one. A new NpgsqlConnection object. Default SSL CertificateSelectionCallback implementation. Default SSL CertificateValidationCallback implementation. Default SSL PrivateKeySelectionCallback implementation. Default SSL ProvideClientCertificatesCallback implementation. Write each key/value pair in the connection string to the log. Returns the supported collections Returns the schema collection specified by the collection name. The collection name. The collection specified. Returns the schema collection specified by the collection name filtered by the restrictions. The collection name. The restriction values to filter the results. A description of the restrictions is contained in the Restrictions collection. The collection specified. Occurs on NoticeResponses from the PostgreSQL backend. Occurs on NotificationResponses from the PostgreSQL backend. Called to provide client certificates for SSL handshake. Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. Gets or sets the string used to connect to a PostgreSQL database. Valid values are:
  • Server: Address/Name of Postgresql Server;
  • Port: Port to connect to;
  • Protocol: Protocol version to use, instead of automatic; Integer 2 or 3;
  • Database: Database name. Defaults to user name if not specified;
  • User Id: User name;
  • Password: Password for clear text authentication;
  • SSL: True or False. Controls whether to attempt a secure connection. Default = False;
  • Pooling: True or False. Controls whether connection pooling is used. Default = True;
  • MinPoolSize: Min size of connection pool;
  • MaxPoolSize: Max size of connection pool;
  • Timeout: Time to wait for connection open in seconds. Default is 15.
  • CommandTimeout: Time to wait for command to finish execution before throw an exception. In seconds. Default is 20.
  • Sslmode: Mode for ssl connection control. Can be Prefer, Require, Allow or Disable. Default is Disable. Check user manual for explanation of values.
  • ConnectionLifeTime: Time to wait before closing unused connections in the pool in seconds. Default is 15.
  • SyncNotification: Specifies if Npgsql should use synchronous notifications.
  • SearchPath: Changes search path to specified and public schemas.
The connection string that includes the server name, the database name, and other parameters needed to establish the initial connection. The default value is an empty string.
Backend server host name. Backend server port. If true, the connection will attempt to use SSL. Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. The time (in seconds) to wait for a connection to open. The default value is 15 seconds. Gets the time to wait while trying to execute a command before terminating the attempt and generating an error. The time (in seconds) to wait for a command to complete. The default value is 20 seconds. Gets the time to wait before closing unused connections in the pool if the count of all connections exeeds MinPoolSize. If connection pool contains unused connections for ConnectionLifeTime seconds, the half of them will be closed. If there will be unused connections in a second later then again the half of them will be closed and so on. This strategy provide smooth change of connection count in the pool. The time (in seconds) to wait. The default value is 15 seconds. Gets the name of the current database or the database to be used after a connection is opened. The name of the current database or the name of the database to be used after a connection is opened. The default value is the empty string. Whether datareaders are loaded in their entirety (for compatibility with earlier code). Gets the database server name. Gets flag indicating if we are using Synchronous notification or not. The default value is false. Gets the current state of the connection. A bitwise combination of the ConnectionState values. The default is Closed. Gets whether the current state of the connection is Open or Closed ConnectionState.Open or ConnectionState.Closed Version of the PostgreSQL backend. This can only be called when there is an active connection. Protocol version in use. This can only be called when there is an active connection. Process id of backend server. This can only be called when there is an active connection. The connector object connected to the backend. Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. User name. Password. Determine if connection pooling will be used for this connection. This class represents the CancelRequest message sent to PostgreSQL server. A time period expressed in 100ns units. A time period expressed in a Number of 100ns units. Number of seconds. Number of milliseconds. Number of milliseconds. Number of milliseconds. A d with the given number of ticks. A d with the given number of microseconds. A d with the given number of milliseconds. A d with the given number of seconds. A d with the given number of minutes. A d with the given number of hours. A d with the given number of days. A d with the given number of months. An whose values are the sums of the two instances. An whose values are the differences of the two instances. An whose value is the negated value of this instance. An whose value is the absolute value of this instance. An based on this one, but with any days converted to multiples of ±24hours. An based on this one, but with any months converted to multiples of ±30days. An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; An eqivalent, canonical, . An equivalent . An signed integer. The argument is not an . The string was not in a format that could be parsed to produce an . true if the parsing succeeded, false otherwise. The representation. An whose values are the sum of the arguments. An whose values are the difference of the arguments true if the two arguments are exactly the same, false otherwise. false if the two arguments are exactly the same, true otherwise. true if the first is less than second, false otherwise. true if the first is less than or equivalent to second, false otherwise. true if the first is greater than second, false otherwise. true if the first is greater than or equivalent to the second, false otherwise. The argument. The negation of the argument. This time, normalised This time, normalised An integer which is 0 if they are equal, < 0 if this is the smaller and > 0 if this is the larger. A class to handle everything associated with SSPI authentication Simplified SecBufferDesc struct with only one SecBuffer This class represents the Parse message sent to PostgreSQL server. EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context. Notice information. This class represents the ErrorResponse and NoticeResponse message sent from PostgreSQL server. Return a string representation of this error object. Severity code. All versions. Error code. PostgreSQL 7.4 and up. Terse error message. All versions. Detailed error message. PostgreSQL 7.4 and up. Suggestion to help resolve the error. PostgreSQL 7.4 and up. Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. Position (one based) within the query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. Internal query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. Trace back information. PostgreSQL 7.4 and up. Source file (in backend) reporting the error. PostgreSQL 7.4 and up. Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. String containing the sql sent which produced this error. Backend protocol version in use. Represents an ongoing COPY TO STDOUT operation. Provides methods to read data from server or end the operation. This class represents the base class for the state pattern design pattern implementation. This method is used by the states to change the state of the context. This method is responsible to handle all protocol messages sent from the backend. It holds all the logic to do it. To exchange data, it uses a Mediator object from which it reads/writes information to handle backend requests. This method is responsible to handle all protocol messages sent from the backend. It holds all the logic to do it. To exchange data, it uses a Mediator object from which it reads/writes information to handle backend requests. Called from NpgsqlState.ProcessBackendResponses upon CopyOutResponse. If CopyStream is already set, it is used to write data received from server, after which the copy ends. Otherwise CopyStream is set to a readable NpgsqlCopyOutStream that receives data from server. Called from NpgsqlOutStream.Read to read copy data from server. Copy format information returned from server. Handles serialisation of .NET array or IEnumeration to pg format. Arrays of arrays, enumerations of enumerations, arrays of enumerations etc. are treated as multi-dimensional arrays (in much the same manner as an array of arrays is used to emulate multi-dimensional arrays in languages that lack native support for them). If such an enumeration of enumerations is "jagged" (as opposed to rectangular, cuboid, hypercuboid, hyperhypercuboid, etc) then this class will "correctly" serialise it, but pg will raise an error as it doesn't allow jagged arrays. Create an ArrayNativeToBackendTypeConverter with the element converter passed The that would be used to serialise the element type. Serialise the enumeration or array. Handles parsing of pg arrays into .NET arrays. Takes a string representation of a pg 1-dimensional array (or a 1-dimensional row within an n-dimensional array) and allows enumeration of the string represenations of each items. Takes a string representation of a pg n-dimensional array and allows enumeration of the string represenations of the next lower level of rows (which in turn can be taken as (n-1)-dimensional arrays. Takes an ArrayList which may be an ArrayList of ArrayLists, an ArrayList of ArrayLists of ArrayLists and so on and enumerates the items that aren't ArrayLists (the leaf nodes if we think of the ArrayList passed as a tree). Simply uses the ArrayLists' own IEnumerators to get that of the next, pushing them onto a stack until we hit something that isn't an ArrayList. ArrayList to enumerate IEnumerable Create a new ArrayBackendToNativeTypeConverter for the element type. Creates an array from pg representation. Creates an array list from pg represenation of an array. Multidimensional arrays are treated as ArrayLists of ArrayLists Creates an n-dimensional array from an ArrayList of ArrayLists or a 1-dimensional array from something else. to convert produced. Takes an array of ints and treats them like the limits of a set of counters. Retains a matching set of ints that is set to all zeros on the first ++ On a ++ it increments the "right-most" int. If that int reaches it's limit it is set to zero and the one before it is incremented, and so on. Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here. This class represents the ParameterStatus message sent from PostgreSQL server. This class is responsible for serving as bridge between the backend protocol handling and the core classes. It is used as the mediator for exchanging data generated/sent from/to backend. This class is responsible to create database commands for automatic insert, update and delete operations. This method is reponsible to derive the command parameter list with values obtained from function definition. It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown. Parameters name will be parameter1, parameter2, ... For while, only parameter name and NpgsqlDbType are obtained. NpgsqlCommand whose function parameters will be obtained. Represents a completed response message. Marker interface which identifies a class which may take possession of a stream for the duration of it's lifetime (possibly temporarily giving that possession to another class for part of that time. It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course we can't make that inherit from this interface, alas. The exception that is thrown when the PostgreSQL backend reports errors. Construct a backend error exception based on a list of one or more backend errors. The basic Exception.Message will be built from the first (usually the only) error in the list. Format a .NET style exception string. Include all errors in the list, including any hints. Append a line to the given Stream, first checking for zero-length. Provide access to the entire list of errors provided by the PostgreSQL backend. Severity code. All versions. Error code. PostgreSQL 7.4 and up. Basic error message. All versions. Detailed error message. PostgreSQL 7.4 and up. Suggestion to help resolve the error. PostgreSQL 7.4 and up. Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. Trace back information. PostgreSQL 7.4 and up. Source file (in backend) reporting the error. PostgreSQL 7.4 and up. Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. String containing the sql sent which produced this error. Returns the entire list of errors provided by the PostgreSQL backend. The level of verbosity of the NpgsqlEventLog Don't log at all Only log the most common issues Log everything This class handles all the Npgsql event and debug logging Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level This method is obsolete and should no longer be used. It is likely to be removed in future versions of Npgsql The message to write to the event log The minimum LogLevel for which this message should be logged. Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level The ResourceManager to get the localized resources The name of the resource that should be fetched by the ResourceManager The minimum LogLevel for which this message should be logged. The additional parameters that shall be included into the log-message (must be compatible with the string in the resource): Writes the default log-message for the action of calling the Get-part of an Indexer to the log file. The minimum LogLevel for which this message should be logged. The name of the class that contains the Indexer The parameter given to the Indexer Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Indexer The parameter given to the Indexer The value the Indexer is set to Writes the default log-message for the action of calling the Get-part of a Property to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Property The name of the Property Writes the default log-message for the action of calling the Set-part of a Property to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Property The name of the Property The value the Property is set to Writes the default log-message for the action of calling a Method without Arguments to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Method The name of the Method Writes the default log-message for the action of calling a Method with one Argument to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Method The name of the Method The value of the Argument of the Method Writes the default log-message for the action of calling a Method with two Arguments to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Method The name of the Method The value of the first Argument of the Method The value of the second Argument of the Method Writes the default log-message for the action of calling a Method with three Arguments to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Method The name of the Method The value of the first Argument of the Method The value of the second Argument of the Method The value of the third Argument of the Method Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile. The minimum LogLevel for which this message should be logged. The name of the class that contains the Method The name of the Method A Object-Array with zero or more Ojects that are Arguments of the Method. Sets/Returns the level of information to log to the logfile. The current LogLevel Sets/Returns the filename to use for logging. The filename of the current Log file. Sets/Returns whether Log messages should be echoed to the console true if Log messages are echoed to the console, otherwise false This class represents the Parse message sent to PostgreSQL server. Represents a PostgreSQL COPY FROM STDIN operation with a corresponding SQL statement to execute against a PostgreSQL database and an associated stream used to read data from (if provided by user) or for writing it (when generated by driver). Eg. new NpgsqlCopyIn("COPY mytable FROM STDIN", connection, streamToRead).Start(); Creates NpgsqlCommand to run given query upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). Given command is run upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). Given command is executed upon Start() and all data from fromStream is passed to it as copy data. Returns true if this operation is currently active and field at given location is in binary format. Command specified upon creation is executed as a non-query. If CopyStream is set upon creation, it will be flushed to server as copy data, and operation will be finished immediately. Otherwise the CopyStream member can be used for writing copy data to server and operation finished with a call to End() or Cancel(). Called after writing all data to CopyStream to successfully complete this copy operation. Withdraws an already started copy operation. The operation will fail with given error message. Will do nothing if current operation is not active. Returns true if the connection is currently reserved for this operation. The stream provided by user or generated upon Start(). User may provide a stream to constructor; it is used to pass to server all data read from it. Otherwise, call to Start() sets this to a writable NpgsqlCopyInStream that passes all data written to it to server. In latter case this is only available while the copy operation is active and null otherwise. Returns true if this operation is currently active and in binary format. Returns number of fields expected on each input row if this operation is currently active, otherwise -1 The Command used to execute this copy operation. Set before a COPY IN query to define size of internal buffer for reading from given CopyStream. Represents information about COPY operation data transfer format as returned by server. Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses() Returns true if this operation is currently active and field at given location is in binary format. Returns true if this operation is currently active and in binary format. Returns number of fields if this operation is currently active, otherwise -1 Provide event handlers to convert all native supported basic data types from their backend text representation to a .NET object. Binary data. Convert a postgresql boolean to a System.Boolean. Convert a postgresql bit to a System.Boolean. Convert a postgresql datetime to a System.DateTime. Convert a postgresql date to a System.DateTime. Convert a postgresql time to a System.DateTime. Convert a postgresql money to a System.Decimal. Provide event handlers to convert the basic native supported data types from native form to backend representation. Binary data. Convert to a postgresql boolean. Convert to a postgresql bit. Convert to a postgresql timestamp. Convert to a postgresql date. Convert to a postgresql time. Convert to a postgres money. Convert to a postgres double with maximum precision. Provide event handlers to convert extended native supported data types from their backend text representation to a .NET object. Convert a postgresql point to a System.NpgsqlPoint. Convert a postgresql point to a System.RectangleF. LDeg. Path. Polygon. Circle. Inet. MAC Address. interval Provide event handlers to convert extended native supported data types from native form to backend representation. Point. Box. LSeg. Open path. Polygon. Convert to a postgres MAC Address. Circle. Convert to a postgres inet. Convert to a postgres interval EventArgs class to send Notification parameters. Process ID of the PostgreSQL backend that sent this notification. Condition that triggered that notification. Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string) Resolve a host name or IP address. This is needed because if you call Dns.Resolve() with an IP address, it will attempt to resolve it as a host name, when it should just convert it to an IP address. This class represents a RowDescription message sent from the PostgreSQL. This struct represents the internal data of the RowDescription message. This class represents the Parse message sent to PostgreSQL server. A factory to create instances of various Npgsql objects. Creates an NpgsqlCommand object. This class represents the Parse message sent to PostgreSQL server. Represents the method that handles the RowUpdated events. The source of the event. A NpgsqlRowUpdatedEventArgs that contains the event data. Represents the method that handles the RowUpdating events. The source of the event. A NpgsqlRowUpdatingEventArgs that contains the event data. This class represents an adapter from many commands: select, update, insert and delete to fill Datasets. Stream for reading data from a table or select on a PostgreSQL version 7.4 or newer database during an active COPY TO STDOUT operation. Passes data exactly as provided by the server. Created only by NpgsqlCopyOutState.StartCopy() Discards copy data as long as server pushes it. Returns after operation is finished. Does nothing if this stream is not the active copy operation reader. Not writable. Not flushable. Copies data read from server to given byte buffer. Since server returns data row by row, length will differ each time, but it is only zero once the operation ends. Can be mixed with calls to the more efficient NpgsqlCopyOutStream.Read() : byte[] though that would not make much sense. Not seekable Not supported Returns a whole row of data from server without extra work. If standard Stream.Read(...) has been called before, it's internal buffers remains are returned. True while this stream can be used to read copy data from server True False False Number of bytes read so far Number of bytes read so far; can not be set. This class represents the Bind message sent to PostgreSQL server. Summary description for LargeObjectManager. Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. Commits the database transaction. Rolls back a transaction from a pending state. Rolls back a transaction from a pending savepoint state. Creates a transaction save point. Cancel the transaction without telling the backend about it. This is used to make the transaction go away when closing a connection. Gets the NpgsqlConnection object associated with the transaction, or a null reference if the transaction is no longer valid. The NpgsqlConnection object associated with the transaction. Specifies the IsolationLevel for this transaction. The IsolationLevel for this transaction. The default is ReadCommitted. This class represents a StartupPacket message of PostgreSQL protocol. Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited. Return the data type name of the column at index . Return the data type of the column at index . Return the Npgsql specific data type of the column at requested ordinal. column position Appropriate Npgsql type for column. Return the column name of the column at index . Return the data type OID of the column at index . FIXME: Why this method returns String? Return the column name of the column named . Return the data DbType of the column at index . Return the data NpgsqlDbType of the column at index . Get the value of a column as a . If the differences between and in handling of days and months is not important to your application, use instead. Index of the field to find. value of the field. Gets the value of a column converted to a Guid. Gets the value of a column as Int16. Gets the value of a column as Int32. Gets the value of a column as Int64. Gets the value of a column as Single. Gets the value of a column as Double. Gets the value of a column as String. Gets the value of a column as Decimal. Gets the value of a column as TimeSpan. Copy values from each column in the current row into . The number of column values copied. Copy values from each column in the current row into . An array appropriately sized to store values from all columns. The number of column values copied. Gets the value of a column as Boolean. Gets the value of a column as Byte. Not implemented. Gets the value of a column as Char. Gets the value of a column as DateTime. Returns a System.Data.DataTable that describes the column metadata of the DataReader. This methods parses the command text and tries to get the tablename from it. Is raised whenever Close() is called. Gets the number of columns in the current row. Gets the value of a column in its native format. Gets the value of a column in its native format. Gets a value indicating the depth of nesting for the current row. Always returns zero. Gets a value indicating whether the data reader is closed. Contains the column names as the keys Contains all unique columns This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the preload-reader option is not set in the connection string to resolve some potential backwards-compatibility issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still used to do the actual "leg-work" of turning a response stream from the server into a datareader-style object - with CachingDataReader then filling it's cache from here. Iterate through the objects returned through from the server. If it's a CompletedResponse the rowsaffected count is updated appropriately, and we iterate again, otherwise we return it (perhaps updating our cache of pending rows if appropriate). The next we will deal with. Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. True if the reader was advanced, otherwise false. Releases the resources used by the NpgsqlCommand. Closes the data reader object. Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. True if the reader was advanced, otherwise false. Advances the data reader to the next row. True if the reader was advanced, otherwise false. Return the value of the column at index . Gets raw data from a column. Gets raw data from a column. Report whether the value in a column is DBNull. Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. Indicates if NpgsqlDatareader has rows to be read. Provides an implementation of NpgsqlDataReader in which all data is pre-loaded into memory. This operates by first creating a ForwardsOnlyDataReader as usual, and then loading all of it's Rows into memory. There is a general principle that when there is a trade-off between a class design that is more efficient and/or scalable on the one hand and one that is less efficient but has more functionality (in this case the internal-only functionality of caching results) that one can build the less efficent class from the most efficient without significant extra loss in efficiency, but not the other way around. The relationship between ForwardsOnlyDataReader and CachingDataReader is an example of this). Since the interface presented to the user is still forwards-only, queues are used to store this information, so that dequeueing as we go we give the garbage collector the best opportunity possible to reclaim any memory that is no longer in use. ForwardsOnlyDataReader being used to actually obtain the information from the server means that the "leg-work" is still only done (and need only be maintained) in one place. This class exists to allow for certain potential backwards-compatibility issues to be resolved with little effort on the part of affected users. It is considerably less efficient than ForwardsOnlyDataReader and hence never used internally. Represents the method that allows the application to provide a certificate collection to be used for SSL clien authentication A X509CertificateCollection to be filled with one or more client certificates. !!! Helper class, for compilation only. Connector implements the logic for the Connection Objects to access the physical connection to the database, and isolate the application developer from connection pooling internals. Constructor. Controls whether the connector can be shared. This method checks if the connector is still ok. We try to send a simple query text, select 1 as ConnectionTest; This method is responsible for releasing all resources associated with this Connector. This method is responsible to release all portals used by this Connector. Default SSL CertificateSelectionCallback implementation. Default SSL CertificateValidationCallback implementation. Default SSL PrivateKeySelectionCallback implementation. Default SSL ProvideClientCertificatesCallback implementation. This method is required to set all the version dependent features flags. SupportsPrepare means the server can use prepared query plans (7.3+) Opens the physical connection to the server. Usually called by the RequestConnector Method of the connection pool manager. Closes the physical connection to the server. Returns next portal index. Returns next plan index. Occurs on NoticeResponses from the PostgreSQL backend. Occurs on NotificationResponses from the PostgreSQL backend. Called to provide client certificates for SSL handshake. Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. Gets the current state of the connection. Return Connection String. Version of backend server this connector is connected to. Backend protocol version in use by this connector. The physical connection stream to the backend. The physical connection socket to the backend. Reports if this connector is fully connected. The connection mediator. Report if the connection is in a transaction. Report whether the current connection can support prepare functionality. This class contains helper methods for type conversion between the .Net type system and postgresql. A cache of basic datatype mappings keyed by server version. This way we don't have to load the basic type mappings for every connection. Find a NpgsqlNativeTypeInfo in the default types map that can handle objects of the given NpgsqlDbType. Find a NpgsqlNativeTypeInfo in the default types map that can handle objects of the given NpgsqlDbType. Find a NpgsqlNativeTypeInfo in the default types map that can handle objects of the given DbType. Find a NpgsqlNativeTypeInfo in the default types map that can handle objects of the given System.Type. This method is responsible to convert the string received from the backend to the corresponding NpgsqlType. The given TypeInfo is called upon to do the conversion. If no TypeInfo object is provided, no conversion is performed. Create the one and only native to backend type map. This map is used when formatting native data types to backend representations. This method creates (or retrieves from cache) a mapping between type and OID of all natively supported postgresql data types. This is needed as from one version to another, this mapping can be changed and so we avoid hardcoding them. NpgsqlTypeMapping containing all known data types. The mapping must be cloned before it is modified because it is cached; changes made by one connection may effect another connection. Attempt to map types by issuing a query against pg_type. This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field of each by querying pg_type. If the mapping is found, the type info object is updated (OID) and added to the provided NpgsqlTypeMapping object. NpgsqlConnector to send query through. Mapping object to add types too. List of types that need to have OID's mapped. Delegate called to convert the given backend data to its native representation. Delegate called to convert the given native data to its backand representation. Represents a backend data type. This class can be called upon to convert a backend field representation to a native object. Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. Type OID provided by the backend server. Type name provided by the backend server. NpgsqlDbType System type to convert fields of this type to. Data conversion handler. Perform a data conversion from a backend representation to a native object. Data sent from the backend. Type modifier field sent from the backend. Type OID provided by the backend server. Type name provided by the backend server. NpgsqlDbType. NpgsqlDbType. Provider type to convert fields of this type to. System type to convert fields of this type to. Represents a backend data type. This class can be called upon to convert a native object to its backend field representation, Returns an NpgsqlNativeTypeInfo for an array where the elements are of the type described by the NpgsqlNativeTypeInfo supplied. Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. Type name provided by the backend server. NpgsqlDbType Data conversion handler. Perform a data conversion from a native object to a backend representation. DBNull and null values are handled differently depending if a plain query is used When Native .NET object to be converted. Flag indicating if the conversion has to be done for plain queries or extended queries Type name provided by the backend server. NpgsqlDbType. DbType. Apply quoting. Use parameter size information. Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. Construct an empty mapping. Copy constuctor. Add the given NpgsqlBackendTypeInfo to this mapping. Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping. Type OID provided by the backend server. Type name provided by the backend server. NpgsqlDbType System type to convert fields of this type to. Data conversion handler. Make a shallow copy of this type mapping. Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping. Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping. Get the number of type infos held. Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found. Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found. Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it. Add the given NpgsqlNativeTypeInfo to this mapping. Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping. Type name provided by the backend server. NpgsqlDbType Data conversion handler. Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType. Retrieve the NpgsqlNativeTypeInfo with the given DbType. Retrieve the NpgsqlNativeTypeInfo with the given Type. Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping. Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping. Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping. Get the number of type infos held. Implements for version 3 of the protocol. Reads a row, field by field, allowing a DataRow to be built appropriately. Reads part of a field, as needed (for and Adds further functionality to stream that is dependant upon the type of data read. Completes the implementation of Streamer for char data. Completes the implementation of Streamer for byte data. Implements for version 2 of the protocol. Encapsulates the null mapping bytes sent at the start of a version 2 datarow message, and the process of identifying the nullity of the data at a particular index Provides the underlying mechanism for reading schema information. Creates an NpgsqlSchema that can read schema information from the database. An open database connection for reading metadata. Returns the MetaDataCollections that lists all possible collections. The MetaDataCollections Returns the Restrictions that contains the meaning and position of the values in the restrictions array. The Restrictions Returns the Databases that contains a list of all accessable databases. The restrictions to filter the collection. The Databases Returns the Tables that contains table and view names and the database and schema they come from. The restrictions to filter the collection. The Tables Returns the Columns that contains information about columns in tables. The restrictions to filter the collection. The Columns. Returns the Views that contains view names and the database and schema they come from. The restrictions to filter the collection. The Views Returns the Users containing user names and the sysid of those users. The restrictions to filter the collection. The Users. This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow. Implements a bit string; a collection of zero or more bits which can each be 1 or 0. BitString's behave as a list of bools, though like most strings and unlike most collections the position tends to be of as much significance as the value. BitStrings are often used as masks, and are commonly cast to and from other values. Represents the empty string. Create a BitString from an enumeration of boolean values. The BitString will contain those booleans in the order they came in. The boolean values. Creates a BitString filled with a given number of true or false values. The value to fill the string with. The number of bits to fill. Creats a bitstring from a string. The string to copy from. Creates a single-bit element from a boolean value. The bool value which determines whether the bit is 1 or 0. Creates a bitstring from an unsigned integer value. The string will be the shortest required to contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). The integer. This method is not CLS Compliant, and may not be available to some languages. Creates a bitstring from an integer value. The string will be the shortest required to contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). The integer. Finds the first instance of a given value The value - whether true or false - to search for. The index of the value found, or -1 if none are present. True if there is at least one bit with the value looked for. The value - true or false - to detect. True if at least one bit was the same as item, false otherwise. Copies the bitstring to an array of bools. The boolean array to copy to. The index in the array to start copying from. Returns an enumerator that enumerates through the string. The enumerator. Creats a bitstring by concatenating another onto this one. The string to append to this one. The combined strings. Returns a substring of this string. The position to start from, must be between 0 and the length of the string. The length of the string to return, must be greater than zero, and may not be so large that the start + length exceeds the bounds of this instance. The Bitstring identified Returns a substring of this string. The position to start from, must be between 0 and the length of the string, the rest of the string is returned. The Bitstring identified A logical and between this string and another. The two strings must be the same length. Another BitString to AND with this one. A bitstring with 1 where both BitStrings had 1 and 0 otherwise. A logical or between this string and another. The two strings must be the same length. Another BitString to OR with this one. A bitstring with 1 where either BitString had 1 and 0 otherwise. A logical xor between this string and another. The two strings must be the same length. Another BitString to XOR with this one. A bitstring with 1 where one BitStrings and the other had 0, and 0 where they both had 1 or both had 0. A bitstring that is the logical inverse of this one. A bitstring of the same length as this with 1 where this has 0 and vice-versa. Shifts the string operand bits to the left, filling with zeros to produce a string of the same length. The number of bits to shift to the left. A left-shifted bitstring. The behaviour of LShift is closer to what one would expect from dealing with PostgreSQL bit-strings than in using the same operations on integers in .NET In particular, negative operands result in a right-shift, and operands greater than the length of the string will shift it entirely, resulting in a zero-filled string. Shifts the string operand bits to the right, filling with zeros to produce a string of the same length. The number of bits to shift to the right. A right-shifted bitstring. The behaviour of RShift is closer to what one would expect from dealing with PostgreSQL bit-strings than in using the same operations on integers in .NET In particular, negative operands result in a left-shift, and operands greater than the length of the string will shift it entirely, resulting in a zero-filled string. It also performs a logical shift, rather than an arithmetic shift, so it always sets the vacated bit positions to zero (like PostgreSQL and like .NET for unsigned integers but not for signed integers). Returns true if the this string is identical to the argument passed. Compares two strings. Strings are compared as strings, so while 0 being less than 1 will mean a comparison between two strings of the same size is the same as treating them as numbers, in the case of two strings of differing lengths the comparison starts at the right-most (most significant) bit, and if all bits of the shorter string are exhausted without finding a comparison, then the larger string is deemed to be greater than the shorter (0010 is greater than 0001 but less than 00100). Another string to compare with this one. A value if the two strings are identical, an integer less than zero if this is less than the argument, and an integer greater than zero otherwise. Compares the string with another object. The object to compare with. If the object is null then this string is considered greater. If the object is another BitString then they are compared as in the explicit comparison for BitStrings in any other case a is thrown. Compares this BitString with an object for equality. Returns a code for use in hashing operations. Returns a string representation of the BitString. A string which can contain a letter and optionally a number which sets a minimum size for the string returned. In each case using the lower-case form of the letter will result in a lower-case string being returned. B A string of 1s and 0s. X An hexadecimal string (will result in an error unless the string's length is divisible by 4). G A string of 1s and 0s in single-quotes preceded by 'B' (Postgres bit string literal syntax). Y An hexadecimal string in single-quotes preceded by 'X' (Postgres bit literal syntax, will result in an error unless the string's length is divisible by 4. C The format produced by format-string "Y" if legal, otherwise that produced by format-string "G". E The most compact safe representation for Postgres. If single bit will be either a 0 or a 1. Otherwise if it can be that produce by format string "Y" it will, otherwise if there are less than 9bits in length it will be that produced by format-string "G". For longer strings that cannot be represented in hexadecimal it will be a string representing the first part of the string in format "Y" followed by the PostgreSQL concatenation operator, followed by the final bits in the format "G". E.g. "X'13DCE'||B'110'" If format is empty or null, it is treated as if "B" had been passed (the default repreesentation, and that generally used by PostgreSQL for display). The formatted string. Returns a string representation for the Bitstring A string containing '0' and '1' characters. Returns the same string as . formatProvider is ignored. Parses a string to produce a BitString. Most formats that can be produced by can be accepted, but hexadecimal can be interpreted with the preceding X' to mark the following characters as being hexadecimal rather than binary. Performs a logical AND on the two operands. Performs a logcial OR on the two operands. Perofrms a logical EXCLUSIVE-OR on the two operands Performs a logical NOT on the operand. Concatenates the operands. Left-shifts the string BitString. Right-shifts the string BitString. Compares the two operands. Compares the two operands. Compares the two operands. Compares the two operands. Compares the two operands. Compares the two operands. Interprets the bitstring as a series of bits in an encoded character string, encoded according to the Encoding passed, and returns that string. The bitstring must contain a whole number of octets(bytes) and also be valid according to the Encoding passed. The to use in producing the string. The string that was encoded in the BitString. Interprets the bitstring as a series of octets (bytes) and returns those octets. Fails if the Bitstring does not contain a whole number of octets (its length is not evenly divisible by 8). Interprets the bitstring as a series of signed octets (bytes) and returns those octets. Fails if the Bitstring does not contain a whole number of octets (its length is not evenly divisible by 8). This method is not CLS-Compliant and may not be available to languages that cannot handle signed bytes. Interprets the bitstring as a series of unsigned 16-bit integers and returns those integers. Fails if the Bitstring's length is not evenly divisible by 16. This method is not CLS-Compliant and may not be available to languages that cannot handle unsigned integers. Interprets the bitstring as a series of 16-bit integers and returns those integers. Fails if the Bitstring's length is not evenly divisible by 16. Interprets the bitstring as a series of unsigned 32-bit integers and returns those integers. Fails if the Bitstring's length is not evenly divisible by 32. This method is not CLS-Compliant and may not be available to languages that cannot handle unsigned integers. Interprets the bitstring as a series of signed 32-bit integers and returns those integers. Fails if the Bitstring's length is not evenly divisible by 32. Interprets the bitstring as a series of unsigned 64-bit integers and returns those integers. Fails if the Bitstring's length is not evenly divisible by 64. This method is not CLS-Compliant and may not be available to languages that cannot handle unsigned integers. Interprets the bitstring as a series of signed 64-bit integers and returns those integers. Fails if the Bitstring's length is not evenly divisible by 64. The length of the string. Retrieves the value of the bit at the given index. C# implementation of the MD5 cryptographic hash function. Creates a new MD5CryptoServiceProvider. Drives the hashing function. Byte array containing the data to hash. Where in the input buffer to start. Size in bytes of the data in the buffer to hash. This finalizes the hash. Takes the data from the chaining variables and returns it. Resets the class after use. Called automatically after hashing is done. This is the meat of the hash function. It is what processes each block one at a time. Byte array to process data from. Where in the byte array to start processing. Pads and then processes the final block. Buffer to grab data from. Position in buffer in bytes to get data from. How much data in bytes in the buffer to use. Stream for writing data to a table on a PostgreSQL version 7.4 or newer database during an active COPY FROM STDIN operation. Passes data exactly as is and when given, so see to it that you use server encoding, correct format and reasonably sized writes! Created only by NpgsqlCopyInState.StartCopy() Successfully completes copying data to server. Returns after operation is finished. Does nothing if this stream is not the active copy operation writer. Withdraws an already started copy operation. The operation will fail with given error message. Does nothing if this stream is not the active copy operation writer. Writes given bytes to server. Fails if this stream is not the active copy operation writer. Flushes stream contents to server. Fails if this stream is not the active copy operation writer. Not readable Not seekable Not supported True while this stream can be used to write copy data to server False True False Number of bytes written so far Number of bytes written so far; not settable Represents a SQL statement or function (stored procedure) to execute against a PostgreSQL database. This class cannot be inherited. Initializes a new instance of the NpgsqlCommand class. Initializes a new instance of the NpgsqlCommand class with the text of the query. The text of the query. Initializes a new instance of the NpgsqlCommand class with the text of the query and a NpgsqlConnection. The text of the query. A NpgsqlConnection that represents the connection to a PostgreSQL server. Initializes a new instance of the NpgsqlCommand class with the text of the query, a NpgsqlConnection, and the NpgsqlTransaction. The text of the query. A NpgsqlConnection that represents the connection to a PostgreSQL server. The NpgsqlTransaction in which the NpgsqlCommand executes. Used to execute internal commands. Attempts to cancel the execution of a NpgsqlCommand. This Method isn't implemented yet. Create a new command based on this one. A new NpgsqlCommand object. Create a new command based on this one. A new NpgsqlCommand object. Creates a new instance of an DbParameter object. An DbParameter object. Creates a new instance of a NpgsqlParameter object. A NpgsqlParameter object. Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number of affected rows is of no interest. Executes a SQL statement against the connection and returns the number of rows affected. The number of rows affected if known; -1 otherwise. Sends the CommandText to the Connection and builds a NpgsqlDataReader using one of the CommandBehavior values. One of the CommandBehavior values. A NpgsqlDataReader object. Sends the CommandText to the Connection and builds a NpgsqlDataReader. A NpgsqlDataReader object. Sends the CommandText to the Connection and builds a NpgsqlDataReader using one of the CommandBehavior values. One of the CommandBehavior values. A NpgsqlDataReader object. Currently the CommandBehavior parameter is ignored. This method binds the parameters from parameters collection to the bind message. Executes the query, and returns the first column of the first row in the result set returned by the query. Extra columns or rows are ignored. The first column of the first row in the result set, or a null reference if the result set is empty. Creates a prepared version of the command on a PostgreSQL server. This method checks the connection state to see if the connection is set or it is open. If one of this conditions is not met, throws an InvalidOperationException This method substitutes the Parameters, if exist, in the command to their actual values. The parameter name format is :ParameterName. A version of CommandText with the Parameters inserted. Gets or sets the SQL statement or function (stored procedure) to execute at the data source. The Transact-SQL statement or stored procedure to execute. The default is an empty string. Gets or sets the wait time before terminating the attempt to execute a command and generating an error. The time (in seconds) to wait for the command to execute. The default is 20 seconds. Gets or sets a value indicating how the CommandText property is to be interpreted. One of the CommandType values. The default is CommandType.Text. Gets or sets the NpgsqlConnection used by this instance of the NpgsqlCommand. The connection to a data source. The default value is a null reference. Gets the NpgsqlParameterCollection. The parameters of the SQL statement or function (stored procedure). The default is an empty collection. Gets or sets the NpgsqlTransaction within which the NpgsqlCommand executes. The NpgsqlTransaction. The default value is a null reference. Gets or sets how command results are applied to the DataRow when used by the Update method of the DbDataAdapter. One of the UpdateRowSource values. Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0. Represents a collection of parameters relevant to a NpgsqlCommand as well as their respective mappings to columns in a DataSet. This class cannot be inherited. Initializes a new instance of the NpgsqlParameterCollection class. Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. The NpgsqlParameter to add to the collection. The index of the new NpgsqlParameter object. Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. The name of the NpgsqlParameter. The Value of the NpgsqlParameter to add to the collection. The index of the new NpgsqlParameter object. Use caution when using this overload of the Add method to specify integer parameter values. Because this overload takes a value of type Object, you must convert the integral value to an Object type when the value is zero, as the following C# example demonstrates. parameters.Add(":pname", Convert.ToInt32(0)); If you do not perform this conversion, the compiler will assume you are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload. Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. The name of the parameter. One of the DbType values. The index of the new NpgsqlParameter object. Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, and the column length. The name of the parameter. One of the DbType values. The length of the column. The index of the new NpgsqlParameter object. Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, the column length, and the source column name. The name of the parameter. One of the DbType values. The length of the column. The name of the source column. The index of the new NpgsqlParameter object. Removes the specified NpgsqlParameter from the collection using the parameter name. The name of the NpgsqlParameter object to retrieve. Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. The name of the NpgsqlParameter object to find. true if the collection contains the parameter; otherwise, false. Gets the location of the NpgsqlParameter in the collection with a specific parameter name. The name of the NpgsqlParameter object to find. The zero-based location of the NpgsqlParameter in the collection. Removes the specified NpgsqlParameter from the collection using a specific index. The zero-based index of the parameter. Inserts a NpgsqlParameter into the collection at the specified index. The zero-based index where the parameter is to be inserted within the collection. The NpgsqlParameter to add to the collection. Removes the specified NpgsqlParameter from the collection. The NpgsqlParameter to remove from the collection. Gets a value indicating whether a NpgsqlParameter exists in the collection. The value of the NpgsqlParameter object to find. true if the collection contains the NpgsqlParameter object; otherwise, false. Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. The name of the NpgsqlParameter object to find. A reference to the requested parameter is returned in this out param if it is found in the list. This value is null if the parameter is not found. true if the collection contains the parameter and param will contain the parameter; otherwise, false. Removes all items from the collection. Gets the location of a NpgsqlParameter in the collection. The value of the NpgsqlParameter object to find. The zero-based index of the NpgsqlParameter object in the collection. Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. The NpgsqlParameter to add to the collection. The zero-based index of the new NpgsqlParameter object. Copies NpgsqlParameter objects from the NpgsqlParameterCollection to the specified array. An Array to which to copy the NpgsqlParameter objects in the collection. The starting index of the array. Returns an enumerator that can iterate through the collection. An IEnumerator that can be used to iterate through the collection. In methods taking an object as argument this method is used to verify that the argument has the type NpgsqlParameter The object to verify Gets the NpgsqlParameter with the specified name. The name of the NpgsqlParameter to retrieve. The NpgsqlParameter with the specified name, or a null reference if the parameter is not found. Gets the NpgsqlParameter at the specified index. The zero-based index of the NpgsqlParameter to retrieve. The NpgsqlParameter at the specified index. Gets the number of NpgsqlParameter objects in the collection. The number of NpgsqlParameter objects in the collection. Represents an ongoing COPY FROM STDIN operation. Provides methods to push data to server and end or cancel the operation. Called from NpgsqlState.ProcessBackendResponses upon CopyInResponse. If CopyStream is already set, it is used to read data to push to server, after which the copy is completed. Otherwise CopyStream is set to a writable NpgsqlCopyInStream that calls SendCopyData each time it is written to. Sends given packet to server as a CopyData message. Does not check for notifications! Use another thread for that. Sends CopyDone message to server. Handles responses, ie. may throw an exception. Sends CopyFail message to server. Handles responses, ie. should always throw an exception: in CopyIn state the server responds to CopyFail with an error response; outside of a CopyIn state the server responds to CopyFail with an error response; without network connection or whatever, there's going to eventually be a failure, timeout or user intervention. Copy format information returned from server. Represents a PostgreSQL Point type Represents a PostgreSQL Line Segment type. Represents a PostgreSQL Path type. Represents a PostgreSQL Polygon type. Represents a PostgreSQL Circle type. Represents a PostgreSQL inet type. Represents a PostgreSQL MacAddress type. The macAddr parameter must contain a string that can only consist of numbers and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN) This class represents a PasswordPacket message sent to backend PostgreSQL.