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 From 7f163e8f760cb474ec836fb6e242edc2bfec7d0e Mon Sep 17 00:00:00 2001 From: Geir Nøklebye Date: Sun, 14 May 2017 15:23:21 +0200 Subject: Update NPGSQL from version 2.0.14.3 to 2.1.3. This is a relatively big update where 2.1.0 has a number of bug fixes, new functionality and improved performance. (see details at https://github.com/npgsql/npgsql/releases/tag/v2.1.0) The binaries supplied are for .NET 4.0 If you need binaries for older versions they can be dowloaded from https://github.com/npgsql/npgsql/releases/tag/v2.1.3. There are also binaries for 4.5. The performance improvement is particularly evident on terrain load and other repeated queries to the database. This version will automatically generate prepare statements if it sees 5 consecutive identical statements and cache them for later use. The prepare statement will skip the analyze portion of the query planner once a statement has been created. In addition there are improvements in the connection pool logic that will improve performance once connections get scarce. Signed-off-by: UbitUmarov --- bin/Npgsql.dll | Bin 363008 -> 342016 bytes bin/Npgsql.xml | 1681 +++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 1298 insertions(+), 383 deletions(-) (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll index 593e366..693cccb 100644 Binary files a/bin/Npgsql.dll and b/bin/Npgsql.dll differ diff --git a/bin/Npgsql.xml b/bin/Npgsql.xml index aec35c1..8133430 100644 --- a/bin/Npgsql.xml +++ b/bin/Npgsql.xml @@ -21,11 +21,22 @@ The that would be used to serialise the element type. - + Serialise the enumeration or array. + + + Convert a System.Array to PG binary format. + Write the array header and prepare to write array data to the stream. + + + + + Append all array data to the binary stream. + + Handles parsing of pg arrays into .NET arrays. @@ -61,9 +72,9 @@ for the element type. - + - Creates an array from pg representation. + Creates an array from pg text representation. @@ -75,21 +86,34 @@ Creates an n-dimensional array from an ArrayList of ArrayLists or - a 1-dimensional array from something else. + a 1-dimensional array from something else. to convert + Type of the elements in the list 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. + Creates an n-dimensional System.Array from PG binary representation. + This function reads the array header and sets up an n-dimensional System.Array object to hold its data. + PopulateArrayFromBinaryArray() is then called to carry out array population. + + + Recursively populates an array from PB binary data representation. + + + + + 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. + + Implements a bit string; a collection of zero or more bits which can each be 1 or 0. @@ -121,7 +145,7 @@ Creats a bitstring from a string. The string to copy from. - + @@ -277,7 +301,7 @@ 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 + then they are compared as in the explicit comparison for BitStrings in any other case a is thrown. @@ -504,7 +528,7 @@ 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 + 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 . @@ -661,49 +685,49 @@ Creates an from a number of microseconds. - The number of microseconds in the interval. + The number of microseconds in the interval. A d with the given number of microseconds. Creates an from a number of milliseconds. - The number of milliseconds in the interval. + The number of milliseconds in the interval. A d with the given number of milliseconds. Creates an from a number of seconds. - The number of seconds in the interval. + The number of seconds in the interval. A d with the given number of seconds. Creates an from a number of minutes. - The number of minutes in the interval. + The number of minutes in the interval. A d with the given number of minutes. Creates an from a number of hours. - The number of hours in the interval. + The number of hours in the interval. A d with the given number of hours. Creates an from a number of days. - The number of days in the interval. + The number of days in the interval. A d with the given number of days. Creates an from a number of months. - The number of months in the interval. + The number of months in the interval. A d with the given number of months. @@ -773,7 +797,29 @@ An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; - + + + Produces a canonical NpgslInterval with 0 months and hours in the range of [-23, 23]. + + + While the fact that for many purposes, two different instances could be considered + equivalent (e.g. one with 2days, 3hours and one with 1day 27hours) there are different possible canonical forms. + + E.g. we could move all excess hours into days and all excess days into months and have the most readable form, + or we could move everything into the ticks and have the form that allows for the easiest arithmetic) the form + chosen has two important properties that make it the best choice. + First, it is closest two how + objects are most often represented. Second, it is compatible with results of many + PostgreSQL functions, particularly with age() and the results of subtracting one date, time or timestamp from + another. + + Note that the results of casting a to is + canonicalised. + + + An based on this one, but with months converted to multiples of ±30days and with any hours outside of the range [-23, 23] + converted into days. + Implicit cast of a to an @@ -1233,91 +1279,84 @@ Summary description for LargeObjectManager. - - - Provide event handlers to convert all native supported basic data types from their backend - text representation to a .NET object. - - - + - Binary data. - - - - - Convert a postgresql boolean to a System.Boolean. + Options that control certain aspects of native to backend conversions that depend + on backend version and status. - + - Convert a postgresql bit to a System.Boolean. + Clone the current object. + A new NativeToBackendTypeConverterOptions object. - + - Convert a postgresql datetime to a System.DateTime. + Clone the current object with a different OID/Name mapping. + OID/Name mapping object to use in the new instance. + A new NativeToBackendTypeConverterOptions object. - + - Convert a postgresql date to a System.DateTime. + Provide event handlers to convert all native supported basic data types from their backend + text representation to a .NET object. - + - Convert a postgresql time to a System.DateTime. + Convert UTF8 encoded text a string. - + - Convert a postgresql money to a System.Decimal. + Byte array from bytea encoded as ASCII text, escaped or hex format. - + - Provide event handlers to convert the basic native supported data types from - native form to backend representation. + Byte array from bytea encoded as binary. - + - Binary data. + Convert a postgresql boolean to a System.Boolean. - + - Convert to a postgresql boolean. + Convert a postgresql boolean to a System.Boolean. - + - Convert to a postgresql bit. + Convert a postgresql bit to a System.Boolean. - + - Convert to a postgresql timestamp. + Convert a postgresql datetime to a System.DateTime. - + - Convert to a postgresql date. + Convert a postgresql date to a System.DateTime. - + - Convert to a postgresql time. + Convert a postgresql time to a System.DateTime. - + - Convert to a postgres money. + Convert a postgresql money to a System.Decimal. - + - Convert to a postgres double with maximum precision. + Convert a postgresql float4 or float8 to a System.Float or System.Double respectively. @@ -1326,225 +1365,211 @@ text representation to a .NET object. - + Convert a postgresql point to a System.NpgsqlPoint. - + Convert a postgresql point to a System.RectangleF. - + LDeg. - + Path. - + Polygon. - + Circle. - + Inet. - + MAC Address. - + interval - + - Provide event handlers to convert extended native supported data types from + Provide event handlers to convert the basic native supported data types from native form to backend representation. - + - Point. + Convert a string to UTF8 encoded text, escaped and quoted as required. - + - Box. + Convert a string to UTF8 encoded text. - + - LSeg. + Binary data, escaped and quoted as required. - + - Open path. + Binary data with possible older style octal escapes, quoted. - + - Polygon. + Binary data in the new hex format (>= 9.0), quoted. - + - Convert to a postgres MAC Address. + Binary data, raw. - + - Circle. + Convert to a postgresql boolean text format. - + - Convert to a postgres inet. + Convert to a postgresql boolean binary format. - + - Convert to a postgres interval + Convert to a postgresql binary int2. - + - Represents a PostgreSQL Point type + Convert to a postgresql binary int4. - + - Represents a PostgreSQL Line Segment type. + Convert to a postgresql binary int8. - + - Represents a PostgreSQL Path type. + Convert to a postgresql bit. - + - Represents a PostgreSQL Polygon type. + Convert to a postgresql timestamp. - + - Represents a PostgreSQL Circle type. + Convert to a postgresql date. - + - Represents a PostgreSQL inet type. + Convert to a postgresql time. - + - Represents a PostgreSQL MacAddress type. + Convert to a postgres money. - + - + Convert to a postgres double with maximum precision. - 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. + Convert a System.Float to a postgres float4. - + - 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. + Convert a System.Double to a postgres float8. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + Provide event handlers to convert extended native supported data types from + native form to backend representation. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + Point. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given DbType. + Box. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given System.Type. + LSeg. - + - 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. - + Open path. + - + - Create the one and only native to backend type map. - This map is used when formatting native data - types to backend representations. + Polygon. - + - 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. + Convert to a postgres MAC Address. + - + - 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. + Circle. - 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. + Convert to a postgres inet. - + - Delegate called to convert the given native data to its backand representation. + Convert to a postgres interval + + + + + Delegate called to convert the given backend text data to its native representation. + + + + + Delegate called to convert the given backend binary data to its native representation. @@ -1553,22 +1578,34 @@ 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 + DbType System type to convert fields of this type to. - Data conversion handler. + Data conversion handler for text encoding. + Data conversion handler for binary data. + + + + Perform a data conversion from a backend representation to + a native object. + + Data sent from the backend. + fieldValueSize + Type modifier field sent from the backend. - + - Perform a data conversion from a backend representation to + Perform a data conversion from a backend representation to a native object. Data sent from the backend. + TypeSize Type modifier field sent from the backend. @@ -1601,6 +1638,16 @@ System type to convert fields of this type to. + + + Reports whether a backend binary to native decoder is available for this type. + + + + + Delegate called to convert the given native data to its backand representation. + + Represents a backend data type. @@ -1613,24 +1660,28 @@ described by the NpgsqlNativeTypeInfo supplied. - + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. Type name provided by the backend server. + DbType + Quote NpgsqlDbType - Data conversion handler. + Data conversion handler for text backend encoding. + Data conversion handler for binary backend encoding (for extended queries). - + 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 + When Native .NET object to be converted. - Flag indicating if the conversion has to be done for - plain queries or extended queries + Specifies that the value should be formatted for the extended query syntax. + Options to guide serialization. If null, a default options set is used. + Specifies that the value should be formatted as an extended query array element. @@ -1657,6 +1708,11 @@ Use parameter size information. + + + Reports whether a native to backend binary encoder is available for this type. + + Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. @@ -1677,15 +1733,17 @@ 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 + DbType System type to convert fields of this type to. - Data conversion handler. + Data conversion handler for text encoding. + Data conversion handler for binary data. @@ -1727,13 +1785,16 @@ 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. + DbType + Quote + Data conversion handler for text backend encoding. + Data conversion handler for binary backend encoding (for extended query). @@ -1770,100 +1831,253 @@ 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. + Represents a PostgreSQL Point type - + - Given an InputExpression append all from names (including nested joins) to the list. + Represents a PostgreSQL Line Segment type. - + - 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 + Represents a PostgreSQL Path type. - + - Every property accessed in the list of columns must be adjusted for a new scope + Represents a PostgreSQL Polygon type. - + - Set Cache Size. The default value is 20. + Represents a PostgreSQL Circle type. - + - Lookup cached entity. null will returned if not match. - For both get{} and set{} apply LRU rule. + Represents a PostgreSQL inet type. - key - - + - Called from constructor of derived class. + 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) + + - Finalizer for HashAlgorithm + This class contains helper methods for type conversion between + the .Net type system and postgresql. - + - Computes the entire hash of all the bytes in the byte array. + 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. - + - When overridden in a derived class, drives the hashing function. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. - - - - + - When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. - + - When overridden in a derived class, initializes the object to prepare for hashing. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given DbType. - + - Used for stream chaining. Computes hash as data passes through it. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given System.Type. - The buffer from which to grab the data to be copied. - The offset into the input buffer to start reading at. - The number of bytes to be copied. - The buffer to write the copied data to. - At what point in the outputBuffer to write the data at. - + - Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. - - The buffer from which to grab the data to be copied. - The offset into the input buffer to start reading at. - The number of bytes to be copied. + This method is responsible to convert the byte[] 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. + - + - 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! - + 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. + + + + 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 + + + + + The globally available text encoding used for frontend/backend communication. + + + + This class represents the base class for the state pattern design pattern + implementation. + + + This class represents the base class for the state pattern design pattern + implementation. + + + 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. + + + + + Call ProcessBackendResponsesEnum(), and scan and discard all results. + + + + + 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. + + + + + + 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. + + + + Called from constructor of derived class. + + + + + Finalizer for HashAlgorithm + + + + + Computes the entire hash of all the bytes in the byte array. + + + + + When overridden in a derived class, drives the hashing function. + + + + + + + + When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + + + + + When overridden in a derived class, initializes the object to prepare for hashing. + + + + + Used for stream chaining. Computes hash as data passes through it. + + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + The buffer to write the copied data to. + At what point in the outputBuffer to write the data at. + + + + Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. + + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + + + + Get whether or not the hash can transform multiple blocks at a time. + Note: MUST be overriden if descendant can transform multiple block + on a single call! + + + Gets the previously computed hash. @@ -1952,21 +2166,26 @@ - - 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. + + 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. + It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. - The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course - we can't make that inherit from this interface, alas. + The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course + we can't make that inherit from this interface, alas. + + + + + Marker interface which identifies a class which represents part of + a response from the server. - - Reads part of a field, as needed (for - and + Reads part of a field, as needed (for + and @@ -2021,57 +2240,15 @@ - - This class represents the base class for the state pattern design pattern - implementation. - - - - - - This method is used by the states to change the state of the context. - - - - - This method is responsible to handle all protocol messages sent from the backend. - It holds all the logic to do it. - To exchange data, it uses a Mediator object from which it reads/writes information - to handle backend requests. - - - - - - This method is responsible to handle all protocol messages sent from the backend. - It holds all the logic to do it. - To exchange data, it uses a Mediator object from which it reads/writes information - to handle backend requests. - - - - + - 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 + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. - true, if for context socket availability was checked, false otherwise. - Context. - Select mode. - - - 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. + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. - - - Represents a SQL statement or function (stored procedure) to execute against a PostgreSQL database. This class cannot be inherited. @@ -2103,7 +2280,7 @@ A NpgsqlConnection that represents the connection to a PostgreSQL server. The NpgsqlTransaction in which the NpgsqlCommand executes. - + Used to execute internal commands. @@ -2140,8 +2317,10 @@ - Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number + Slightly optimised version of ExecuteNonQuery() for internal use in cases where the number of affected rows is of no interest. + This function must not be called with a query that returns result rows, after calling Prepare(), or. + with a query that requires parameter substitution of any kind. @@ -2213,6 +2392,36 @@ A version of CommandText with the Parameters inserted. + + + Process this.commandText, trimming each distinct command and substituting paramater + tokens. + + + + UTF8 encoded command ready to be sent to the backend. + + + + Find the beginning and end of each distinct SQL command and produce + a list of descriptors, one for each command. Commands described are trimmed of + leading and trailing white space and their terminating semi-colons. + + Raw command text. + List of chunk descriptors. + + + + Append a region of a source command text to an output command, performing parameter token + substitutions. + + Stream to which to append output. + Command text. + Starting index within src. + Length of region to be processed. + + + Gets or sets the SQL statement or function (stored procedure) to execute at the data source. @@ -2273,20 +2482,194 @@ This class is responsible to create database commands for automatic insert, update and delete operations. + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The adapter. + 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. + + + Gets the automatically generated object required + to perform insertions at the data source. + + + The automatically generated object required to perform insertions. + + + + + Gets the automatically generated object required to perform insertions + at the data source, optionally using columns for parameter names. + + + If true, generate parameter names matching column names, if possible. + If false, generate @p1, @p2, and so on. + + + The automatically generated object required to perform insertions. + + + + + Gets the automatically generated System.Data.Common.DbCommand object required + to perform updates at the data source. + + + The automatically generated System.Data.Common.DbCommand object required to perform updates. + + + + + Gets the automatically generated object required to perform updates + at the data source, optionally using columns for parameter names. + + + If true, generate parameter names matching column names, if possible. + If false, generate @p1, @p2, and so on. + + + The automatically generated object required to perform updates. + + + + + Gets the automatically generated System.Data.Common.DbCommand object required + to perform deletions at the data source. + + + The automatically generated System.Data.Common.DbCommand object required to perform deletions. + + + + + Gets the automatically generated object required to perform deletions + at the data source, optionally using columns for parameter names. + + + If true, generate parameter names matching column names, if possible. + If false, generate @p1, @p2, and so on. + + + The automatically generated object required to perform deletions. + + + + + Applies the parameter information. + + The parameter. + The row. + Type of the statement. + if set to true [where clause]. + + + + Returns the name of the specified parameter in the format of @p#. + + The number to be included as part of the parameter's name.. + + The name of the parameter with the specified number appended as part of the parameter name. + + + + + Returns the full parameter name, given the partial parameter name. + + The partial name of the parameter. + + The full parameter name corresponding to the partial parameter name requested. + + + + + Returns the placeholder for the parameter in the associated SQL statement. + + The number to be included as part of the parameter's name. + + The name of the parameter with the specified number appended. + + + + + Registers the to handle the event for a . + + The to be used for the update. + + + + Adds an event handler for the event. + + The sender + A instance containing information about the event. + + + + Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier, including properly escaping any embedded quotes in the identifier. + + The original unquoted identifier. + + The quoted version of the identifier. Embedded quotes within the identifier are properly escaped. + + + + + Unquoted identifier parameter cannot be null + + + + Given a quoted identifier, returns the correct unquoted form of that identifier, including properly un-escaping any embedded quotes in the identifier. + + The identifier that will have its embedded quotes removed. + + The unquoted identifier, with embedded quotes properly un-escaped. + + + + + Quoted identifier parameter cannot be null + + + + Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens. + + + The beginning character or characters to use. The default is an empty string. + + + + + + + + Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens. + + + The ending character or characters to use. The default is an empty string. + + + + + Represents the method that handles the Notice events. + The source of the event. A NpgsqlNoticeEventArgs that contains the event data. @@ -2316,6 +2699,14 @@ The connection used to open the PostgreSQL database. + + + Initializes a new instance of the + NpgsqlConnection class + and sets the ConnectionString. + + The connection used to open the PostgreSQL database. + Begins a database transaction with the specified isolation level. @@ -2366,7 +2757,13 @@ 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. + made available for re-use. If it is non-pooled, the actual connection will be shutdown. + + + + + When a connection is closed within an enclosing TransactionScope and the transaction + hasn't been promoted, we defer the actual closing until the scope ends. @@ -2403,6 +2800,11 @@ A new NpgsqlConnection object. + + + Returns a copy of the NpgsqlConnectionStringBuilder that contains the parsed connection string values. + + Default SSL CertificateSelectionCallback implementation. @@ -2423,11 +2825,33 @@ Default SSL ProvideClientCertificatesCallback implementation. + + + Default SSL ValidateRemoteCertificateCallback implementation. + + Write each key/value pair in the connection string to the log. + + + Sets the `settings` ConnectionStringBuilder based on the given `connectionString` + + The connection string to load the builder from + + + + Sets the `settings` ConnectionStringBuilder based on the given `connectionString` + + The connection string to load the builder from + + + + Refresh the cached _connectionString whenever the builder settings change + + Returns the supported collections @@ -2481,6 +2905,11 @@ Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + + + Called to validate server's certificate during SSL handshake + + Gets or sets the string used to connect to a PostgreSQL database. @@ -2636,65 +3065,244 @@ This can only be called when there is an active connection. - + + + Report whether the backend is expecting standard conformant strings. + In version 8.1, Postgres began reporting this value (false), but did not actually support standard conformant strings. + In version 8.2, Postgres began supporting standard conformant strings, but defaulted this flag to false. + As of version 9.1, this flag defaults to true. + + + + + Report whether the backend understands the string literal E prefix (>= 8.1). + + + + + Report whether the backend understands the hex byte format (>= 9.0). + + + + + The connector object connected to the backend. + + + + + Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + + + + + User name. + + + + + Password. + + + + + Determine if connection pooling will be used for this connection. + + + + + Return an exact copy of this NpgsqlConnectionString. + + + + + No integrated security if we're on mono and .NET 4.5 because of ClaimsIdentity, + see https://github.com/npgsql/Npgsql/issues/133 + + + + + This function will set value for known key, both private member and base[key]. + + + + + value, coerced as needed to the stored type. + + + + The function will modify private member only, not base[key]. + + + + value, coerced as needed to the stored type. + + + + The function will access private member only, not base[key]. + + + value. + + + + Clear the member and assign them to the default value. + + + + + Gets or sets the backend server host name. + + + + + Gets or sets the backend server port. + + + + + Gets or sets the specified backend communication protocol version. + + + + + Gets or sets the name of the database to be used after a connection is opened. + + The name of the database to be + used after a connection is opened. + + + + Gets or sets the login user name. + + + + + This is a pretty horrible hack to fix https://github.com/npgsql/Npgsql/issues/133 + In a nutshell, starting with .NET 4.5 WindowsIdentity inherits from ClaimsIdentity + which doesn't exist in mono, and calling UserName getter above bombs. + The workaround is that the function that actually deals with WindowsIdentity never + gets called on mono, so never gets JITted and the problem goes away. + + + + + Gets or sets the login password as a UTF8 encoded byte array. + + + + + Sets the login password as a string. + + + + + Gets or sets a value indicating whether to attempt to use SSL. + + + + + Gets or sets a value indicating whether to attempt to use SSL. + + + + + Gets the backend encoding. Always returns "UTF8". + + + + + Gets or sets the time to wait while trying to establish a connection + before terminating the attempt and generating an error. + + The time (in seconds) to wait for a connection to open. The default value is 15 seconds. + + + + Gets or sets the schema search path. + + + + + Gets or sets a value indicating whether connection pooling should be used. + + + + + Gets or sets 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. + + - The connector object connected to the backend. + Gets or sets the minimum connection pool size. - + - Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + Gets or sets the maximum connection pool size. - + - User name. + Gets or sets a value indicating whether to listen for notifications and report them between command activity. - + - Password. + 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. - + - Determine if connection pooling will be used for this connection. + Gets or sets a value indicating whether datareaders are loaded in their entirety (for compatibility with earlier code). - + - Return an exact copy of this NpgsqlConnectionString. + 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. - + - This function will set value for known key, both private member and base[key]. + Gets or sets the ootional application name parameter to be sent to the backend during connection initiation. - - - + - The function will modify private member only, not base[key]. + Gets or sets a value indicating whether to silently Prepare() all commands before execution. - - - + - Clear the member and assign them to the default value. + Case insensative accessor for indivual connection string values. - + - 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. + Set both ImplicitDefault and ExplicitDefault to the 's default value. + + + - + - Case insensative accessor for indivual connection string values. + Set ImplicitDefault to the default value of 's type, + and ExplicitDefault to . + + + @@ -2702,6 +3310,14 @@ A X509CertificateCollection to be filled with one or more client certificates. + + + Represents the method that is called to validate the certificate provided by the server during an SSL handshake + + The server's certificate + The certificate chain containing the certificate's CA and any intermediate authorities + Any errors that were detected + !!! Helper class, for compilation only. @@ -2714,6 +3330,8 @@ Constructor. + Connection string. + Pooled Controls whether the connector can be shared. @@ -2752,6 +3370,11 @@ Default SSL ProvideClientCertificatesCallback implementation. + + + Default SSL ValidateRemoteCertificateCallback implementation. + + This method is required to set all the version dependent features flags. @@ -2810,6 +3433,11 @@ Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + + + Called to validate server's certificate during SSL handshake + + Gets the current state of the connection. @@ -2830,14 +3458,19 @@ Backend protocol version in use by this connector. - + + + The physical connection socket to the backend. + + + The physical connection stream to the backend. - + - The physical connection socket to the backend. + The top level stream to the backend. @@ -2860,6 +3493,12 @@ Report whether the current connection can support prepare functionality. + + + Options that control certain aspects of native to backend conversions that depend + on backend version and status. + + This class manages all connector objects, pooled AND non-pooled. @@ -2888,11 +3527,6 @@ pool for available connectors. A connector object. - - - Find a pooled connector. Handle locking and timeout here. - - Find a pooled connector. Handle shared/non-shared here. @@ -2907,48 +3541,25 @@ Shared connectors should just have their use count decremented since they always stay in the shared pool. + Connection to which the connector is leased. The connector to release. - - - Release a pooled connector. Handle locking here. - - - + Release a pooled connector. Handle shared/non-shared here. - - - Create a connector without any pooling functionality. - - Find an available pooled connector in the non-shared pool, or create a new one if none found. - - - This method is only called when NpgsqlConnection.Dispose(false) is called which means a - finalization. This also means, an NpgsqlConnection was leak. We clear pool count so that - client doesn't end running out of connections from pool. When the connection is finalized, its underlying - socket is closed. - - - - - Close the connector. - - - Connector to release - - + Put a pooled connector into the pool queue. + Connection is leased to. Connector to pool @@ -3437,8 +4048,8 @@ 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 + 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. @@ -3491,13 +4102,14 @@ - Copy values from each column in the current row into . + Copy values from each column in the current row into . + Destination for column values. The number of column values copied. - Copy values from each column in the current row into . + 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. @@ -3575,14 +4187,14 @@ - This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the + This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the preload-reader option is not set in the connection string to resolve some potential backwards-compatibility issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still used to do the actual "leg-work" of turning a response stream from the server into a datareader-style object - with CachingDataReader then filling it's cache from here. - + Iterate through the objects returned through from the server. If it's a CompletedResponse the rowsaffected count is updated appropriately, @@ -3671,7 +4283,20 @@ - This class represents the Parse message sent to PostgreSQL + This is the base class for NpgsqlDescribeStatement and NpgsqlDescribePortal. + + + + + + This class represents the Statement Describe message sent to PostgreSQL + server. + + + + + + This class represents the Portal Describe message sent to PostgreSQL server. @@ -3757,6 +4382,31 @@ Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + + + Schema name which relates to the error. PostgreSQL 9.3 and up. + + + + + Table name which relates to the error. PostgreSQL 9.3 and up. + + + + + Column name which relates to the error. PostgreSQL 9.3 and up. + + + + + Data type of column which relates to the error. PostgreSQL 9.3 and up. + + + + + Constraint name which relates to the error. PostgreSQL 9.3 and up. + + String containing the sql sent which produced this error. @@ -3767,6 +4417,116 @@ Backend protocol version in use. + + + Error and notice message field codes + + + + + Severity: the field contents are ERROR, FATAL, or PANIC (in an error message), + or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message), or a localized + translation of one of these. Always present. + + + + + Code: the SQLSTATE code for the error (see Appendix A). Not localizable. Always present. + + + + + Message: the primary human-readable error message. This should be accurate + but terse (typically one line). Always present. + + + + + Detail: an optional secondary error message carrying more detail about the problem. + Might run to multiple lines. + + + + + Hint: an optional suggestion what to do about the problem. This is intended to differ + from Detail in that it offers advice (potentially inappropriate) rather than hard facts. + Might run to multiple lines. + + + + + Position: the field value is a decimal ASCII integer, indicating an error cursor + position as an index into the original query string. The first character has index 1, + and positions are measured in characters not bytes. + + + + + Internal position: this is defined the same as the P field, but it is used when the + cursor position refers to an internally generated command rather than the one submitted + by the client. + The q field will always appear when this field appears. + + + + + Internal query: the text of a failed internally-generated command. + This could be, for example, a SQL query issued by a PL/pgSQL function. + + + + + Where: an indication of the context in which the error occurred. + Presently this includes a call stack traceback of active procedural language functions + and internally-generated queries. The trace is one entry per line, most recent first. + + + + + Schema name: if the error was associated with a specific database object, + the name of the schema containing that object, if any. + + + + + Table name: if the error was associated with a specific table, the name of the table. + (Refer to the schema name field for the name of the table's schema.) + + + + + Column name: if the error was associated with a specific table column, the name of the column. + (Refer to the schema and table name fields to identify the table.) + + + + + Data type name: if the error was associated with a specific data type, the name of the data type. + (Refer to the schema name field for the name of the data type's schema.) + + + + + Constraint name: if the error was associated with a specific constraint, the name of the constraint. + Refer to fields listed above for the associated table or domain. + (For this purpose, indexes are treated as constraints, even if they weren't created with constraint syntax.) + + + + + File: the file name of the source-code location where the error was reported. + + + + + Line: the line number of the source-code location where the error was reported. + + + + + Routine: the name of the source-code routine reporting the error. + + The level of verbosity of the NpgsqlEventLog @@ -3989,6 +4749,31 @@ Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + + + Schema name which relates to the error. PostgreSQL 9.3 and up. + + + + + Table name which relates to the error. PostgreSQL 9.3 and up. + + + + + Column name which relates to the error. PostgreSQL 9.3 and up. + + + + + Data type of column which relates to the error. PostgreSQL 9.3 and up. + + + + + Constraint name which relates to the error. PostgreSQL 9.3 and up. + + String containing the sql sent which produced this error. @@ -4001,7 +4786,7 @@ - This class represents the Parse message sent to PostgreSQL + This class represents the Execute message sent to PostgreSQL server. @@ -4018,11 +4803,18 @@ - This class represents the Parse message sent to PostgreSQL + This class represents the Flush message sent to PostgreSQL server. + + + For classes representing simple messages, + consisting only of a message code and length identifier, + sent from the client to the server. + + This class is responsible for serving as bridge between the backend @@ -4135,6 +4927,11 @@ A new NpgsqlParameter that is a copy of this instance. + + + The collection to which this parameter belongs, if any. + + Gets or sets the maximum number of digits used to represent the @@ -4241,6 +5038,12 @@ Initializes a new instance of the NpgsqlParameterCollection class. + + + Invalidate the hash lookup tables. This should be done any time a change + may throw the lookups out of sync with the list. + + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. @@ -4250,11 +5053,8 @@ - Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + Obsolete. Use AddWithValue instead. - 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. @@ -4266,6 +5066,44 @@ are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload. + + + 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 paramater that was added. + + + + 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. + One of the NpgsqlDbType values. + The paramater that was added. + + + + 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. + One of the NpgsqlDbType values. + The length of the column. + The paramater that was added. + + + + 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. + One of the NpgsqlDbType values. + The length of the column. + The name of the source column. + The paramater that was added. + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. @@ -4324,13 +5162,19 @@ Inserts a NpgsqlParameter into the collection at the specified index. The zero-based index where the parameter is to be inserted within the collection. - The NpgsqlParameter to add to the collection. + The NpgsqlParameter to add to the collection. + + + + Removes the specified NpgsqlParameter from the collection. + + The name of the NpgsqlParameter to remove from the collection. Removes the specified NpgsqlParameter from the collection. - The NpgsqlParameter to remove from the collection. + The NpgsqlParameter to remove from the collection. @@ -4458,12 +5302,6 @@ Provides the underlying mechanism for reading schema information. - - - Creates an NpgsqlSchema that can read schema information from the database. - - An open database connection for reading metadata. - Returns the MetaDataCollections that lists all possible collections. @@ -4476,38 +5314,43 @@ The Restrictions - + Returns the Databases that contains a list of all accessable databases. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Databases - + Returns the Tables that contains table and view names and the database and schema they come from. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Tables - + - Returns the Columns that contains information about columns in tables. + Returns the Columns that contains information about columns in tables. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Columns. - + Returns the Views that contains view names and the database and schema they come from. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Views - + Returns the Users containing user names and the sysid of those users. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Users. @@ -4525,7 +5368,7 @@ - This class represents the Parse message sent to PostgreSQL + This class represents the Sync message sent to PostgreSQL server. @@ -4616,28 +5459,72 @@ number of bytes to read The number of bytes read. May be less than count if no more bytes are available. - + + + Reads requested number of bytes from . If output matches exactly, and == false, is returned directly. + + Source array. + Starting position to read from + Number of bytes to read + Force a copy, even if the output is an exact copy of . + byte[] containing data requested. + + + + This method writes a string to the network stream. + + + + + This method writes a string to the network stream. + + + This method writes a C NULL terminated string to the network stream. It appends a NULL terminator to the end of the String. + + This method writes a C NULL terminated string to the network stream. It appends a NULL terminator to the end of the String. - + + + This method writes a byte to the stream. It also enables logging of them. + + + + + This method writes a byte to the stream. It also enables logging of them. + + + + + This method writes a set of bytes to the stream. It also enables logging of them. + + + This method writes a set of bytes to the stream. It also enables logging of them. - + This method writes a C NULL terminated string limited in length to the backend server. It pads the string with null bytes to the size specified. + + + This method writes a C NULL terminated byte[] limited in length to the + backend server. + It pads the string with null bytes to the size specified. + + Write a 32-bit integer to the given stream in the correct byte order. @@ -4648,6 +5535,11 @@ Read a 32-bit integer from the given stream in the correct byte order. + + + Read a 32-bit integer from the given array in the correct byte order. + + Write a 16-bit integer to the given stream in the correct byte order. @@ -4658,17 +5550,40 @@ Read a 16-bit integer from the given stream in the correct byte order. + + + Read a 16-bit integer from the given array in the correct byte order. + + + + + Copy and possibly reverse a byte array, depending on host architecture endienness. + + Source byte array. + Force a copy even if no swap is performed. + , reversed if on a little-endian architecture, copied if required. + + + + Copy and possibly reverse a byte array, depending on host architecture endienness. + + Source byte array. + Starting offset in source array. + Number of bytes to copy. + Force a copy even if no swap is performed. + , reversed if on a little-endian architecture, copied if required. + Represent the frontend/backend protocol version. - - Represent the backend server version. - As this class offers no functionality beyond that offered by it has been - deprecated in favour of that class. - + + Represent the backend server version. + As this class offers no functionality beyond that offered by it has been + deprecated in favour of that class. + -- cgit v1.1 From c5d0c69a3584dbda48c0afcaaff6818cc7dfc294 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 May 2017 02:51:37 +0100 Subject: update libomv LitJSON to version 0.9.0 --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 2199552 -> 2199552 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 7087584..d376015 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index dd3113d..d269154 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 1a63a9f..a0782f8 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index cf5080d..aa1d2e6 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1