Home Product » History
PGNP Project History

December 15, 2014   New Services are avaialable!

Additionally to our set of products, we decided to offer several new services including cost-saving analysis/design/development/support of Business Intelligence (BI) solutions of various complexity. The solutions are based on 1) Microsoft SQL Server BI tools: SSIS (SQL Server Integration Services), SSRS (Reporting Services), SSAS (Analysis Services); 2) IBM Cognos Framework/Reporting; 3) Tableau reports; 4) Various databases, including PostgreSQL, Greenplum, Redshift, Cassandra, Vertica, Denodo, etc. For more details see the Services page.

December 8, 2014    Ver 1.4.0.3312

Fixed bug when cursors were not turned on by default.
Fixed data corruption in an INSERT with SMALLINT parameter.
Added support for Postgres 'money' type. Query, insert, update, FastLoad work now.
Resolved potential issue in assigning column ordinals when tables with same name exist in different schema.
Redshift OLEDB: Fixed bug in BI Alias data source: "AWS_SECRET_KEY and AWS_ACCESS_KEY connection string parameters were not passed".
Denodo OLEDB: Fixed COLUMNS and TABLES schema to pass restrictions as literal parameters to the CATALOG_METADATA_VIEWS().
Denodo OLEDB: Fixed INDEXES and PRIMARY_KEYS schema. Fixed PROCEDURES schema to return names of procedures in lower case.

October 27, 2014    Ver 1.4.0.3300

