From c1d06a806d581e9036a0833501ded1a83db06ab7 Mon Sep 17 00:00:00 2001 From: Geir Nøklebye Date: Sun, 7 May 2017 15:11:09 +0200 Subject: Updated Npgsql.dll to version 2.0.14.3 built for .NET 4.0 Mono.Security has been updated for the same build. Signed-off-by: UbitUmarov --- bin/Npgsql.dll | Bin 413184 -> 363008 bytes bin/Npgsql.xml | 5171 +++++++++++++++++++++++------------------ bin/lib/NET/Mono.Security.dll | Bin 282624 -> 291840 bytes 3 files changed, 2878 insertions(+), 2293 deletions(-) mode change 100755 => 100644 bin/Npgsql.dll (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll old mode 100755 new mode 100644 index 24ca4bd..593e366 Binary files a/bin/Npgsql.dll and b/bin/Npgsql.dll differ diff --git a/bin/Npgsql.xml b/bin/Npgsql.xml index a51252d..aec35c1 100644 --- a/bin/Npgsql.xml +++ b/bin/Npgsql.xml @@ -4,4116 +4,4701 @@ Npgsql - + - This class represents a parameter to a command that will be sent to 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. - + - Initializes a new instance of the NpgsqlParameter class. + Create an ArrayNativeToBackendTypeConverter with the element converter passed + The that would be used to serialise the element type. - + - Initializes a new instance of the NpgsqlParameter - class with the parameter m_Name and a value of the new NpgsqlParameter. + Serialise the enumeration or array. - 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. + Handles parsing of pg arrays into .NET arrays. - 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. + 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. - 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. + 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. - 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. + 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 - 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. + Create a new ArrayBackendToNativeTypeConverter - A new NpgsqlParameter that is a copy of this instance. + for the element type. - + - Gets or sets the maximum number of digits used to represent the - Value property. + Creates an array from pg representation. - 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. + Creates an array list from pg represenation of an array. + Multidimensional arrays are treated as ArrayLists of ArrayLists - 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. + Creates an n-dimensional array from an ArrayList of ArrayLists or + a 1-dimensional array from something else. - The maximum size, in bytes, of the data within the column. - The default value is inferred from the parameter value. + to convert + produced. - + - Gets or sets the DbType of the parameter. + 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. - One of the DbType values. The default is String. - + - Gets or sets the DbType of the parameter. + 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. - 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. + Represents the empty string. - One of the ParameterDirection - values. The default is Input. - + - Gets or sets a value indicating whether the parameter accepts null values. + Create a BitString from an enumeration of boolean values. The BitString will contain + those booleans in the order they came in. - true if null values are accepted; otherwise, false. The default is false. + The boolean values. - + - Gets or sets the m_Name of the NpgsqlParameter. + Creates a BitString filled with a given number of true or false values. - The m_Name of the NpgsqlParameter. - The default is an empty string. + The value to fill the string with. + The number of bits to fill. - + - The m_Name scrubbed of any optional marker + Creats a bitstring from a string. + The string to copy from. + - + - Gets or sets the m_Name of the source column that is mapped to the - DataSet and used for loading or - returning the Value. + Creates a single-bit element from a boolean value. - The m_Name of the source column that is mapped to the - DataSet. The default is an empty string. + The bool value which determines whether + the bit is 1 or 0. - + - Gets or sets the DataRowVersion - to use when loading Value. + 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). - One of the DataRowVersion values. - The default is Current. + The integer. + This method is not CLS Compliant, and may not be available to some languages. - + - Gets or sets the value of the parameter. + 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). - An Object that is the value of the parameter. - The default value is null. + The integer. - + - Gets or sets the value of the parameter. + Finds the first instance of a given value - An Object that is the value of the parameter. - The default value is null. - - - - This class represents the Parse message sent to PostgreSQL - server. - - + The value - whether true or false - to search for. + The index of the value found, or -1 if none are present. - + - For classes representing messages sent from the client to the server. + 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. - + - Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY). + Copies the bitstring to an array of bools. + The boolean array to copy to. + The index in the array to start copying from. - + - Return an exact copy of this NpgsqlConnectionString. + Returns an enumerator that enumerates through the string. + The enumerator. - + - This function will set value for known key, both private member and base[key]. + Creats a bitstring by concatenating another onto this one. - - + The string to append to this one. + The combined strings. - + - The function will modify private member only, not base[key]. + 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 - + - Clear the member and assign them to the default value. + 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 - + - 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. + 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. - + - Common base class for all derived MD5 implementations. + 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. - + - Called from constructor of derived class. + 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. - + - Finalizer for HashAlgorithm + 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. - + - Computes the entire hash of all the bytes in the byte array. + 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. + - + - When overridden in a derived class, drives the hashing function. + 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). + - + - When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + Returns true if the this string is identical to the argument passed. - + - When overridden in a derived class, initializes the object to prepare for hashing. + 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. - + - Used for stream chaining. Computes hash as data passes through it. + Compares the string with another object. - 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. + 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. - + - Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. + Compares this BitString with an object for equality. - 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! + Returns a code for use in hashing operations. - + - Gets the previously computed hash. + 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 the size in bits of the hash. + Returns a string representation for the Bitstring + A string containing '0' and '1' characters. - + - Must be overriden if not 1 + Returns the same string as . formatProvider is ignored. - + - Must be overriden if not 1 + 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. - + - Called from constructor of derived class. + Performs a logical AND on the two operands. - + - Creates the default derived class. + Performs a logcial OR on the two operands. - + - Given a join expression and a projection, fetch all columns in the projection - that reference columns in the join. + Perofrms a logical EXCLUSIVE-OR on the two operands - + - Given an InputExpression append all from names (including nested joins) to the list. + Performs a logical NOT on the operand. - + - 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 + Concatenates the operands. - + - Every property accessed in the list of columns must be adjusted for a new scope + Left-shifts the string BitString. - - - 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. + Right-shifts the string BitString. - - - 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. + Compares the two operands. - 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. - + Compares the two operands. + - + - This method writes a set of bytes to the stream. It also enables logging of them. + Compares the two operands. - + - 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. - + Compares the two operands. + - + - Write a 32-bit integer to the given stream in the correct byte order. + Compares the two operands. - + - Read a 32-bit integer from the given stream in the correct byte order. + Compares the two operands. - + - Write a 16-bit integer to the given stream in the correct byte order. + 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. - + - Read a 16-bit integer from the given stream in the correct byte order. + 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). - + - Represent the frontend/backend protocol version. + 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. - + - Represent the backend server version. - As this class offers no functionality beyond that offered by it has been - deprecated in favour of that class. + 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. - - + - Returns the string representation of this version in three place dot notation (Major.Minor.Patch). + 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. - + - Server version major number. + 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. - + - Server version minor number. + 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. - + - Server version patch level number. + 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. - + - 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(); + 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. - + - Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query. + The length of the string. - + - Given command is run upon Start(), after which CopyStream provides data from database as requested in the query. + Retrieves the value of the bit at the given index. - - - Given command is executed upon Start() and all requested copy data is written to toStream immediately. + + + Represents the PostgreSQL interval datatype. + PostgreSQL differs from .NET in how it's interval type doesn't assume 24 hours in a day + (to deal with 23- and 25-hour days caused by daylight savings adjustments) and has a concept + of months that doesn't exist in .NET's class. (Neither datatype + has any concessions for leap-seconds). + For most uses just casting to and from TimeSpan will work correctly — in particular, + the results of subtracting one or the PostgreSQL date, time and + timestamp types from another should be the same whether you do so in .NET or PostgreSQL — + but if the handling of days and months in PostgreSQL is important to your application then you + should use this class instead of . + If you don't know whether these differences are important to your application, they + probably arent! Just use and do not use this class directly ☺ + To avoid forcing unnecessary provider-specific concerns on users who need not be concerned + with them a call to on a field containing an + value will return a rather than an + . If you need the extra functionality of + then use . + + + + + - + - Returns true if this operation is currently active and field at given location is in binary format. + Represents the number of ticks (100ns periods) in one microsecond. This field is constant. - + - 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. + Represents the number of ticks (100ns periods) in one millisecond. This field is constant. - + - Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server. + Represents the number of ticks (100ns periods) in one second. This field is constant. - + - Returns true if the connection is currently reserved for this operation. + Represents the number of ticks (100ns periods) in one minute. This field is constant. - + - The stream provided by user or generated upon Start() + Represents the number of ticks (100ns periods) in one hour. This field is constant. - + - The Command used to execute this copy operation. + Represents the number of ticks (100ns periods) in one day. This field is constant. - + - Returns true if this operation is currently active and in binary format. + Represents the number of hours in one day (assuming no daylight savings adjustments). This field is constant. - + - Returns number of fields if this operation is currently active, otherwise -1 + Represents the number of days assumed in one month if month justification or unjustifcation is performed. + This is set to 30 for consistency with PostgreSQL. Note that this is means that month adjustments cause + a year to be taken as 30 × 12 = 360 rather than 356/366 days. - + - Faster alternative to using the generated CopyStream. + Represents the number of ticks (100ns periods) in one day, assuming 30 days per month. - + - This class manages all connector objects, pooled AND non-pooled. + Represents the number of months in a year. This field is constant. - - 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. + Represents the maximum . This field is read-only. - 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. + Represents the minimum . This field is read-only. - + - Find a pooled connector. Handle shared/non-shared here. + Represents the zero . This field is read-only. - + - Releases a connector, possibly back to the pool for future use. + Initializes a new to the specified number of ticks. - - 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. + A time period expressed in 100ns units. - + - Release a pooled connector. Handle locking here. + Initializes a new to hold the same time as a + A time period expressed in a - + - Release a pooled connector. Handle shared/non-shared here. + Initializes a new to the specified number of months, days + & ticks. + Number of months. + Number of days. + Number of 100ns units. - + - Create a connector without any pooling functionality. + Initializes a new to the specified number of + days, hours, minutes & seconds. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. - + - Find an available pooled connector in the non-shared pool, or create - a new one if none found. + Initializes a new to the specified number of + days, hours, minutes, seconds & milliseconds. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. + Number of milliseconds. - + - 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. + Initializes a new to the specified number of + months, days, hours, minutes, seconds & milliseconds. + Number of months. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. + Number of milliseconds. - + - Close the connector. + Initializes a new to the specified number of + years, months, days, hours, minutes, seconds & milliseconds. + Years are calculated exactly equivalent to 12 months. - - Connector to release + Number of years. + Number of months. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. + Number of milliseconds. - + - Put a pooled connector into the pool queue. + Creates an from a number of ticks. - Connector to pool + The number of ticks (100ns units) in the interval. + A d with the given number of ticks. - + - A queue with an extra Int32 for keeping track of busy connections. + Creates an from a number of microseconds. + The number of microseconds in the interval. + A d with the given number of microseconds. - + - Connections available to the end user + Creates an from a number of milliseconds. + The number of milliseconds in the interval. + A d with the given number of milliseconds. - + - Connections currently in use + Creates an from a number of seconds. + The number of seconds in the interval. + A d with the given number of seconds. - + - This class represents a BackEndKeyData message received - from PostgreSQL + Creates an from a number of minutes. + The number of minutes in the interval. + A d with the given number of minutes. - + - Used when a connection is closed + Creates an from a number of hours. + The number of hours in the interval. + A d with the given number of hours. - + - Summary description for NpgsqlQuery + Creates an from a number of days. + The number of days in the interval. + A d with the given number of days. - + - Represents the method that handles the Notice events. + Creates an from a number of months. - A NpgsqlNoticeEventArgs that contains the event data. + The number of months in the interval. + A d with the given number of months. - + - Represents the method that handles the Notification events. + Adds another interval to this instance and returns the result. - The source of the event. - A NpgsqlNotificationEventArgs that contains the event data. + An to add to this instance. + An whose values are the sums of the two instances. - + - This class represents a connection to a - PostgreSQL server. + Subtracts another interval from this instance and returns the result. + An to subtract from this instance. + An whose values are the differences of the two instances. - + - Initializes a new instance of the - NpgsqlConnection class. + Returns an whose value is the negated value of this instance. + An whose value is the negated value of this instance. - + - Initializes a new instance of the - NpgsqlConnection class - and sets the ConnectionString. + This absolute value of this instance. In the case of some, but not all, components being negative, + the rules used for justification are used to determine if the instance is positive or negative. - The connection used to open the PostgreSQL database. + An whose value is the absolute value of this instance. - + - Begins a database transaction with the specified isolation level. + Equivalent to PostgreSQL's justify_days function. - 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. - + An based on this one, but with any hours outside of the range [-23, 23] + converted into days. - + - Begins a database transaction. + Opposite to PostgreSQL's justify_days function. - A NpgsqlTransaction - object representing the new transaction. - - Currently there's no support for nested transactions. - + An based on this one, but with any days converted to multiples of ±24hours. - + - Begins a database transaction with the specified isolation level. + Equivalent to PostgreSQL's justify_months function. - 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. - + An based on this one, but with any days outside of the range [-30, 30] + converted into months. - + - Opens a database connection with the property settings specified by the - ConnectionString. + Opposite to PostgreSQL's justify_months function. + An based on this one, but with any months converted to multiples of ±30days. - + - This method changes the current database by disconnecting from the actual - database and connecting to the specified. + Equivalent to PostgreSQL's justify_interval function. - The name of the database to use in place of the current database. + An based on this one, + but with any months converted to multiples of ±30days + and then with any days converted to multiples of ±24hours - + - 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. + Opposite to PostgreSQL's justify_interval function. + An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; - + + - Creates and returns a DbCommand - object associated with the IDbConnection. + Implicit cast of a to an - A DbCommand object. + A + An eqivalent, canonical, . - + - Creates and returns a NpgsqlCommand - object associated with the NpgsqlConnection. + Implicit cast of an to a . - A NpgsqlCommand object. + A . + An equivalent . - + - Releases all resources used by the - NpgsqlConnection. + Returns true if another is exactly the same as this instance. - true when called from Dispose(); - false when being called from the finalizer. + An for comparison. + true if the two instances are exactly the same, + false otherwise. - + - Create a new connection based on this one. + Returns true if another object is an , that is exactly the same as + this instance - A new NpgsqlConnection object. + An for comparison. + true if the argument is an and is exactly the same + as this one, false otherwise. - + - Create a new connection based on this one. + Compares two instances. - A new NpgsqlConnection object. + The first . + The second . + 0 if the two are equal or equivalent. A value greater than zero if x is greater than y, + a value less than zero if x is less than y. - + - Default SSL CertificateSelectionCallback implementation. + A hash code suitable for uses with hashing algorithms. + An signed integer. - + - Default SSL CertificateValidationCallback implementation. + Compares this instance with another/ + An to compare this with. + 0 if the instances are equal or equivalent. A value less than zero if + this instance is less than the argument. A value greater than zero if this instance + is greater than the instance. - + - Default SSL PrivateKeySelectionCallback implementation. + Compares this instance with another/ + An object to compare this with. + 0 if the argument is an and the instances are equal or equivalent. + A value less than zero if the argument is an and + this instance is less than the argument. + A value greater than zero if the argument is an and this instance + is greater than the instance. + A value greater than zero if the argument is null. + The argument is not an . - + - Default SSL ProvideClientCertificatesCallback implementation. + Parses a and returns a instance. + Designed to use the formats generally returned by PostgreSQL. + The to parse. + An represented by the argument. + The string was null. + A value obtained from parsing the string exceeded the values allowed for the relevant component. + The string was not in a format that could be parsed to produce an . - + - Write each key/value pair in the connection string to the log. + Attempt to parse a to produce an . + The to parse. + (out) The produced, or if the parsing failed. + true if the parsing succeeded, false otherwise. - + - Returns the supported collections + Create a representation of the instance. + The format returned is of the form: + [M mon[s]] [d day[s]] [HH:mm:ss[.f[f[f[f[f[f[f[f[f]]]]]]]]]] + A zero is represented as 00:00:00 + + Ticks are 100ns, Postgress resolution is only to 1µs at most. Hence we lose 1 or more decimal + precision in storing values in the database. Despite this, this method will output that extra + digit of precision. It's forward-compatible with any future increases in resolution up to 100ns, + and also makes this ToString() more applicable to any other use-case. + + The representation. - + - Returns the schema collection specified by the collection name. + Adds two together. - The collection name. - The collection specified. + The first to add. + The second to add. + An whose values are the sum of the arguments. - + - Returns the schema collection specified by the collection name filtered by the restrictions. + Subtracts one from another. - The collection name. - - The restriction values to filter the results. A description of the restrictions is contained - in the Restrictions collection. - - The collection specified. + The to subtract the other from. + The to subtract from the other. + An whose values are the difference of the arguments - + - Occurs on NoticeResponses from the PostgreSQL backend. + Returns true if two are exactly the same. + The first to compare. + The second to compare. + true if the two arguments are exactly the same, false otherwise. - + - Occurs on NotificationResponses from the PostgreSQL backend. + Returns false if two are exactly the same. + The first to compare. + The second to compare. + false if the two arguments are exactly the same, true otherwise. - + - Called to provide client certificates for SSL handshake. + Compares two instances to see if the first is less than the second + The first to compare. + The second to compare. + true if the first is less than second, false otherwise. - + - Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. + Compares two instances to see if the first is less than or equivalent to the second + The first to compare. + The second to compare. + true if the first is less than or equivalent to second, false otherwise. - + - Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. + Compares two instances to see if the first is greater than the second + The first to compare. + The second to compare. + true if the first is greater than second, false otherwise. - + - Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + Compares two instances to see if the first is greater than or equivalent the second + The first to compare. + The second to compare. + true if the first is greater than or equivalent to the second, false otherwise. - + - 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. -
  • -
+ Returns the instance.
- 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. - + An . + The argument.
- + - Backend server host name. + Negates an instance. + An . + The negation of the argument. - + - Backend server port. + The total number of ticks(100ns units) contained. This is the resolution of the + type. This ignores the number of days and + months held. If you want them included use first. + The resolution of the PostgreSQL + interval type is by default 1µs = 1,000 ns. It may be smaller as follows: + + + interval(0) + resolution of 1s (1 second) + + + interval(1) + resolution of 100ms = 0.1s (100 milliseconds) + + + interval(2) + resolution of 10ms = 0.01s (10 milliseconds) + + + interval(3) + resolution of 1ms = 0.001s (1 millisecond) + + + interval(4) + resolution of 100µs = 0.0001s (100 microseconds) + + + interval(5) + resolution of 10µs = 0.00001s (10 microseconds) + + + interval(6) or interval + resolution of 1µs = 0.000001s (1 microsecond) + + + As such, if the 100-nanosecond resolution is significant to an application, a PostgreSQL interval will + not suffice for those purposes. + In more frequent cases though, the resolution of the interval suffices. + will always suffice to handle the resolution of any interval value, and upon + writing to the database, will be rounded to the resolution used. + + The number of ticks in the instance. - + - If true, the connection will attempt to use SSL. + Gets the number of whole microseconds held in the instance. + An in the range [-999999, 999999]. - + - Gets the time to wait while trying to establish a connection - before terminating the attempt and generating an error. + Gets the number of whole milliseconds held in the instance. + An in the range [-999, 999]. - 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. + Gets the number of whole seconds held in the instance. + An in the range [-59, 59]. - 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. + Gets the number of whole minutes held in the instance. + An in the range [-59, 59]. - - 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. + Gets the number of whole hours held in the instance. + Note that this can be less than -23 or greater than 23 unless + has been used to produce this instance. +
- + - Whether datareaders are loaded in their entirety (for compatibility with earlier code). + Gets the number of days held in the instance. + Note that this does not pay attention to a time component with -24 or less hours or + 24 or more hours, unless has been called to produce this instance. - + - Gets the database server name. + Gets the number of months held in the instance. + Note that this does not pay attention to a day component with -30 or less days or + 30 or more days, unless has been called to produce this instance. - + - Gets flag indicating if we are using Synchronous notification or not. - The default value is false. + Returns a representing the time component of the instance. + Note that this may have a value beyond the range ±23:59:59.9999999 unless + has been called to produce this instance. - + - Gets the current state of the connection. + The total number of ticks (100ns units) in the instance, assuming 24 hours in each day and + 30 days in a month. - A bitwise combination of the ConnectionState values. The default is Closed. - + - Gets whether the current state of the connection is Open or Closed + The total number of microseconds in the instance, assuming 24 hours in each day and + 30 days in a month. - ConnectionState.Open or ConnectionState.Closed - + - Version of the PostgreSQL backend. - This can only be called when there is an active connection. + The total number of milliseconds in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Protocol version in use. - This can only be called when there is an active connection. + The total number of seconds in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Process id of backend server. - This can only be called when there is an active connection. + The total number of minutes in the instance, assuming 24 hours in each day and + 30 days in a month. - + - The connector object connected to the backend. + The total number of hours in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + The total number of days in the instance, assuming 24 hours in each day and + 30 days in a month. - + - User name. + The total number of months in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Password. + Normalise this time; if it is 24:00:00, convert it to 00:00:00 + This time, normalised - + - Determine if connection pooling will be used for this connection. + The total number of ticks(100ns units) contained. This is the resolution of the + type. + The resolution of the PostgreSQL + interval type is by default 1µs = 1,000 ns. It may be smaller as follows: + + + time(0) + resolution of 1s (1 second) + + + time(1) + resolution of 100ms = 0.1s (100 milliseconds) + + + time(2) + resolution of 10ms = 0.01s (10 milliseconds) + + + time(3) + resolution of 1ms = 0.001s (1 millisecond) + + + time(4) + resolution of 100µs = 0.0001s (100 microseconds) + + + time(5) + resolution of 10µs = 0.00001s (10 microseconds) + + + time(6) or interval + resolution of 1µs = 0.000001s (1 microsecond) + + + As such, if the 100-nanosecond resolution is significant to an application, a PostgreSQL time will + not suffice for those purposes. + In more frequent cases though, the resolution of time suffices. + will always suffice to handle the resolution of any time value, and upon + writing to the database, will be rounded to the resolution used. + + The number of ticks in the instance. - - - This class represents the CancelRequest message sent to PostgreSQL - server. - - + + + Gets the number of whole microseconds held in the instance. + An integer in the range [0, 999999]. + - - - - - - - - - - - - - - - - A time period expressed in 100ns units. + + + Gets the number of whole milliseconds held in the instance. + An integer in the range [0, 999]. + - - A time period expressed in a + + + Gets the number of whole seconds held in the instance. + An interger in the range [0, 59]. + - - 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. + + + Gets the number of whole minutes held in the instance. + An integer in the range [0, 59]. + - - A d with the given number of milliseconds. + + + Gets the number of whole hours held in the instance. + Note that the time 24:00:00 can be stored for roundtrip compatibility. Any calculations on such a + value will normalised it to 00:00:00. + - - A d with the given number of seconds. + + + Normalise this time; if it is 24:00:00, convert it to 00:00:00 + + This time, normalised - - A d with the given number of minutes. + + + Compares this with another . As per postgres' rules, + first the times are compared as if they were both in the same timezone. If they are equal then + then timezones are compared (+01:00 being "smaller" than -01:00). + + the to compare with. + An integer which is 0 if they are equal, < 0 if this is the smaller and > 0 if this is the larger. - - A d with the given number of hours. + + + Gets the number of whole microseconds held in the instance. + An integer in the range [0, 999999]. + - - A d with the given number of days. + + + Gets the number of whole milliseconds held in the instance. + An integer in the range [0, 999]. + - - A d with the given number of months. + + + Gets the number of whole seconds held in the instance. + An interger in the range [0, 59]. + - - An whose values are the sums of the two instances. + + + Gets the number of whole minutes held in the instance. + An integer in the range [0, 59]. + - - An whose values are the differences of the two instances. + + + Gets the number of whole hours held in the instance. + Note that the time 24:00:00 can be stored for roundtrip compatibility. Any calculations on such a + value will normalised it to 00:00:00. + - - An whose value is the negated value of this instance. + + + Summary description for LargeObjectManager. + - - An whose value is the absolute value of this instance. + + + Provide event handlers to convert all native supported basic data types from their backend + text representation to a .NET object. + - - - An based on this one, but with any days converted to multiples of ±24hours. + + + Binary data. + - - - An based on this one, but with any months converted to multiples of ±30days. + + + Convert a postgresql boolean to a System.Boolean. + - - - An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; + + + Convert a postgresql bit to a System.Boolean. + - - - An eqivalent, canonical, . + + + Convert a postgresql datetime to a System.DateTime. + - - An equivalent . + + + Convert a postgresql date to a System.DateTime. + - - - - - An signed integer. + + + Convert a postgresql time to a System.DateTime. + - - - The argument is not an . + + + Convert a postgresql money to a System.Decimal. + - - The string was not in a format that could be parsed to produce an . + + + Provide event handlers to convert the basic native supported data types from + native form to backend representation. + - - true if the parsing succeeded, false otherwise. + + + Binary data. + - - The representation. + + + Convert to a postgresql boolean. + - - An whose values are the sum of the arguments. + + + Convert to a postgresql bit. + - - An whose values are the difference of the arguments + + + Convert to a postgresql timestamp. + - - true if the two arguments are exactly the same, false otherwise. + + + Convert to a postgresql date. + - - false if the two arguments are exactly the same, true otherwise. + + + Convert to a postgresql time. + - - true if the first is less than second, false otherwise. + + + Convert to a postgres money. + - - true if the first is less than or equivalent to second, false otherwise. + + + Convert to a postgres double with maximum precision. + - - true if the first is greater than second, false otherwise. + + + Provide event handlers to convert extended native supported data types from their backend + text representation to a .NET object. + - - true if the first is greater than or equivalent to the second, false otherwise. + + + Convert a postgresql point to a System.NpgsqlPoint. + - - The argument. + + + Convert a postgresql point to a System.RectangleF. + - - The negation of the argument. + + + LDeg. + - - - - - - - - - - - - - - - - - - - This time, normalised + + + Path. + - - - - - - - - This time, normalised + + + Polygon. + - - An integer which is 0 if they are equal, < 0 if this is the smaller and > 0 if this is the larger. + + + Circle. + - - - - - - + - A class to handle everything associated with SSPI authentication + Inet. - + - Simplified SecBufferDesc struct with only one SecBuffer + MAC Address. - - - This class represents the Parse message sent to PostgreSQL - server. - - + + + interval + - + - EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context. + Provide event handlers to convert extended native supported data types from + native form to backend representation. - + - Notice information. + Point. - + - This class represents the ErrorResponse and NoticeResponse - message sent from PostgreSQL server. + Box. - + - Return a string representation of this error object. + LSeg. - + - Severity code. All versions. + Open path. - + - Error code. PostgreSQL 7.4 and up. + Polygon. - + + + Convert to a postgres MAC Address. + + + + + Circle. + + + + + Convert to a postgres inet. + + + + + Convert to a postgres interval + + + + + 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 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. + + + + + 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 + + + + + Set Cache Size. The default value is 20. + + + + + Lookup cached entity. null will returned if not match. + For both get{} and set{} apply LRU rule. + + key + + + + + Called from constructor of derived class. + + + + + Finalizer for HashAlgorithm + + + - Terse error message. All versions. + Computes the entire hash of all the bytes in the byte array. - + - Detailed error message. PostgreSQL 7.4 and up. + When overridden in a derived class, drives the hashing function. + + + - + - Suggestion to help resolve the error. PostgreSQL 7.4 and up. + When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. - + - Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. + When overridden in a derived class, initializes the object to prepare for hashing. - + - 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. + 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. - + - 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. + 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. - + - Trace back information. PostgreSQL 7.4 and up. + 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! - + - Source file (in backend) reporting the error. PostgreSQL 7.4 and up. + Gets the previously computed hash. - + - Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. + Returns the size in bits of the hash. - + - Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + Must be overriden if not 1 - + - String containing the sql sent which produced this error. + Must be overriden if not 1 - + - Backend protocol version in use. + Common base class for all derived MD5 implementations. - + - Represents an ongoing COPY TO STDOUT operation. - Provides methods to read data from server or end the operation. + Called from constructor of derived class. - - 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. - + Creates the default derived class. + - + - 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. - - + C# implementation of the MD5 cryptographic hash function. + - + - 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. - - + Creates a new MD5CryptoServiceProvider. + - + - 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. + 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. - + - Called from NpgsqlOutStream.Read to read copy data from server. + This finalizes the hash. Takes the data from the chaining variables and returns it. - + - Copy format information returned from server. + Resets the class after use. Called automatically after hashing is done. - + - 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. + 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. - + - Create an ArrayNativeToBackendTypeConverter with the element converter passed + Pads and then processes the final block. - The that would be used to serialise the element type. + Buffer to grab data from. + Position in buffer in bytes to get data from. + How much data in bytes in the buffer to use. - + - Serialise the enumeration or array. + Implements for version 3 of the protocol. - + - Handles parsing of pg arrays into .NET arrays. + Reads a row, field by field, allowing a DataRow to be built appropriately. - + - 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. + 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. - + + - 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. + Reads part of a field, as needed (for + and - + - 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 + Adds further functionality to stream that is dependant upon the type of data read. - + - Create a new ArrayBackendToNativeTypeConverter + Completes the implementation of Streamer for char data. - for the element type. - + - Creates an array from pg representation. + Completes the implementation of Streamer for byte data. - + - Creates an array list from pg represenation of an array. - Multidimensional arrays are treated as ArrayLists of ArrayLists + Implements for version 2 of the protocol. - + - Creates an n-dimensional array from an ArrayList of ArrayLists or - a 1-dimensional array from something else. + 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 - 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 a BackEndKeyData message received + from PostgreSQL - + - This class represents the ParameterStatus message sent from PostgreSQL + This class represents the Bind message sent to 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. + For classes representing messages sent from the client to the server. - - - - 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. + + + This class represents the CancelRequest message sent to PostgreSQL + server. + - 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. - + + This class represents the base class for the state pattern design pattern + implementation. + + - + - 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. - + This method is used by the states to change the state of the context. + - + - Format a .NET style exception string. - Include all errors in the list, including any hints. - + 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. + + - + - Append a line to the given Stream, first checking for zero-length. - + 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. + + - + - Provide access to the entire list of errors provided by the PostgreSQL backend. + Checks for context socket availability. + Socket.Poll supports integer as microseconds parameter. + This limits the usable command timeout value + to 2,147 seconds: (2,147 x 1,000,000 less than max_int). + In order to bypass this limit, the availability of + the socket is checked in 2,147 seconds cycles + true, if for context socket availability was checked, false otherwise. + Context. + Select mode. - + - Severity code. All versions. + 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. + - + - Error code. PostgreSQL 7.4 and up. + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. - + - Basic error message. All versions. + Initializes a new instance of the NpgsqlCommand class. - + - Detailed error message. PostgreSQL 7.4 and up. + Initializes a new instance of the NpgsqlCommand class with the text of the query. + The text of the query. - + - Suggestion to help resolve the error. PostgreSQL 7.4 and up. + 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. - + - Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. + 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. - + - Trace back information. PostgreSQL 7.4 and up. + Used to execute internal commands. - + - Source file (in backend) reporting the error. PostgreSQL 7.4 and up. + Attempts to cancel the execution of a NpgsqlCommand. + This Method isn't implemented yet. - + - Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. + Create a new command based on this one. + A new NpgsqlCommand object. - + - Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + Create a new command based on this one. + A new NpgsqlCommand object. - + - String containing the sql sent which produced this error. + Creates a new instance of an DbParameter object. + An DbParameter object. - + - Returns the entire list of errors provided by the PostgreSQL backend. + Creates a new instance of a NpgsqlParameter object. + A NpgsqlParameter object. - + - The level of verbosity of the NpgsqlEventLog + Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number + of affected rows is of no interest. - + - Don't log at all + Executes a SQL statement against the connection and returns the number of rows affected. + The number of rows affected if known; -1 otherwise. - + - Only log the most common issues + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader + using one of the CommandBehavior values. + One of the CommandBehavior values. + A NpgsqlDataReader object. - + - Log everything + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader. + A NpgsqlDataReader object. - + - This class handles all the Npgsql event and debug logging + 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. - + - 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. + This method binds the parameters from parameters collection to the bind + message. + - + - Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level + 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 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): + The first column of the first row in the result set, + or a null reference if the result set is empty. - + - Writes the default log-message for the action of calling the Get-part of an Indexer to the log file. + Creates a prepared version of the command on a PostgreSQL server. - 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. + 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 - 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. + This method substitutes the Parameters, if exist, in the command + to their actual values. + The parameter name format is :ParameterName. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Property - The name of the Property + A version of CommandText with the Parameters inserted. - + - Writes the default log-message for the action of calling the Set-part of a Property to the logfile. + Gets or sets the SQL statement or function (stored procedure) to execute at the data source. - 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 + The Transact-SQL statement or stored procedure to execute. The default is an empty string. - + - Writes the default log-message for the action of calling a Method without Arguments to the logfile. + Gets or sets the wait time before terminating the attempt + to execute a command and generating an error. - 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 time (in seconds) to wait for the command to execute. + The default is 20 seconds. - + - Writes the default log-message for the action of calling a Method with one Argument to the logfile. + Gets or sets a value indicating how the + CommandText property is to be interpreted. - 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 + One of the CommandType values. The default is CommandType.Text. - + - Writes the default log-message for the action of calling a Method with two Arguments to the logfile. + Gets or sets the NpgsqlConnection + used by this instance of the NpgsqlCommand. - 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 connection to a data source. The default value is a null reference. - + - Writes the default log-message for the action of calling a Method with three Arguments to the logfile. + Gets the NpgsqlParameterCollection. - 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 + The parameters of the SQL statement or function (stored procedure). The default is an empty collection. - + - Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile. + Gets or sets the NpgsqlTransaction + within which the NpgsqlCommand executes. - 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. + The NpgsqlTransaction. + The default value is a null reference. - + - 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. - - + 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. - + - 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(); + 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. - + - 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(). + This class is responsible to create database commands for automatic insert, update and delete operations. - + - 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(). + + 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. - + - Given command is executed upon Start() and all data from fromStream is passed to it as copy data. + Represents the method that handles the Notice events. + A NpgsqlNoticeEventArgs that contains the event data. - + - Returns true if this operation is currently active and field at given location is in binary format. + Represents the method that handles the Notification events. + The source of the event. + A NpgsqlNotificationEventArgs that contains the event data. - + - 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(). + This class represents a connection to a + PostgreSQL server. - + - Called after writing all data to CopyStream to successfully complete this copy operation. + Initializes a new instance of the + NpgsqlConnection class. - + - Withdraws an already started copy operation. The operation will fail with given error message. - Will do nothing if current operation is not active. + Initializes a new instance of the + NpgsqlConnection class + and sets the ConnectionString. + The connection used to open the PostgreSQL database. - + - Returns true if the connection is currently reserved for this operation. + 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. + - + - 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. + Begins a database transaction. + A NpgsqlTransaction + object representing the new transaction. + + Currently there's no support for nested transactions. + - + - Returns true if this operation is currently active and in binary format. + 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. + - + - Returns number of fields expected on each input row if this operation is currently active, otherwise -1 + Opens a database connection with the property settings specified by the + ConnectionString. - + - The Command used to execute this copy operation. + 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. - + - Set before a COPY IN query to define size of internal buffer for reading from given CopyStream. + 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. - + - Represents information about COPY operation data transfer format as returned by server. + Creates and returns a DbCommand + object associated with the IDbConnection. + A DbCommand object. - + - Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses() + Creates and returns a NpgsqlCommand + object associated with the NpgsqlConnection. + A NpgsqlCommand object. - + - Returns true if this operation is currently active and field at given location is in binary format. + Releases all resources used by the + NpgsqlConnection. + true when called from Dispose(); + false when being called from the finalizer. - + - Returns true if this operation is currently active and in binary format. + Create a new connection based on this one. + A new NpgsqlConnection object. - + - Returns number of fields if this operation is currently active, otherwise -1 + Create a new connection based on this one. + A new NpgsqlConnection object. - - - + + + Default SSL CertificateSelectionCallback implementation. + - + - Provide event handlers to convert all native supported basic data types from their backend - text representation to a .NET object. + Default SSL CertificateValidationCallback implementation. - + - Binary data. + Default SSL PrivateKeySelectionCallback implementation. - + - Convert a postgresql boolean to a System.Boolean. + Default SSL ProvideClientCertificatesCallback implementation. - + - Convert a postgresql bit to a System.Boolean. + Write each key/value pair in the connection string to the log. - + - Convert a postgresql datetime to a System.DateTime. + Returns the supported collections - + - Convert a postgresql date to a System.DateTime. + Returns the schema collection specified by the collection name. + The collection name. + The collection specified. - + - Convert a postgresql time to a System.DateTime. + 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. - + - Convert a postgresql money to a System.Decimal. + Occurs on NoticeResponses from the PostgreSQL backend. - + - Provide event handlers to convert the basic native supported data types from - native form to backend representation. + Occurs on NotificationResponses from the PostgreSQL backend. - + - Binary data. + Called to provide client certificates for SSL handshake. - + - Convert to a postgresql boolean. + Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. - + - Convert to a postgresql bit. + Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. - + - Convert to a postgresql timestamp. + Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. - + - Convert to a postgresql date. + 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. +
- + - Convert to a postgresql time. + Backend server host name. - + - Convert to a postgres money. + Backend server port. - + - Convert to a postgres double with maximum precision. + If true, the connection will attempt to use SSL. - + - Provide event handlers to convert extended native supported data types from their backend - text representation to a .NET object. + 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. - + - Convert a postgresql point to a System.NpgsqlPoint. + 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. - + - Convert a postgresql point to a System.RectangleF. + 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. - + - LDeg. - + 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. - + - Path. + Whether datareaders are loaded in their entirety (for compatibility with earlier code). - + - Polygon. + Gets the database server name. - + - Circle. + Gets flag indicating if we are using Synchronous notification or not. + The default value is false. - + - Inet. + Gets the current state of the connection. + A bitwise combination of the ConnectionState values. The default is Closed. - + - MAC Address. + Gets whether the current state of the connection is Open or Closed + ConnectionState.Open or ConnectionState.Closed - + - interval + Version of the PostgreSQL backend. + This can only be called when there is an active connection. - + - Provide event handlers to convert extended native supported data types from - native form to backend representation. + Protocol version in use. + This can only be called when there is an active connection. - + - Point. + Process id of backend server. + This can only be called when there is an active connection. - + - Box. + The connector object connected to the backend. - + - LSeg. + Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. - + - Open path. + User name. - + - Polygon. + Password. - + - Convert to a postgres MAC Address. + Determine if connection pooling will be used for this connection. - + - Circle. + Return an exact copy of this NpgsqlConnectionString. - + - Convert to a postgres inet. + This function will set value for known key, both private member and base[key]. + + - + - Convert to a postgres interval + The function will modify private member only, not base[key]. + + - + - EventArgs class to send Notification parameters. + Clear the member and assign them to the default value. - + - Process ID of the PostgreSQL backend that sent this notification. + 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. - + - Condition that triggered that notification. + Case insensative accessor for indivual connection string values. - + - Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string) + 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. - + - 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. + !!! 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. - - - - This class represents a RowDescription message sent from - the PostgreSQL. - - - - + - This struct represents the internal data of the RowDescription message. + Constructor. + Controls whether the connector can be shared. - - - This class represents the Parse message sent to PostgreSQL - server. - - - - + - A factory to create instances of various Npgsql objects. + This method checks if the connector is still ok. + We try to send a simple query text, select 1 as ConnectionTest; - + - Creates an NpgsqlCommand object. + This method is responsible for releasing all resources associated with this Connector. - - - This class represents the Parse message sent to PostgreSQL - server. - - - - + - Represents the method that handles the RowUpdated events. + This method is responsible to release all portals used by this Connector. - The source of the event. - A NpgsqlRowUpdatedEventArgs that contains the event data. - + - Represents the method that handles the RowUpdating events. + Default SSL CertificateSelectionCallback implementation. - 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. + Default SSL CertificateValidationCallback implementation. - + - 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. + Default SSL PrivateKeySelectionCallback implementation. - + - Created only by NpgsqlCopyOutState.StartCopy() + Default SSL ProvideClientCertificatesCallback implementation. - + - 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. + This method is required to set all the version dependent features flags. + SupportsPrepare means the server can use prepared query plans (7.3+) - + - Not writable. + Opens the physical connection to the server. + Usually called by the RequestConnector + Method of the connection pool manager. - + - Not flushable. + Closes the physical connection to the server. - + - 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. + Returns next portal index. - + - Not seekable + Returns next plan index. - + - Not supported + Occurs on NoticeResponses from the PostgreSQL backend. - + - 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. + Occurs on NotificationResponses from the PostgreSQL backend. - + - True while this stream can be used to read copy data from server + Called to provide client certificates for SSL handshake. - + - True + Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. - + - False + Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. - + - False + Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. - + - Number of bytes read so far + Gets the current state of the connection. - + - Number of bytes read so far; can not be set. + Return Connection String. - - - This class represents the Bind message sent to PostgreSQL - server. - - - - + - Summary description for LargeObjectManager. + Version of backend server this connector is connected to. - + - Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. + Backend protocol version in use by this connector. - + - Commits the database transaction. + The physical connection stream to the backend. - + - Rolls back a transaction from a pending state. + The physical connection socket to the backend. - + - Rolls back a transaction from a pending savepoint state. + Reports if this connector is fully connected. - + - Creates a transaction save point. + The connection mediator. - + - Cancel the transaction without telling the backend about it. This is - used to make the transaction go away when closing a connection. + Report if the connection is in a transaction. - + - Gets the NpgsqlConnection - object associated with the transaction, or a null reference if the - transaction is no longer valid. + Report whether the current connection can support prepare functionality. - The NpgsqlConnection - object associated with the transaction. - + - Specifies the IsolationLevel for this transaction. + This class manages all connector objects, pooled AND non-pooled. - The IsolationLevel for this transaction. - The default is ReadCommitted. - - - This class represents a StartupPacket message of PostgreSQL - protocol. - - + + Unique static instance of the connector pool + mamager. - - - Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited. - + + 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. + + - Return the data type name of the column at index . + 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. - + - Return the data type of the column at index . + Find a pooled connector. Handle locking and timeout here. - + - Return the Npgsql specific data type of the column at requested ordinal. + Find a pooled connector. Handle shared/non-shared here. - column position - Appropriate Npgsql type for column. - + - Return the column name of the column at index . + 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. - + - Return the data type OID of the column at index . + Release a pooled connector. Handle locking here. - FIXME: Why this method returns String? - + - Return the column name of the column named . + Release a pooled connector. Handle shared/non-shared here. - + - Return the data DbType of the column at index . + Create a connector without any pooling functionality. - + - Return the data NpgsqlDbType of the column at index . + Find an available pooled connector in the non-shared pool, or create + a new one if none found. - + - 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. + 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. - Index of the field to find. - value of the field. - + - Gets the value of a column converted to a Guid. + Close the connector. + + Connector to release - + - Gets the value of a column as Int16. + Put a pooled connector into the pool queue. + Connector to pool - + - Gets the value of a column as Int32. + A queue with an extra Int32 for keeping track of busy connections. - + - Gets the value of a column as Int64. + Connections available to the end user - + - Gets the value of a column as Single. + Connections currently in use - + - Gets the value of a column as Double. + Represents information about COPY operation data transfer format as returned by server. - + - Gets the value of a column as String. + Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses() - + - Gets the value of a column as Decimal. + Returns true if this operation is currently active and field at given location is in binary format. - + - Gets the value of a column as TimeSpan. + Returns true if this operation is currently active and in binary format. - + - Copy values from each column in the current row into . + Returns number of fields if this operation is currently active, otherwise -1 - The number of column values copied. - + - Copy values from each column in the current row into . + 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(); - An array appropriately sized to store values from all columns. - The number of column values copied. - + - Gets the value of a column as Boolean. + 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(). - + - Gets the value of a column as Byte. Not implemented. + 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(). - + - Gets the value of a column as Char. + Given command is executed upon Start() and all data from fromStream is passed to it as copy data. - + - Gets the value of a column as DateTime. + Returns true if this operation is currently active and field at given location is in binary format. - + - Returns a System.Data.DataTable that describes the column metadata of the DataReader. + 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(). - + - This methods parses the command text and tries to get the tablename - from it. + Called after writing all data to CopyStream to successfully complete this copy operation. - + - Is raised whenever Close() is called. + Withdraws an already started copy operation. The operation will fail with given error message. + Will do nothing if current operation is not active. - + - Gets the number of columns in the current row. + Returns true if the connection is currently reserved for this operation. - + - Gets the value of a column in its native format. + 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. - + - Gets the value of a column in its native format. + Returns true if this operation is currently active and in binary format. - + - Gets a value indicating the depth of nesting for the current row. Always returns zero. + Returns number of fields expected on each input row if this operation is currently active, otherwise -1 - + - Gets a value indicating whether the data reader is closed. + The Command used to execute this copy operation. - + - Contains the column names as the keys + Set before a COPY IN query to define size of internal buffer for reading from given CopyStream. - + - Contains all unique columns + Represents an ongoing COPY FROM STDIN operation. + Provides methods to push data to server and end or cancel the operation. - + - 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. + 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. - + - 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). + Sends given packet to server as a CopyData message. + Does not check for notifications! Use another thread for that. - The next we will deal with. - + - Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + Sends CopyDone message to server. Handles responses, ie. may throw an exception. - True if the reader was advanced, otherwise false. - + - Releases the resources used by the NpgsqlCommand. + 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. - + - Closes the data reader object. + Copy format information returned from server. - + - Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + 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! - True if the reader was advanced, otherwise false. - + - Advances the data reader to the next row. + Created only by NpgsqlCopyInState.StartCopy() - True if the reader was advanced, otherwise false. - + - Return the value of the column at index . + Successfully completes copying data to server. Returns after operation is finished. + Does nothing if this stream is not the active copy operation writer. - + - Gets raw data from a column. + 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. - + - Gets raw data from a column. + Writes given bytes to server. + Fails if this stream is not the active copy operation writer. - + - Report whether the value in a column is DBNull. + Flushes stream contents to server. + Fails if this stream is not the active copy operation writer. - + - Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + Not readable - + - Indicates if NpgsqlDatareader has rows to be read. + Not seekable - + - 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. + Not supported - + - Represents the method that allows the application to provide a certificate collection to be used for SSL clien authentication + True while this stream can be used to write copy data to server - 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. + False - + - Constructor. + True - 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; + False - + - This method is responsible for releasing all resources associated with this Connector. + Number of bytes written so far - + - This method is responsible to release all portals used by this Connector. + Number of bytes written so far; not settable - + - Default SSL CertificateSelectionCallback implementation. + 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(); - + - Default SSL CertificateValidationCallback implementation. + Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query. - + - Default SSL PrivateKeySelectionCallback implementation. + Given command is run upon Start(), after which CopyStream provides data from database as requested in the query. - + - Default SSL ProvideClientCertificatesCallback implementation. + Given command is executed upon Start() and all requested copy data is written to toStream immediately. - + - This method is required to set all the version dependent features flags. - SupportsPrepare means the server can use prepared query plans (7.3+) + Returns true if this operation is currently active and field at given location is in binary format. - + - Opens the physical connection to the server. + 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. - Usually called by the RequestConnector - Method of the connection pool manager. - + - Closes the physical connection to the server. + Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server. - + - Returns next portal index. + Returns true if the connection is currently reserved for this operation. - + - Returns next plan index. + The stream provided by user or generated upon Start() - + - Occurs on NoticeResponses from the PostgreSQL backend. + The Command used to execute this copy operation. - + - Occurs on NotificationResponses from the PostgreSQL backend. + Returns true if this operation is currently active and in binary format. - + - Called to provide client certificates for SSL handshake. + Returns number of fields if this operation is currently active, otherwise -1 - + - Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. + Faster alternative to using the generated CopyStream. - + - Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. + Represents an ongoing COPY TO STDOUT operation. + Provides methods to read data from server or end the operation. - + - Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + 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. - + - Gets the current state of the connection. + Called from NpgsqlOutStream.Read to read copy data from server. - + - Return Connection String. + Copy format information returned from server. - + - Version of backend server this connector is connected to. + 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. - + - Backend protocol version in use by this connector. + Created only by NpgsqlCopyOutState.StartCopy() - + - The physical connection stream to the backend. + 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. - + - The physical connection socket to the backend. + Not writable. - + - Reports if this connector is fully connected. + Not flushable. - + - The connection mediator. + 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. - + - Report if the connection is in a transaction. + Not seekable - + - Report whether the current connection can support prepare functionality. + Not supported - + - This class contains helper methods for type conversion between - the .Net type system and postgresql. + 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. - + - 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. + True while this stream can be used to read copy data from server - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + True - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + False - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given DbType. + False - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given System.Type. + Number of bytes read so far - + - 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. - + Number of bytes read so far; can not be set. + - + - Create the one and only native to backend type map. - This map is used when formatting native data - types to backend representations. + Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY). - + - 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. + Represents the method that handles the RowUpdated events. + + The source of the event. + A NpgsqlRowUpdatedEventArgs that contains the event data. - + - 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. + Represents the method that handles the RowUpdating events. - NpgsqlConnector to send query through. - Mapping object to add types too. - List of types that need to have OID's mapped. + The source of the event. + A NpgsqlRowUpdatingEventArgs that contains the event data. - + - Delegate called to convert the given backend data to its native representation. + This class represents an adapter from many commands: select, update, insert and delete to fill Datasets. - + - Delegate called to convert the given native data to its backand representation. + Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited. - + - Represents a backend data type. - This class can be called upon to convert a backend field representation to a native object. + Return the data type name of the column at index . - + - Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + Return the data type of the column at index . - 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. + Return the Npgsql specific data type of the column at requested ordinal. - Data sent from the backend. - Type modifier field sent from the backend. + column position + Appropriate Npgsql type for column. - + - Type OID provided by the backend server. + Return the column name of the column at index . - + - Type name provided by the backend server. + Return the data type OID of the column at index . + FIXME: Why this method returns String? - + - NpgsqlDbType. + Return the column name of the column named . - + - NpgsqlDbType. + Return the data DbType of the column at index . - + - Provider type to convert fields of this type to. + Return the data NpgsqlDbType of the column at index . - + - System type to convert fields of this type to. + 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. - + - Represents a backend data type. - This class can be called upon to convert a native object to its backend field representation, + Gets the value of a column converted to a Guid. - + - Returns an NpgsqlNativeTypeInfo for an array where the elements are of the type - described by the NpgsqlNativeTypeInfo supplied. + Gets the value of a column as Int16. - + - Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + Gets the value of a column as Int32. - 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 + Gets the value of a column as Int64. - 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. + Gets the value of a column as Single. - + - NpgsqlDbType. + Gets the value of a column as Double. - + - DbType. + Gets the value of a column as String. - + - Apply quoting. + Gets the value of a column as Decimal. - + - Use parameter size information. + Gets the value of a column as TimeSpan. - + - Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. + Copy values from each column in the current row into . + The number of column values copied. - + - Construct an empty mapping. + 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. - + - Copy constuctor. + Gets the value of a column as Boolean. - + - Add the given NpgsqlBackendTypeInfo to this mapping. + Gets the value of a column as Byte. Not implemented. - + - Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping. + Gets the value of a column as Char. - 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. + Gets the value of a column as DateTime. - + - Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping. + Returns a System.Data.DataTable that describes the column metadata of the DataReader. - + - Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping. + This methods parses the command text and tries to get the tablename + from it. - + - Get the number of type infos held. + Is raised whenever Close() is called. - + - Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found. + Gets the number of columns in the current row. - + - Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found. + Gets the value of a column in its native format. - + - Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it. + Gets the value of a column in its native format. - + - Add the given NpgsqlNativeTypeInfo to this mapping. + Gets a value indicating the depth of nesting for the current row. Always returns zero. - + - Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping. + Gets a value indicating whether the data reader is closed. - Type name provided by the backend server. - NpgsqlDbType - Data conversion handler. - + - Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType. + Contains the column names as the keys - + - Retrieve the NpgsqlNativeTypeInfo with the given DbType. + Contains all unique columns - + - Retrieve the NpgsqlNativeTypeInfo with the given Type. + 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. - + - Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping. + 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. - + - Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping. + 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. - + - Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping. + Releases the resources used by the NpgsqlCommand. - + - Get the number of type infos held. + Closes the data reader object. - + - Implements for version 3 of the protocol. + 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. - + - Reads a row, field by field, allowing a DataRow to be built appropriately. + Advances the data reader to the next row. + True if the reader was advanced, otherwise false. - + - Reads part of a field, as needed (for - and + Return the value of the column at index . - + - Adds further functionality to stream that is dependant upon the type of data read. + Gets raw data from a column. - + - Completes the implementation of Streamer for char data. + Gets raw data from a column. - + - Completes the implementation of Streamer for byte data. + Report whether the value in a column is DBNull. - + - Implements for version 2 of the protocol. + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. - + - 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 + Indicates if NpgsqlDatareader has rows to be read. - + - Provides the underlying mechanism for reading schema information. + 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. - + + + This class represents the Parse message sent to PostgreSQL + server. + + + + - Creates an NpgsqlSchema that can read schema information from the database. + EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context. - An open database connection for reading metadata. - + - Returns the MetaDataCollections that lists all possible collections. + Notice information. - The MetaDataCollections - + - Returns the Restrictions that contains the meaning and position of the values in the restrictions array. + This class represents the ErrorResponse and NoticeResponse + message sent from PostgreSQL server. - The Restrictions - + - Returns the Databases that contains a list of all accessable databases. + Return a string representation of this error object. - 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. + Severity code. All versions. - The restrictions to filter the collection. - The Tables - + - Returns the Columns that contains information about columns in tables. + Error code. PostgreSQL 7.4 and up. - The restrictions to filter the collection. - The Columns. - + - Returns the Views that contains view names and the database and schema they come from. + Terse error message. All versions. - The restrictions to filter the collection. - The Views - + - Returns the Users containing user names and the sysid of those users. + Detailed error message. PostgreSQL 7.4 and up. - The restrictions to filter the collection. - The Users. - + - This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow. + Suggestion to help resolve the error. PostgreSQL 7.4 and up. - + - 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. + Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. - + - Represents the empty string. + 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. - + - Create a BitString from an enumeration of boolean values. The BitString will contain - those booleans in the order they came in. + 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. - The boolean values. - + - Creates a BitString filled with a given number of true or false values. + Trace back information. PostgreSQL 7.4 and up. - The value to fill the string with. - The number of bits to fill. - + - Creats a bitstring from a string. - The string to copy from. - + Source file (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Creates a single-bit element from a boolean value. + Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. - 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). + Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. - 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). + String containing the sql sent which produced this error. - The integer. - + - Finds the first instance of a given value + Backend protocol version in use. - 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 level of verbosity of the NpgsqlEventLog - 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. + Don't log at all - The boolean array to copy to. - The index in the array to start copying from. - + - Returns an enumerator that enumerates through the string. + Only log the most common issues - The enumerator. - + - Creats a bitstring by concatenating another onto this one. + Log everything - The string to append to this one. - The combined strings. - + - Returns a substring of this string. + This class handles all the Npgsql event and debug logging - 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. + Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level - 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 + + 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. - + - A logical and between this string and another. The two strings must be the same length. + Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level - Another BitString to AND with this one. - A bitstring with 1 where both BitStrings had 1 and 0 otherwise. + 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): - + - A logical or between this string and another. The two strings must be the same length. + Writes the default log-message for the action of calling the Get-part of an Indexer to the log file. - Another BitString to OR with this one. - A bitstring with 1 where either BitString had 1 and 0 otherwise. + 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 - + - A logical xor between this string and another. The two strings must be the same length. + Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile. - 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. + 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 - + - A bitstring that is the logical inverse of this one. + Writes the default log-message for the action of calling the Get-part of a Property to the logfile. - A bitstring of the same length as this with 1 where this has 0 and vice-versa. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Property + The name of the Property - + - Shifts the string operand bits to the left, filling with zeros to produce a - string of the same length. + Writes the default log-message for the action of calling the Set-part of a Property to the logfile. - 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. - + 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 - + - Shifts the string operand bits to the right, filling with zeros to produce a - string of the same length. + Writes the default log-message for the action of calling a Method without Arguments to the logfile. - 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). - + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method - + - Returns true if the this string is identical to the argument passed. + 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 - + - 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). + Writes the default log-message for the action of calling a Method with two Arguments to the logfile. - 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. + 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 - + - Compares the string with another object. + Writes the default log-message for the action of calling a Method with three Arguments to the logfile. - 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. + 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 - + - Compares this BitString with an object for equality. + 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. - + - Returns a code for use in hashing operations. - + Sets/Returns the level of information to log to the logfile. + + The current LogLevel - + - 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. + Sets/Returns the filename to use for logging. + + The filename of the current Log file. - + - Returns a string representation for the Bitstring - - A string containing '0' and '1' characters. + Sets/Returns whether Log messages should be echoed to the console + + true if Log messages are echoed to the console, otherwise false - + - Returns the same string as . formatProvider is ignored. + The exception that is thrown when the PostgreSQL backend reports errors. - + - 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. + 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. - + - Performs a logical AND on the two operands. + Format a .NET style exception string. + Include all errors in the list, including any hints. - + - Performs a logcial OR on the two operands. + Append a line to the given Stream, first checking for zero-length. - + - Perofrms a logical EXCLUSIVE-OR on the two operands + Provide access to the entire list of errors provided by the PostgreSQL backend. - + - Performs a logical NOT on the operand. + Severity code. All versions. - + - Concatenates the operands. + Error code. PostgreSQL 7.4 and up. - + - Left-shifts the string BitString. + Basic error message. All versions. - + - Right-shifts the string BitString. + Detailed error message. PostgreSQL 7.4 and up. - + - Compares the two operands. + Suggestion to help resolve the error. PostgreSQL 7.4 and up. - + - Compares the two operands. + Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. - + - Compares the two operands. + Trace back information. PostgreSQL 7.4 and up. - + - Compares the two operands. + Source file (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Compares the two operands. + Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Compares the two operands. + Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. - + - 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. + String containing the sql sent which produced this error. - 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). + Returns the entire list of errors provided by the PostgreSQL backend. - - - 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. - + + + This class represents the Parse message sent to PostgreSQL + server. + + - + - 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. + A factory to create instances of various Npgsql objects. - + - 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. + Creates an NpgsqlCommand object. - + + + This class represents the Parse message sent to PostgreSQL + server. + + + + - 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. - + 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. + + - + - 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. + EventArgs class to send Notification parameters. - + - 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. + Process ID of the PostgreSQL backend that sent this notification. - + - 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. + Condition that triggered that notification. - + - The length of the string. + Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string) - + - Retrieves the value of the bit at the given index. + This class represents a parameter to a command that will be sent to server - + - C# implementation of the MD5 cryptographic hash function. + Initializes a new instance of the NpgsqlParameter class. - + - Creates a new MD5CryptoServiceProvider. + 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.