Denodo OLE DB Provider is officially released!
Fixed bug when transforming xml fields from SQL Server to Postgres in SSIS.
Changed grammar to handle identifiers in negative accent marks (`).
Added NUM_PRECISION and NUM_SCALE connection string parameters, and pgnp_getnumericproperties/pgnp_setnumericproperties.
Added "Optional id" to the activation request-response as convenience to the end-user who wants to match requests and responses.

September 8, 2014    Ver 1.4.0.3284

Fixed bug in determining expression type when ISNULL function is used.
Fixed bugs in handling dynamic queries in Redshift. Example: CREATE TABLE #tmp...; SELECT ... FROM #tmp; DROP TABLE #tmp;
Fix: Comment-only statement execution returned error, e.g. /* test */.
Changed column type returned from NULL to INT4.
Multiple statement did not execute or returned data in some scenarios.
Calculated column alias was not returned correctly, e.g. Select Sum(case when A>0 then X else Y end) as CalcColumn.
Fixed memory leaks.
Added new C# sample (MultipleResultsets).
Profiler: Added 64-bit applications indicator.
Profiler: Fixed missing columns on first launch after the installation.

July 7, 2014    Ver 1.4.0.3264

Replaced connection string parameter FORCEUTF8 with FORCECP. Updated documentation for the FORCECP, and the out-of-proc registration script.
Fixed bug in some symbols coding when using FastLoad into Greenplum.
Fixed grammar to allow column names Start, End, Transaction, etc.
Fixed bug in bulk-inserting data via linked server when default/serial column is not specified. Example:
   INSERT [LNK]...[table](col1,col2) SELECT [col1], [col2] FROM [tbl];
where table DDL:
   CREATE TABLE table (id serial, col1 int, col2 varchar[50]);
Fixed bug in returning data: SELECT DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM LNK..information_schema.columns (ntext was not returned correctly).
Fixed bug when a linked server is configured to connect to DB1, and query is issued to DB2: SELECT * FROM OPENQUERY (LNK_DB1,'SELECT e1.* FROM DB2.public.tbl')
Fixed bug "incorrect column names from querying a stored procedure returning record".
Fixed bugs in decimal/numeric values conversion: for a zero numeric use a non-zero precision; scale was not processed correctly and it resulted into zero.

June 9, 2014    Ver 1.4.0.3254

Fixed exception when handling SELECT INTO statements.
Fixed bug in processing multiple statements when could not parse on of them.
Fixed bug in characters encoding in RowsetFastLoad (Greenplum).
Fixed bug when ETL handling ntext/nvarchar.

May 9, 2014    Ver 1.4.0.3248

Fixed crashes in Cassandra OLEDB provider.
Fixed error "cannot locate row" in DeleteRows function.
Fixed bug "Undefined stored procedure" when stored procedure name is in mixed case, e.g. "Date_Range(...)".
Fixed bug in handling queries with CROSS JOIN.
Included a bugfix for openssl "HeartBleed Bug" (now using openssl-1.0.1g).
Enabled optimization of errored statements.
Various fixes for SQL Server to Redshift replication.
Fixed bug in PIPECOPY mode used for replication acceleration. The mode is only used when number of parameters and ordinals coincide with all columns in a table. Previously, it could cause incorrect work of INSERT.
Fixed bug in handling parameter sets. If more than one parameter set was used, the only first was passed to DBMS.
Fixed bug in handling multiple statements concatenated with semicolon. If two DDL statements used, only first one was sent to DBMS.
Fixed bug "Invalid parameter type" - no need to calculate parameters types after SetParamInfo was called.
Enabled single quotes in N strings, e.g. N'Rock''n''Roll'.
Profiler: Optimizer dialog was not displaying.
Profiler: enabled menu auto-hiding. Menu can be brought up by pressing ALT button.

March 31, 2014    Ver 1.4.0.3232

Fixed bug in determining types of expressions using now() function and count(bigint).
Fixed crash when getting index schema on very long names.
Fixed bug: CTE can use full SELECT, e.g. WITH... (SELECT ... ORDER BY 1) ...
Fixed bug: unnecessary 'AS' was inserted into query, e.g. SELECT * FROM crosstab('...', '...') AS tbl(...). Result: AS tbl AS.
Fixed bug: column information was returned in lower case, e.g. SELECT 1 as "My Test" from tbl.
Fixed casing bug in output column, e.g. SELECT date_part(...) was returning column name as DATE_PART.
Improved parameters and return types handling for stored procedure.

March 17, 2014    Ver 1.4.0.3218

Fixed bug in conversion of very long numeric strings.
Fixed bug in license check when the cluster node name case varies between activation and launch.
Redshift: fixed bugs in schema handling (upper/lower case).
Redshift: changed default port to 5439.
Redshift Profiler: added code to log rows count into the profiler's trace; changed instance guard id for Redshift; changed application icon.

January 2, 2014    Ver 1.4.0.3206

Enabled using cursors in Redshift.
Added logging of the internal Provider's trace as comments in the Profiler. Changed PGNP Profiler to allow selecting commentaries level (from "SQL Statements Only" to "Comment Level 3").
Added new stored procedure pgnp_comment.
Fixed minor connection leak.

November 19, 2013    Ver 1.4.0.3200

Fixed bug resulting in error: "cursor "pgnpcsrN" already exists". The error occurred when application executed a command, and did not request the rowset (riid=NULL).
Fixed bug in DECIMAL numbers conversion procedure. Previously some numbers could be returned incorrectly, e.g. 10000 as 10.
Fixed bug in pgnp_refreshmetadata when the stored procedure is called from SSMS; it did not send metadata refresh notification. Example: EXEC ('pgnp_refreshmetadata('''',''test_table'')') AT PGNPTEST.
Added connection string parameter OPTIMIZER=ON/OFF. By default optimizer if not enabled (OFF).

November 4, 2013    Ver 1.4.0.3196

Fixed connection leak when closing data source.
Fixed bug in handling table names as reserved words, e.g. SELECT * FROM [date].
Profiler: enabled the filter pane on startup.

October 23, 2013    Ver 1.4.0.3192

Fixed connections leak when handling distributed transactions.
Fixed bug "...linked server supplied inconsistent metadata for a column. The name was changed at execution time."

September 23, 2013    Ver 1.4.0.3186

Fixed bug in parser when handling some subqueries, e.g. select * from ( (select * from trade t ) as thing1 inner join (select * from booking b) as thing2 on thing1.id=thing2.tradeid )
Greenplum: Added connstr parameters HIDE_GPFDIST, LOG_PATH and VERBOSE. Fixed bug in gpfdist bulk import.
Redshift: Made Redshift provider to be able to work side-by-side with PGNP. Connection string: "Provider=RSNP;".

August 2, 2013    Ver 1.4.0.3178

Resolved the error on WinXP and Win2003: "The procedure entry point InitializeCriticalSectionEx could not be located..."
Fixed bug in reading procedure schema.
Fixed bug: select * from pgnp_getlicenseinfo() did not return any rows.
Fixed bug resulting in "Inconsistent metadata" error when querying COUNT(*) from a linked server.
More fixes/changes for Redshift.

July 7, 2013    Ver 1.4.0.3173

New OLEDB Provider for Amazon Redshift is released. Trial build and documentation are available from the Download page.

June 25, 2013    Ver 1.4.0.3170

Added connection string parameter CURSOR=ON/OFF to allow turning cursor usage off.
Fixed bug: query with all aggregate columns returned NULLs.

June 7, 2013    Ver 1.4.0.3162

Fixed bug in the EVENTS connection string parameter, and added code to convert SSLMode parameter into lower case.
Fixed memory overflow in FastLoad in some cases.
Fixed connectivity issue in Excel x64 caused by an uninitialized DataSource property (HWND).

May 15, 2013    Ver 1.4.0.3152

More changes made to fix error: "COPY file signature not recognized".

May 14, 2013    Ver 1.4.0.3150

Fixed bug that caused the error during bulk insert: "COPY file signature not recognized".
Fixed bug when execution of some queries resulted in the error "Cannot insert multiple commands into a prepared statement".
Made stability fix in Profiler, and added logging for Guid parameter.

April 26, 2013    Ver 1.4.0.3146

Resolved "SSL renegotiation issue" when connection was breaking after large volume of data transferred.
Fixed bug in FastLoad causing "incorrect binary data format" error for types date and time.
Fixed bug in FastLoad when the bound type is different from the column type, e.g. when ETL transforming I8 into I4 field.
Fixed bug in processing Decimal parameter from C#.

April 15, 2013    Ver 1.4.0.3142

Added support for COPY WITH BINARY to FastLoad and BULK_METHOD=COPY (PG only).
If all columns in a query are aggregate do not open cursor (an optimization).
If stored procedure does not return result (void), call it with "SELECT Proc()". Previously generated call as "SELECT * FROM Proc()".
Fixed error "Non-nullable field cannot have NULL" for "character variable" fields.
Fixed internal exception in some scenarios when not connected to DB ($NO_CATALOG mode).
Fixed connection failure when password starts with '='.
Profiler: fixed potential crash when clearing trace.

February 25, 2013    Ver 1.4.0.3132

Geometry fields and unknown types are exposed as long strings, previously they were as varchar(4000).
Added "EVENTS" extended property to control events subscription.
Fixed exception when handling statements of size 1MB or larger.
Fixed license activation issue on a SQL Cluster.
Fixed bug in handling columns of type "character varying".
Fixed exception in a linked server query when no columns are available, e.g.: SELECT * FROM OPENQUERY(PGSVR, 'ALTER TABLE...').
Fixed exception when closing Connection Wizard in QlikView.
Fixed exception when executing some functions "SELECT func(n)".
Optimizer: added ability to optimize internal statements such as schema queries.
Optimizer: added support for re-initialization when pgnp_optimizer event is triggered.
Optimizer: added support for enabling/disabling the optimizer.
Profiler: enabled optimizer UI.
Profiler: Details View can now display more than 30000 characters.

November 26, 2012    Ver 1.4.0.3106

Enabled BULK_METHOD=PIPECOPY for fast replication. Updated documentation.
Added support for True and False boolean constants.
Fixed bug: not all rows returned to some .NET applications (side effect introduced in 3056).
Fixed bug in expression type evaluation when functions TO_DATE, TO_TIMESTAMP and TO_NUMBER are used.
Fixed memory leak when importing data and BULK_METHOD=COPY.

November 12, 2012    Ver 1.4.0.3098

Fixed memory leak when loading CSV file in SSIS.
Fixed bug in expression type evaluation when DATE_PART function is used, and aggregate function with CASE expression as a parameter.
Fixed bugs in processing stored_proc AS (typ1, ...).
Fixed bug: Unnecessary 'AS' added when processing query:
  SELECT * FROM OPENQUERY(PGSERVER, 'SELECT* FROM carts_saved()')
Fixed bug causing .Net Exception when getting DataSourceInformation from ADO.NET:
  OleDbConnection connection = new OleDbConnection();
  connection.ConnectionString = "Provider=PGNP.1;Initial Catalog=...";
  connection.Open();          
  DataTable table = connection.GetSchema("DataSourceInformation");
  connection.Close();
Fixed bug: values for DBMSVER, DBMSNAME, CONNECTIONSTATUS and DATASOURCENAME datasource properties were not returned correctly.
Fixed bug: invalid byte sequence for encoding "UTF8", when performing bulk import/fast load into DB.
Fixed bug: provider sends 'unknown' message to profiler after processing a erroneous statement.
Enabled newline in string literals.
Profiler: Fixed horizontal scroll reset after the trace view refresh.
Profiler: Added ability to save/load profiler's log to/from CSV files.
Profiler: fixed bug in displaying messages counter after clearing trace.

August 12, 2012    Ver 1.4.0.3076

Implemented IRowsetFastLoad, and added "BI Alias" provider registration (SE only).
Implemented DISTINCT_VALUES and FORCE_SORTED_LOV connection string parameters for Greenplum provider.
Fixed bug in handling some domain types.
Fixed bug in handling parameters in expressions: WHERE (id BETWEEN ? + 1 AND ? + ?).
Fixed bug in handling query with "table from function", e.g. select * from get_ids(...) as (id integer).
Fixed bug when ETL-transferring rows with NULL fields.
Fixed an issue in joining distributed transaction for some 32-bit applications on 64-bit systems.
Fixed bug resulting in the error "Provider returned data that does not match expected data length..." when querying column defined as a single character.
Fixed internal exception when querying data via linked server with server name misspelled.

March 23, 2012    Ver 1.4.0.3056

Fixed bug when inserting data via linked server in SQL Server 2005.
Fixed bug when inserting VARBINARY column data into BYTEA field via linked server.
Added new stored procedures for internal diagnostics: pgnp_workplaceid and pgnp_checklicense.
Enabled IIndexDefinition and ITableDefinition interfaces.
Changed links to new products in the trial reminder dialog.

March 1, 2012

New PGNP Provider version, 1.4, is released!
More power, more features, automated updates, etc. Read Developer's Manual and Forum for more details.

February 22, 2012

Release Candidate 3 (1.4.0.3046) is available from Downloads page.
* Fixed bug that prevented querying of an array element, e.g. SELECT col[1] FROM tbl.
* Extended grammar to allow querying of multi-dimentional array elements, e.g. SELECT "tbl"."col"[1][1][1] FROM "tbl".
* Fixed bug in querying internal stored procedures, e.g.: SELECT * FROM pgnp_getlicenseinfo().
* Fixed bugs in handling function table element list, e.g.: SELECT col1 FROM func('prm') AS ftal(col1 varchar(8)).
* Added code to replace COUNT_BIG to COUNT in SSAS queries.
* Fixed bug in handling double quoted identifiers in some statements.
* Made minor performance optimizations.

January 9, 2012

Release Candidate 2 (1.4.0.3036) is available from Downloads page.
It includes fixes for the following defects:
* "Invalid License" reported after installation on some systems;
* Provider "Alias" for better integration with SSIS is no longer registered; it will be available again in future builds;
* eliminated some connection leaks in distributed transactions; however, additional fix is still needed for some scenarios.

January 2, 2012

Release of v1.4 is postponed for another few weeks due to couple of critical bugs.

December 24, 2011  Ver 1.4.0.3030

PGNP 1.4 Release Candidate update:
Fixed bug that resulted in "DECLARE CURSOR can only be used in transaction blocks" in some scenarios.
Fixed bug resulting in exception when handling distributed transaction.
Fixed bugs in handling CASE <expr>, some complex expressions with OR operand, POSITION(...IN...) function.

November 9, 2011  Ver 1.3.0.2256

Added more detailed diagnostics to the PGNP Profiler when failed to open connection.
Fixed bug when handling command parameters of type "datetime" (previously the Provider added value of milliseconds as seconds to the time).
Fixed bug in unsigned parameters processing in IRowsetChange interface.
Fixed bug in handling SUBSTRING(... FROM n FOR n).

November 7, 2011  Ver 1.4 Beta

Beta build 1.4.0.3012 is available in Download section. The new major version of the PGNP OLEDB Provider for PostgreSQL and Greenplum has several new features and improvements:
- Optimizations for very large data sets (1 billion rows and more).
- Better support for PostgreSQL 9.x and Greenplum 4.x.
- Deferred updates support (IRowsetUpdate).
- Automated updates utility (not included in trial build).
- Various defects fixes.

August 28, 2011  Ver 1.3.0.2251

Additional changes for better reliability when a connection is accessed from multiple threads.

August 15, 2011  Ver 1.3.0.2248

Improved reliability of provider when a connection is accessed from multiple threads.
Fixed bug of premature committing of an inline transaction. It fixed "ERROR: cursor nnn does not exists".
Added code to report a command ID to the PGNP Profiler.
Minor fixes in grammar (added support for "IS TRUE", "IS FALSE", etc.).

July 11, 2011  Ver 1.3.0.2244

Enabled OLEDB SCHEMATA. Added custom schema DOMAINS. Added code for better support of PostgreSQL domains.
Fixed bug when application transfers NULL value for a field with default ("ERROR: bind message supplies 14 parameters, but prepared statement requires 15").
Fixed bug in column type evaluation for queries with CAST.
Fixed bug when inserting/updating time fields via linked server resulting in "Insufficient date left in the message".
Made additional fix to build 2230: executing stored procedure via linked server did not work correctly (select general.test_oledb(1)).
Fixed bug of converting <tab> into \t when BULK_METHOD=COPY and transferring data from SQL Server to PostgreSQL.
Fixed bugs in populating PrimaryKeySchema and ForeignKeySchema.

May 24, 2011  Ver 1.3.0.2232

Fixed the Expression Type Evaluator to be able to correctly determine expressions types with PostgreSQL functions such as current_date.
Fixed issue when stored procedure did not execute properly (eliminated unnecessary DECLARE CURSOR when a procedure does not return dataset).
Fixed bug in updating a table via linked server "Row cannot be located. Make sure the table has primary key" when the linked server is pointing to one database but the statement is using another database. There was a bug in loading indexes metadata.
Fixed bug "Failed to parse..." when LIMIT clause uses a parameter or a complex expression.
PGNP Profiler: Fixed issue of messages list blinking when "Applications List Auto-Refresh" occurs.

March 7, 2011  Ver 1.3.0.2227

Fixed bug in processing query with HAVING clause, e.g.
   SELECT col1,COUNT(col1) AS count1 FROM tab1 GROUP BY col1 HAVING COUNT(col1)>1 AND col<2.
Fixed bug in handling queries with CROSS JOIN.
Fixed bug in handling syntax such as Table.Count (here Count is a column name).
Fixed bug when reading client-side certificate (path to postgresql.crt was determined incorrectly).
Optimized IRowsetChange to not use RETURNING clause when inserting a row and primary key value(s) present.

February 7, 2011  Ver 1.3.0.2222

Fixed error "Undefined column a.test1d" when executing command:
  INSERT INTO arrays (id, test1d)
  SELECT NEXTVAL('arrays_id_seq'), a.test1d
  FROM (SELECT * FROM pgnp_samples.arrays WHERE id >= 1 ORDER BY id) a
Fixed a few issues in handling identifiers in square brackets, e.g.
   SELECT * FROM [display] ORDER BY [display].[userid].
Fixed defect in Indexes schema when a table with the same name exists in multiple schema. It could result in issues returning rows via Linked Server.

January 3, 2011  Ver 1.3.0.2217

Added an OLEDB command property for obtaining number of affected rows per-query (see DBPROP_PGNPQRYAFFECTEDROWS in Developer Manual).
Fixed bug when querying temporary table, e.g. SELECT * FROM pg_temp.test.
Fixed bug in handling queries with CAST to array, e.g. CAST (array(tbl.col) AS bigint[]).
Fixed bug in parsing clauses "LIKE lower(col)" and "NOT LIKE lower(col)".
Fixed bug in parsing clause "UNION (SELECT...)"
Changed behavior when provider cannot parse a query: now it returns error "Failed to parse ..."
Fixed parse error when parsing Escape Literals, e.g. Lower(col) LIKE E'domain%'.
Changed grammar for multiple commands. Added code to handle BEGIN;...;COMMIT;END; (Oracle style).

November 11, 2010  Ver 1.3.0.2196

Fixed bug in IRowsetChange::InsertRow when inserting a duplicate row. According to OLEDB specification it must return DB_E_INTEGRITYVIOLATION. Previously returned E_FAIL.
Fixed bug in determining length of a concatenated string in a subquery, e.g.:
  SELECT * FROM (SELECT FNAME || ' ' || LNAME FROM EMPLOYEE) S
Fixed bug in determining complex expression type with COALESCE and some aggregate functions.
Fixed bug resulting in “insufficient data left in message” error when executing UPDATE via linked server.
Fixed bug when transferring varbinary(n) field from SQL Server to Postgres: destination field was empty.
PGNP Profiler: Added automatic discovery of system services using the provider. Refresh timer added and can be configured in Options dialog.

September 27, 2010  Ver 1.3.0.2190

Fixed bug when processing sub-queries with multiple columns (see forum http://www.pgoledb.com/forum/viewtopic.php?f=6&t=219).
Fixed defect in calculation of expression type when the expression contains CAST operator, e.g.:
   SELECT CAST(col_a as numeric) - CAST(col_b as numeric) AS val FROM testtable;
Fixed VIEWS schema to display view definition columns correctly.
Fixed bug in a sequence querying, e.g.:
   SELECT * FROM mix_seq;
or via linked server:
   SELECT * FROM openquery(PGNP_SAMPLES, 'SELECT * FROM mix_seq');
Fixed bug when inserting rows with composite primary key in IRowsetChange.

August 23, 2010  Ver 1.3.0.2180

Fixed bug when a linked server connected to Postgres catalog A and user is querying table from catalog B: SELECT * FROM PGNP_TEST.B.[public].tbl. Previously the error returned "Undefined table tbl". After the fix data is returned correctly.
Fixed bug "The select list for the INSERT statement contains more items than the insert list. The number of SELECT values must match the number of INSERT columns. [SQLSTATE 07008] (Error 121)".
Added code to analyze DBPROP_UNIQUEROWS property on command. If the property is not set to TRUE, do not insert hidden key column.
Fixed memory leak during DTS transformation (introduced in build 2171).
Fixed bugs in the Expression Type Evaluation engine for complex expressions using functions calls and the numeric type.
Fixed bug in parsing statements using cast to "timestamp without time zone".

July 20, 2010  Ver 1.3.0.2171

Enabled using ODBC functions in a query columns list, e.g.
  SELECT {fn left(lname, 3) }, lname FROM table
will be executed as
  SELECT substring(lname, 1, 3), lname FROM table
Added formatting for date/time parameters for messages logged into the PGNP Profiler.
Fixed bug in setting a session reference in connection returned from the OLEDB pool.
GetCommandText now returns the command that will be executed, not the original one.
Fixed bug in handling CREATE INDEX command: now it sends notification to refresh metadata caches in all connected providers.
OpenRowset now returns DB_E_NOTABLE when opening non-existing table (previously returned DB_E_ERRORSOCCURRED).
Fixed bug when parsing "typed strings", e.g. TIMESTAMP '2010-01-02  00:00:00.000'INTERVAL '3 minutes', etc.
Extended expression type evaluator to handle "typed strings" ('DATE' String | 'TIME' String | 'TIMESTAMP' String | 'INTERVAL' String | 'INTEGER' String | 'DOUBLE' 'PRECISION' String)

June 30, 2010  Ver 1.3.0.2162

Fixed bug "Undefined table pg_tables" when querying pg_tables.
Fixed bug that prevented inserting default values (previously inserted NULL if a column was not specified).
Fixed bugs when inserting/updating data through an ADO recordset via AddNew, GetField('name')->Value = v, Update().
Changed type returned by COUNT() aggregate function from int8 to int4.
Resolved issue of not using prepared SELECT (because of the cursor).
Eliminated usage of SAVEPOINTs when preparing commands.
Changed parser to support geometric operators.
Improved PGNP Profiler messages from IRowsetChange::DeleteRows and when executing prepared commands.

May 5, 2010  Ver 1.3.0.2154

Fixed bug "Undefined procedure" when executing statement 'vacuum table' via a linked server.
Fixed bug in processing stored procedures calls with following syntax: {? = CALL ContactsLike(?)}.
Fixed bug in handling stored procedures parameters of type uuid.
Fixed bug in processing a recordset (table) returned from a function.
Fixed bug in retrieving data from call to PostgreSQL function returning refcursor.
Tweaked types schema for better support of SQL Server 2008 types in DTS conversion.
Fixed bug in parsing statements with syntax having func()::type.
Implemented support for two-phase commit protocol. Please read the Developer's Manual for more details.

March 9, 2010  Ver 1.3.0.2142

Several memory leaks were fixed.
Fixed bug: unable to update timestamp field with year value larger than 2079 (e.g. 9999-12-31 23:59:59).
Fixed bug when inserting data into text field via linked server (see http://pgoledb.com/forum/viewtopic.php?f=4&t=42).
Fixed potential crash if network connection is closed during a rowset reading.
Fixed bug in parameters handling when a prepared command is called the second time.
 
Added code to handle DBDATE fields when inserting rows using Linked Server:
  INSERT INTO [PGNP_SAMPLE]... SELECT ... FROM [SASRPT].[dbo].[glt_view]
 
Added code to allow calls to internal stored procedures via linked server, e.g.:
  EXEC('select * from pgnp_getlicenseinfo()') AT PGNP_SAMPLE
  EXEC('pgnp_getlicenseinfo()') AT PGNP_SAMPLE
  EXEC('pgnp_refreshmetadata('''',''test'')') AT PGNP_SAMPLE

Changes in PGNP Profiler:
* added high-color toolbar buttons;
* added options support for hiding and displaying columns;
* added filtering of ExecutedSQL when ClientSQL is empty, e.g. now following filters work: ClientSQL ilike 'COPY (.)+';
* fixed crash when filter is "SQLType = USER".

January 27, 2010  Ver 1.3.0.2132

Added code to handle Common Table Expressions (CTE) and Window Functions (OVER clause) syntax correctly, e.g.
  WITH RECURSIVE subdepartment AS (SELECT * FROM department WHERE name = 'A'
    UNION ALL SELECT d.* FROM department AS d JOIN subdepartment AS sd ON (d.parent_department = sd.id))
  SELECT * FROM subdepartment ORDER BY name;

Fixed bug: missing quotes in column identifier when DTS transformation is performed from SQLServer to PostgreSQL and BULK_METHOD=COPY.
Fixed memory leak in RowsetChange class when inserting rows (BULK_METHOD=COPY).
Added extended property SQLSERVER (default 2005). When SQLSERVER=2005 SQL types date and time are shown as datetime during DTS transformation.

December 22, 2009  Ver 1.3.0.2124

Fixed bug in processing SELECT CASE col WHEN NULL...
Fixed bugs in handling substr function (too few symbols were returned) and substring function ('foobar' FROM 'o.b' syntax supported).
Fixed bug that resulted in 'Non-nullable column cannot be updated to Null' error when using RIGHT OUTER JOIN in an ADO query.
Fixed bugs in rowset object when BULK_METHOD=COPY used.
Various fixes and enhancements in the PGNP Profiler: eliminated flickering; deprecated SCHEMA_* messages and replaced them with new SYS_SCHEMA message; better reporting for table/procedure undefined, prepare failed errors, etc.;
Fixed bug in processing SELECT...INTO... statements.
Fixed bug in SSIS when "Parse Query" is clicked on INSERT statement with uuid parameter.
Fixed bug for statements where subquery column names can be non-unique, i.e. added _N suffix for duplicate column names.

November 30, 2009  Ver 1.3.0.2112

Fixed bugs when using the provider in BI Development Studio (SSIS 2008):
* "Parameters..." did not display with the SQL command containing "WHERE CAST(...) > ?";
* Datetime parameter was not passed correctly in command such as "INSERT INTO Tbl(...) VALUES(?, localdatetime)";
* Bulk import in SSIS using BULK_METHOD=COPY had some formatting issues;
 
Fixed bugs in an ADO application migrated from ODBC:
* "Operator does not exists: boolean >= character varying" in the query "SELECT * FROM Tbl WHERE IsActive >= ?", IsActive is boolean field,the parameter is passed by the application as boolean;
 
Introduced PropertyGrid control for the Advanced property page in DataLink dialog.
 
Extended grammar production rule for Extract function (added support for EPOCH, DOY, DOW, etc.).
 
Fixed bug in displaying interval value obtained from an expression in SSRS.
 
Fixed bug in updating rows in very large table via linked server. This defect was introduced in 1.3.0 recently.
 
Added new Extended Properties parameter of connection string: ZERO_TS_FRACTION. When the parameter is set to ON, the Provider zeroes timestamp fraction during query. This addresses Datetime overflow issue when transforming databases in SSIS.
 
Fixed expression type evaluator to handle timestamp(0) in expressions.
 
Added new options to PGNP Profiler:
* "Profile all application" - to automatically begin profiling after the PGNProfiler startup;
* "Delete work files on exit" - if unchecked, the PGNP Profiler application leaves the working files on disk after exit; the files can be opened later in the application;
* "Work Log Path" - location for the work files;
 
Fixed bug in OLE DB COLUMNS schema that potentially could cause "Inconsistent metadata" issue when querying tables via linked server using 4-part identifier.

October 26, 2009  Ver 1.3.0.2100

Version 1.3.0 is released!

September 21, 2009  Ver 1.2.8.1148

Fixed bug in determining an aggregate column flag in SELECT COALESCE(SUM(col)) .... It resulted in insertion of a hidden key and the query failure.

Fixed bug in handling queries with non-default SQL dialect, e.g. when working with QlikView.

August 23, 2009  Ver 1.2.8.1146

Added support for SELECT ... FOR UPDATE/FOR SHARE syntax.

Fixed bug in DTS conversion of MSSQL bit field into Postgres boolean field (previously, result was always false).

Extended lexeme definition for Real number.


July 26, 2009 Ver 1.2.8.1143

Fixed bug when mixed case column is used in WHERE clause in update via linked server (added double quotes).
 
Added support for SHOW command, e.g.:
   SHOW SEARCH_PATH;
   SHOW ALL;
 
Fixed duplicate quote issue when executing insert into a linked server's table.
 
Fixed a few bugs in replication with LOWERCASESCHEMA=ON. Added replication configuration description to the Developer's Guide.
 

June 14, 2009 Ver 1.2.8.1140

Fixed errors when parsing and processing non-ANSI functions, e.g. "extract (hour from updated)".
Fixed bugs in processing of some commands via linked servers, e.g.
   INSERT INTO OPENQUERY(...) SELECT val1, val2, ...
   UPDATE OPENQUERY(...) SET ... WHERE ...
   DELETE OPENQUERY(...)


Added productions to recognize type qualifiers with length, e.g. '::varchar(100)'.

Added code to handle ORDER BY, LIMIT and OFFSET clauses in a sub-query.
Fixed bugs when adding hidden key and a table name uses Capital characters, e.g.
  SELECT Name FROM Customer
previously resulted in:
  SELECT Name, "Customer"."customerid" from Customer

Fixed bug when determining field size returned by a function; for boolean type size was 1, should be 2; for timestamp and timestamptz types size was 8, should be 16.
Added code to set columns flags correctly (some fields did not have FIXEDLENGTH flags set when it must be set).

Fixed some minor bugs in processing of CASE statement.

May 03, 2009 Ver 1.2.8.1120

Fixed bug in determining aggregate function return type, e.g.
    "SELECT max(create_date) FROM events"
where create_date is timestamp".
Fixed bug in DTS transformation of types numeric(19) and character(3) from PostgreSQL.
Migrated parts of expression evaluation engine from PGNP 1.3 for better types evaluation.
Enabled using some keyword and aggregate functions names as column aliases, e.g.
    "SELECT my_column AS min FROM table1".

April 16, 2009 Ver 1.2.8.1116

Fixed bug in updates via linked server connection (side effect from introducing BULK_INSERT).
Max parameter value for bulk insert increased to 1000000.
Enabled strings with N prefix.
Enabled support for the following PostgreSQL types: cardinal_number, character_data, sql_identifier, and time_stamp.
Refined provider_types schema.
Added code to alter data returned from information_schema for better support of DTS transformation from PostgreSQL.

March 16, 2009 Ver 1.2.8.1110

Fixed bug when column alias is used in single quotes.
Fixed "Connection failed" bug when host name or user name contains spaces.
Fixed bug in columns ordinals in INDEXES schema.
Fixed "invalid data for column" bug in Linked Servers when reading Infinity and other special floating point values by introducing a new "extended property" CNV_SPECIAL_FLTVAL (convert special floating value). If enabled (CNV_SPECIAL_FLTVAL=ON) the following conversion rules will apply:
      +Infinity will convert into  MAX_FLOAT/MAX_REAL,
      -Infinity will convert into -MAX_FLOAT/-MAX_REAL,
      NaN will convert into zero.
Provider verified working with Greenplum database.  
Added "extended property" SEARCH_PATH. When set it enables provider metadata dictionary to resolve schema the same way as used in PostgreSQL, i.e. "SET search_path". By default search_path="$user", public.
Added "extended property" BULK_INSERT (for accelerated DTS conversion). It combines number (specified by BULK_INSERT) of separate inserts generated by the DTS engine into one bulk insert. Any positive number can be specified (m+1 in the example below). The larger the number the faster the data insertion into the database because of reduced number of round trips. The parameter specifies the number of value sets in the SQL command:

     INSERT INTO table (col1, col2, ... colN)
      VALUES
      ($1, $2, ... $N),
      ($N+1, $N+2, ... $2N),
      ...
      ($mN+1, $mN+2, ... $mN+N)

For our configuration of Greenplum database performance of DTS conversion increased more than 15 times using BULK_INSERT=100.

January 25, 2009 Ver 1.2.8.1103

Fixed bug "Undefined procedure..." when call is made to a procedure with name in double quotes, e.g. "SELECT * FROM public."getClientsInfo"('EMP1004', 1)".
Fixed "Parse failed" error when processing a query with multiple joins grouped with parenthesis: 
"SELECT ... FROM TBL1 A JOIN ((TBL2 B JOIN TBL3 C ON ...) ON ...) ..."

January 18, 2009 Ver 1.2.8.1101

Added automatic metadata refresh on ALTER or DROP command.
Allowed zero-length SequentialStreams.
Fixed memory corruption bug in GetKeywords method that prevented the Provider to work correctly with Visual Studio and some other applications.
Fixed bug in handling aliases specified with square brackets.
Fixed bug ("Unknown error") when Commit/Abort called from Oledbpro.
Fixed bug in lexeme scanning of some Unicode symbols (bug in GoldParser's symbol tables).
Fixed parser error when joined tables grouped with parenthesis.
Fixed possible memory corruption when multiple commands created simultaneously from a single session.

Nov 28, 2008 Ver 1.2.8.1093

Fixed "Undefined column name" bug when a column owner is in double quotes: SELECT "OWNER"."COLNAME", ... 
Fixed bug in querying of boolean fields. 
Fixed bug in the provider properties that resulted in the following error: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done."
 
Fixed bug in handling bookmarks in "IRowsetLocate::GetRowsAt" method. 
Fixed bug in processing of parameter type "UI1"
Fixed bug in retrieving data in "ServerSideCursor" mode. 
Fixed one more bug in parsing of international symbols. 
Implemented better support for querying of blobs (exposing a blob as "ISequentialStream"). 
Added code to eliminate column owner in "UPDATE" statements since PostgreSQL does not allow the syntax, e.g. "UPDATE TBL SET TBL.COL1=..." 
Added GIS InGEO support: http://www.integro.ru/projects/gis/main_gis.htm

Oct 26, 2008 Ver 1.2.8.1082

Fixed bug in releasing/refreshing Metadata Dictionary.
Fixed bug in handling "SET" statement with "ON" and "OFF".
Fixed bug in "SELECT" when a table alias is in capital.
Fixed bug in ColumnInfo flags when aggregate function used in subselect.
Fixed bug in selecting a literal with alias.
Fixed bug in joining subselects.
Fixed bug in formatting "... IS NOT ..." predicate.
Fixed handling of "ISNULL" and "NOTNULL" in statements.
Enabled single line and multi-line comments in user statements.

Sep 28, 2008 Ver 1.2.8.1076

Fixed field format for foreign keys schema.
Fixed Visual Studio 2005 Server Explorer data retrieve error. 

Sep 21, 2008 Ver 1.2.8.1072

Fixed bug in handling "CREATE TABLE ... WITH OIDS" statements.
Fixed Foreign Keys (FK) metadata retrieving using "GetOleDbSchemaTable(OleDbSchemaGuid.Foreign_Keys, ...)" method.
Fixed bug in DTS transformation into a table with non-default schema. Now transformation can be customized in the wizard so destination can be for example: "mysch"."tblname".
Fixed bugs in statement generation for:
  •    sub queries with "ORDER BY" clause;
  •    type modifiers for string literals, e.g. "adate - '2 weeks'::interval";
  •    type modifiers for integers and NULL, e.g. "NULL::timestamp";
Fixed a few memory leaks.
Fixed bug in using "DELETE" statement in linked servers with "OPENQUERY".
Added code to enable tracing statements coming to and executed by the PGNP.
Added code to publish and subscribe events for tables and procedures schema modifications. This allows to refresh internal metadata cache (aka Dictionary) in PGNP on HostX when a schema is changed on HostY.
Added support for "INSERT" syntax with multiple values sets, e.g.
        INSERT INTO tbl VALUES
        (val_1_1, val_1_2, ..., val_1_N),
        (val_2_1, val_2_2, ..., val_2_N),
        ...
        (val_M_1, val_M_2, ..., val_M_N)

Optimized IRowsetChange implementation to use prepared "INSERT" and "UPDATE" statements. This increased replication performance by 20-25%.
Added TraceManager.exe to enable/disable internal PGNP tracing.
Added C# sample showing usage of "GetOleDbSchemaTable" method.

Jul 22, 2008 Ver 1.2.8 RC4

Fixed several bugs in statements parsing/building (NOT IN, BETWEEN, COALESCE etc.)
Fixed bug in calculation of scale in SCHEMA_COLUMNS.
Fixed memory corruption in code related to boolean type processing.
Fixed bug in processing TIMESTAMP WITH TIMEZONE.
Fixed bug ColumnsRowset that resulted in issues in supporting Update Criteria.
Fixed bug in retrieving list of databases or connecting using non-default port (other than 5432).
Fixed bug in querying Date fields (oid=1082).
Minor fixes for data using international symbols.
Reorganized statements preparation to reduce number of server roundtrips and to eliminate error messages in the server log.
Added properties to support automatic replication with MSSQL2000.
Extended grammar to support POSIX pattern matching.
Added "FORCEUTF8" property to DataLink Advanced tab to allow either default database or UTF8 encoding. 

Jun 09, 2008 Ver 1.2.8 RC3

Fixed several issues in editing ADO recordset from Delphi DBGrid;
Fixed issues in data replication via linked servers;
Fixed several bugs in SQL parser;
Fixed bugs in determining field length when sending data via linked servers. 

May 17, 2008 Ver 1.2.8 RC2

Fixed bug in reporting errors (ISupportErrorInfo).
Fixed bug for varchar fields when used with linked server (field length bug).
Fixed bug in handling 'LIMIT' and 'OFFSET' clauses in a PoststgreSQL query.
Fixed bug in parsing 'CREATE DATABASE' and 'CREATE INDEX' statements. 

May 15, 2008 Ver 1.2.6 HotFix1

Fixed a bug for DBNull.Value parameters.
Fixed a bug for ColumnsSchema (after table schema changed).

May 13, 2008 Ver 1.2.8 RC

Fixed bug in 'DELETE' statement when executing with linked server.
Fixed bug in ColumnsRowsetSchema (the provider failed to retrieve information about columns after a table schema changed).
Fixed bug in prepared statement name (length exceeded 64 characters).
Added internal checks and validation in code related to Columns Information processing.
Added 2 new C# samples (UUID and XML data types). 

Apr 30, 2008 Ver 1.2.8 BETA2

Fixed creating of empty tables "CREATE TABLE xyz ()".
Fixed "Range Check Error" resulted from using Delphi DBGrid.
Fixed bug in IRowsetChange implementation when table name used in double quotes.
Fixed minor bugs when using non-"OLEDB compliant" types as a statement parameter.
Fixed bug in linked server update with composite keys.
Added support for SQLState return code in exceptions. 

 Apr 13, 2008 Ver 1.2.8 BETA

Added support for linked servers.
Added support for additional schemas (PROCEDURES, PROCEDURE_COLUMNS, PROCEDURE_PARAMETERS, etc.).
Added support for Postgres 8.3 (new types xml and uuid).
Added implementation for IColumnsRowset.
Added ability to handle any non-OLEDB comliant type; non-standard types represented as text fields.
Added reminder about trial version limitations; the reminder dialog will show up once a day if context allows UI.
Added bookmarks support and implemented IRowsetLocate interface.
Added support for Postgres functions/stored procedures with output parameters.
Fixed bugs when working with Analysis Services (OLAP cubes).
Added 17 C# samples
Added Borland Delphi 7.0 TDBGrid sample. 

Jan 24, 2008 Ver 1.2.7

Released 64-bit version. 

Jan 17, 2008 Ver 1.2.6

Introduce libpqnp.dll - libpq build for PostgreSQL OLEDB Native Provider. 
This version is built out of 8.2.4 source base and has the following changes: PQexec, PQexecParams and PQexecPrepared functions argument list extended to allow caller to specify format of each returning row (BINARY or TEXT). The changes in libpqnp made towards support of any Postgres standard and custom types and future 64-bit version.
Fixed bug in IDBInfo::GetLiteralInfo.
Fixed issue in reporting number of affected rows.
Added support for Extended Error Lookup.
Windows Install is down to 469KB from 1,531KB 

Dec 14, 2007 Ver 1.2.4

Fixed a bug in code responsible for querying from a table with Unicode name.
Fixed a reference count bug when Test Connection button is clicked in Data Link dialog. 

Nov 25, 2007 Ver 1.2.2

Fixed a few minor coding issues.
First public release of commercial version. 

Oct 11, 2007 Ver 1.2.1

Added support for grid paging in server cursor mode.  

Aug 19, 2007 Ver 1.2.0

Switched to a different SQL parser engine. 

Jul 20, 2007 Ver 1.1.6

Code refactored to eliminate most of x86 assembler functions. 

 Jul 04, 2007 Ver 1.1.5

Fixed representation issue with DTS/SSIS transformation of MSSQL Server GUID data type. 

May 14, 2007 Ver 1.1.4

Memory management changes to improve performance. 

Apr 25, 2007 Ver 1.1.3

Fixed memory leaks during transformation when PGResult was not released.
Minor code enhancements in connection pooling. 

Mar 08, 2007 Ver 1.1.2

Fixed bugs in DBDATE transformation and in negative numerics transformation.
Added support for "varbinary" type. 

Jan 10, 2007 Ver 1.1.1

Added support in PROVIDER_TYPES schema for the following types: "unique identifier", "ntext", "nchar" and "nvarchar"

Nov 23, 2006 Ver 1.1.0

Implemented database transformation support in DTS/SSIS Wizard for most types. 

Sep 06, 2006 Ver 1.0.2

Fixed bugs in CommandPrepare when parameters used in commands. 

Jul 29, 2006 Ver 1.0.1

Fixed bugs in Property Page dialogs, memory leaks in column information. 

Jul 17, 2006 Ver 1.0.0

Initial basic version written in ATL.
 
Last Updated on Sunday, 14 December 2014 17:51
 
 
 x 
Cart empty