+
- + - Drives the hashing function. + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name and the data type. - 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. + The m_Name of the parameter to map. + One of the DbType values. - + - This finalizes the hash. Takes the data from the chaining variables and returns it. + 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. - + - Resets the class after use. Called automatically after hashing is done. + 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. - + - This is the meat of the hash function. It is what processes each block one at a time. + 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. - Byte array to process data from. - Where in the byte array to start processing. + 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. - + - Pads and then processes the final block. + Creates a new NpgsqlParameter that + is a copy of the current instance. - Buffer to grab data from. - Position in buffer in bytes to get data from. - How much data in bytes in the buffer to use. + A new NpgsqlParameter that is a copy of this instance. - + - 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! + 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. - + - Created only by NpgsqlCopyInState.StartCopy() + 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. - + - Successfully completes copying data to server. Returns after operation is finished. - Does nothing if this stream is not the active copy operation writer. + 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. - + - 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. + Gets or sets the DbType of the parameter. + One of the DbType values. The default is String. - + - Writes given bytes to server. - Fails if this stream is not the active copy operation writer. + Gets or sets the DbType of the parameter. + One of the DbType values. The default is String. - + - Flushes stream contents to server. - Fails if this stream is not the active copy operation writer. + 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. - + - Not readable + Gets or sets a value indicating whether the parameter accepts null values. + true if null values are accepted; otherwise, false. The default is false. - + - Not seekable + Gets or sets the m_Name of the NpgsqlParameter. + The m_Name of the NpgsqlParameter. + The default is an empty string. - + - Not supported + The m_Name scrubbed of any optional marker - + - True while this stream can be used to write copy data to server + 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. - + - False + Gets or sets the DataRowVersion + to use when loading Value. + One of the DataRowVersion values. + The default is Current. - + - True + Gets or sets the value of the parameter. + An Object that is the value of the parameter. + The default value is null. - + - False + Gets or sets the value of the parameter. + An Object that is the value of the parameter. + The default value is null. - + - Number of bytes written so far + 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. - + - Number of bytes written so far; not settable + Initializes a new instance of the NpgsqlParameterCollection class. - + - Represents a SQL statement or function (stored procedure) to execute - against a PostgreSQL database. This class cannot be inherited. + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + The NpgsqlParameter to add to the collection. + The index of the new NpgsqlParameter object. - + - Initializes a new instance of the NpgsqlCommand class. + 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. + - + - Initializes a new instance of the NpgsqlCommand class with the text of the query. + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. - The text of the query. + The name of the parameter. + One of the DbType values. + The index of the new NpgsqlParameter object. - + - Initializes a new instance of the NpgsqlCommand class with the text of the query and a NpgsqlConnection. + Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, and the column length. - The text of the query. - A NpgsqlConnection that represents the connection to a PostgreSQL server. + The name of the parameter. + One of the DbType values. + The length of the column. + The index of the new NpgsqlParameter object. - + - Initializes a new instance of the NpgsqlCommand class with the text of the query, a NpgsqlConnection, and the NpgsqlTransaction. + Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, the column length, and the source column name. - The text of the query. - A NpgsqlConnection that represents the connection to a PostgreSQL server. - The NpgsqlTransaction in which the NpgsqlCommand executes. + 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. - + - Used to execute internal commands. + Removes the specified NpgsqlParameter from the collection using the parameter name. + The name of the NpgsqlParameter object to retrieve. - + - Attempts to cancel the execution of a NpgsqlCommand. + Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. - This Method isn't implemented yet. + The name of the NpgsqlParameter object to find. + true if the collection contains the parameter; otherwise, false. - + - Create a new command based on this one. + Gets the location of the NpgsqlParameter in the collection with a specific parameter name. - A new NpgsqlCommand object. + The name of the NpgsqlParameter object to find. + The zero-based location of the NpgsqlParameter in the collection. - + - Create a new command based on this one. + Removes the specified NpgsqlParameter from the collection using a specific index. - A new NpgsqlCommand object. + The zero-based index of the parameter. - + - Creates a new instance of an DbParameter object. + Inserts a NpgsqlParameter into the collection at the specified index. - An DbParameter object. + The zero-based index where the parameter is to be inserted within the collection. + The NpgsqlParameter to add to the collection. - + - Creates a new instance of a NpgsqlParameter object. + Removes the specified NpgsqlParameter from the collection. - A NpgsqlParameter object. + The NpgsqlParameter to remove from the collection. - + - Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number - of affected rows is of no interest. + 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. - + - Executes a SQL statement against the connection and returns the number of rows affected. + Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. - The number of rows affected if known; -1 otherwise. + 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. - + - Sends the CommandText to - the Connection and builds a - NpgsqlDataReader - using one of the CommandBehavior values. + Removes all items from the collection. - One of the CommandBehavior values. - A NpgsqlDataReader object. - + - Sends the CommandText to - the Connection and builds a - NpgsqlDataReader. + Gets the location of a NpgsqlParameter in the collection. - A NpgsqlDataReader object. + The value of the NpgsqlParameter object to find. + The zero-based index of the NpgsqlParameter object in the collection. - + - Sends the CommandText to - the Connection and builds a - NpgsqlDataReader - using one of the CommandBehavior values. + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. - 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. - + The NpgsqlParameter to add to the collection. + The zero-based index of the new NpgsqlParameter object. - + - 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. + Copies NpgsqlParameter objects from the NpgsqlParameterCollection to the specified array. - The first column of the first row in the result set, - or a null reference if the result set is empty. + An Array to which to copy the NpgsqlParameter objects in the collection. + The starting index of the array. - + - Creates a prepared version of the command on a PostgreSQL server. + Returns an enumerator that can iterate through the collection. + An IEnumerator that can be used to iterate through the collection. - + - 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 + In methods taking an object as argument this method is used to verify + that the argument has the type NpgsqlParameter + The object to verify - + - This method substitutes the Parameters, if exist, in the command - to their actual values. - The parameter name format is :ParameterName. + Gets the NpgsqlParameter with the specified name. - A version of CommandText with the Parameters inserted. + The name of the NpgsqlParameter to retrieve. + The NpgsqlParameter with the specified name, or a null reference if the parameter is not found. - + - Gets or sets the SQL statement or function (stored procedure) to execute at the data source. + Gets the NpgsqlParameter at the specified index. - The Transact-SQL statement or stored procedure to execute. The default is an empty string. + The zero-based index of the NpgsqlParameter to retrieve. + The NpgsqlParameter at the specified index. - + - Gets or sets the wait time before terminating the attempt - to execute a command and generating an error. + Gets the number of NpgsqlParameter objects in the collection. - The time (in seconds) to wait for the command to execute. - The default is 20 seconds. + The number of NpgsqlParameter objects in the collection. - - - Gets or sets a value indicating how the - CommandText property is to be interpreted. - - One of the CommandType values. The default is CommandType.Text. + + + This class represents the ParameterStatus message sent from PostgreSQL + server. + + - - - 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. + + + This class represents the Parse message sent to PostgreSQL + server. + + - + - Gets the NpgsqlParameterCollection. + This class represents a PasswordPacket message sent to backend + PostgreSQL. - 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. + Used when a connection is closed - 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. + Summary description for NpgsqlQuery - 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. + This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow. - + + + This class represents a RowDescription message sent from + the PostgreSQL. + + + + - 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. + This struct represents the internal data of the RowDescription message. - + - Initializes a new instance of the NpgsqlParameterCollection class. + Provides the underlying mechanism for reading schema information. - + - Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + Creates an NpgsqlSchema that can read schema information from the database. - The NpgsqlParameter to add to the collection. - The index of the new NpgsqlParameter object. + An open database connection for reading metadata. - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + Returns the MetaDataCollections that lists all possible collections. - 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. - + The MetaDataCollections - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. + Returns the Restrictions that contains the meaning and position of the values in the restrictions array. - The name of the parameter. - One of the DbType values. - The index of the new NpgsqlParameter object. + The Restrictions - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, and the column length. + Returns the Databases that contains a list of all accessable databases. - The name of the parameter. - One of the DbType values. - The length of the column. - The index of the new NpgsqlParameter object. + The restrictions to filter the collection. + The Databases - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, the column length, and the source column name. + Returns the Tables that contains table and view names and the database and schema they come from. - 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. + The restrictions to filter the collection. + The Tables - + - Removes the specified NpgsqlParameter from the collection using the parameter name. + Returns the Columns that contains information about columns in tables. - The name of the NpgsqlParameter object to retrieve. + The restrictions to filter the collection. + The Columns. - + - Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. + Returns the Views that contains view names and the database and schema they come from. - The name of the NpgsqlParameter object to find. - true if the collection contains the parameter; otherwise, false. + The restrictions to filter the collection. + The Views - + - Gets the location of the NpgsqlParameter in the collection with a specific parameter name. + Returns the Users containing user names and the sysid of those users. - The name of the NpgsqlParameter object to find. - The zero-based location of the NpgsqlParameter in the collection. + The restrictions to filter the collection. + The Users. - + + + This class represents a StartupPacket message of PostgreSQL + protocol. + + + + - Removes the specified NpgsqlParameter from the collection using a specific index. + Represents a completed response message. - The zero-based index of the parameter. - + + + This class represents the Parse message sent to PostgreSQL + server. + + + + - Inserts a NpgsqlParameter into the collection at the specified index. + Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. - 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. + Commits the database transaction. - The NpgsqlParameter to remove from the collection. - + - Gets a value indicating whether a NpgsqlParameter exists in the collection. + Rolls back a transaction from a pending state. - 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. + Rolls back a transaction from a pending savepoint state. - 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. + Creates a transaction save point. - + - Gets the location of a NpgsqlParameter in the collection. + Cancel the transaction without telling the backend about it. This is + used to make the transaction go away when closing a connection. - 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. + Gets the NpgsqlConnection + object associated with the transaction, or a null reference if the + transaction is no longer valid. - The NpgsqlParameter to add to the collection. - The zero-based index of the new NpgsqlParameter object. + The NpgsqlConnection + object associated with the transaction. - + - Copies NpgsqlParameter objects from the NpgsqlParameterCollection to the specified array. + Specifies the IsolationLevel for this transaction. - An Array to which to copy the NpgsqlParameter objects in the collection. - The starting index of the array. + The IsolationLevel for this transaction. + The default is ReadCommitted. - + - Returns an enumerator that can iterate through the collection. - - An IEnumerator that can be used to iterate through the collection. + This class provides many util methods to handle + reading and writing of PostgreSQL protocol messages. + - + - In methods taking an object as argument this method is used to verify - that the argument has the type NpgsqlParameter - - The object to verify + This method takes a ProtocolVersion and returns an integer + version number that the Postgres backend will recognize in a + startup packet. + - + - Gets the NpgsqlParameter with the specified name. + 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. - 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. + 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. + - + - Gets the number of NpgsqlParameter objects in the collection. + Reads requested number of bytes from stream with retries until Stream.Read returns 0 or count is reached. - The number of NpgsqlParameter objects in the collection. + 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. - + - Represents an ongoing COPY FROM STDIN operation. - Provides methods to push data to server and end or cancel the operation. - + 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. + - + - 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. + This method writes a set of bytes to the stream. It also enables logging of them. - + - Sends given packet to server as a CopyData message. - Does not check for notifications! Use another thread for that. - + 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. + - + - Sends CopyDone message to server. Handles responses, ie. may throw an exception. + Write a 32-bit integer to the given stream in the correct byte order. - + - 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. + Read a 32-bit integer from the given stream in the correct byte order. - + - Copy format information returned from server. + Write a 16-bit integer to the given stream in the correct byte order. - + - Represents a PostgreSQL Point type + Read a 16-bit integer from the given stream in the correct byte order. - + - Represents a PostgreSQL Line Segment type. + Represent the frontend/backend protocol version. - + - Represents a PostgreSQL Path type. + Represent the backend server version. + As this class offers no functionality beyond that offered by it has been + deprecated in favour of that class. + - + - Represents a PostgreSQL Polygon type. + Returns the string representation of this version in three place dot notation (Major.Minor.Patch). - + - Represents a PostgreSQL Circle type. + Server version major number. - + - Represents a PostgreSQL inet type. + Server version minor number. - + - Represents a PostgreSQL MacAddress type. + Server version patch level number. - + - + A class to handle everything associated with SSPI authentication - 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. + Simplified SecBufferDesc struct with only one SecBuffer
diff --git a/bin/lib/NET/Mono.Security.dll b/bin/lib/NET/Mono.Security.dll index 6accde7..1371f5c 100644 Binary files a/bin/lib/NET/Mono.Security.dll and b/bin/lib/NET/Mono.Security.dll differ -- cgit v1.1