September 30, 2015 Ver 22.214.171.12492
Added code to handle "dual" table (requirement from EnterpriseDB).
Fixed bug in an internal buffer size calculation in FastLoad. In some scenarios, buffer could overflow.
Fixed bug "cursor already exists" when executing command multiple times without resetting the command text.
Added name of the currently selected log to the PGNP Profiler title.
Fixed bug in processing identifiers in double quotes containing dots.
Fixed bug in passing parameters: when data pointer is NULL pass NULL parameters.
August 24, 2015 Ver 126.96.36.19986
Fixed bug in IColumnsRowset implementation that potentially could result in crash when cursor is enabled.
Fixed bug in returning column names from a stored procedure.
Fixed bug in Redshift COLUMNS rowset (columns were not ordered by ordinal_position) resulting in error when querying a linked server table: "inconsistent metadata for a column. The name was changed at execution time."
Fixed bug in the Redshift Provider: LISTEN command is no longer sent as not supported.
Fixed bug: extra LIMIT clause added when querying TOP N rows from SQL Server view based on a linked server query with LIMIT.
Added LONG flag for the string field returned from stored procedure.
August 4, 2015 Ver 188.8.131.5278
Added the installation module parameter "/activate <key>" to support unattended installation (together with "/silent" parameter).
Added support for jsonb.
Fixed bug in handling output parameters of stored procedures.
Fixed bug in the Two Phase Commit protocol (2PC) implementation: in some scenarios transaction was not committed, and connection to database was not closed at the end of transaction.
Fixed bugs in handling multiple results.
Fixed bug in money processing in FastLoad.
Fixed scaling bug when handling money.
Fixed bug: Optimizer did not transform statements generated in Two Phase Commit protocol.
Fixed bug that could have resulted in memory corruption in some scenarios when cursors enabled.
Fixed bug in handling array of decimal values.
Fixed bug in querying arrays by enforced binary format for returned columns.
Profiler: added code to log Extended Properties in comments.
Profiler: fixed formatting of some parameters types in the trace.
Revisited and updated samples.
June 13, 2015 Ver 184.108.40.20662
Fixed bug when preparing query from a function with parameter(s). Previously "function not found" error was returned because parameters types were not passed correctly in the Prepare call.
Added ability to convert procedure parameters to the required type. For example, a stored procedure has parameter of type "timestamp", but the ADO/OLEDB parameter is "string". The PGNP provider will automatically convert the parameter to "timestamp".
Fixed bug in handling command parameters when their ordinal positions are not sequential.
Fixed bug in handling CASE clause: "order of WHEN items was reversed".
Fixed bug in handling of very large numeric values when reading from Postgres DB (47317.234320284904539357876164946677632000).
Fixed bug in CTE handling that could result in crash due to double memory deallocation.
Fixed bug in processing of information_schema.columns when accessed from a linked server.
Slightly rearranged connection initialization code to display DB name and User in the profiler trace. Previously the fields were empty in some trace messages.
Profiler: added code to keep selection after filter is turned off. And fixed bug: a process falsely marked as terminated while is still running.
May 11, 2015 Ver 220.127.116.1150
Fixed error: invalid byte sequence for encoding "UTF8": 0x00.
Fixed bug in bulk insert when BULK_METHOD=VALUES.
Fixed bug in handling parameters marked with flag DBSTATUS_S_IGNORE.
Fixed bug in handling bitwise operators '&' and '|' in expressions.
Optimized FindColumn procedure for faster metadata handling.
April 1, 2015 Ver 18.104.22.16844
Fixed bug in handling OLEDB property MAXROWS. When client application sets the property to a non-zero value, the OLEDB provider appends LIMIT clause to the query.
Fixed bug in handling parameters for columns of type timestamptz. Previously timezone information was not processed correctly.
Fixed bug: XML fields where not returned correctly in queries.
Fixed bug: cursor was not used in some scenarios even when enabled. This could potentially overflow memory on large sets.
Enabled T-SQL like Unicode literals, e.g. SELECT * FROM tbl WHERE col1=N'value'
Fixed bug: Denodo OLEDB Alias was not registered correctly.
Made types adjustment for Denodo 5.5.
February 9, 2015 Ver 22.214.171.12436
Fixed bug: The column was reported to have a "PRECISION" of 10 at compile time and 19 at run time.
Added code to match Postgres timezone names to Windows timezones, and fixed bugs in handling time with timezone.
Fixed bug in tables and indexes schema with restrictions in SQL Server 20012.
Fixed bug in returning columns information from a prepared statement (in some scenarios bookmark was not returned from prepared statement).
Fixed bug in parameters handling in stored procedures calls.
Added support for time with precision (DBTIME2). Introduced new connection string parameter USE_TIME2=ON/OFF. By default, the parameter is set to ON (enables time with precision). When USE_TIME2=OFF, legacy ADO time type is used (no second fractions allowed). The time with precision is working similarly for Postgres time and timetz types.
Denodo: changed FETCH command to resolve "syntax error"; fixed bugs in determining some field types.
Denodo: altered syntax for declare cursor/fetch; turned events off by default; eliminated transaction start for cursor commands; fixed SCHEMA_CATALOGS.
Profiler: added owner-draw menus with icons; enabled fonts scaling in all panes by Ctrl+MouseWheel, or -+ keys.
In addition to our popular set of OLE DB Providers, we now offer several new services:
- Data Warehouse / Data Mart
- MS SQL Server 2008/2012/2014
- SSIS - SQL Server Integration Services
- Reports / Dashboards / Scorecards
- SSRS - SQL Server Reporting Services
- IBM Cognos Reporting System
- Data Analysis
- SSAS Cubes - SQL Server Analysis Services
- IBM Cognos Framework
- Various databases, including PostgreSQL, Oracle, Greenplum, Redshift, Cassandra, Vertica, Denodo, etc.
Cost-saving analysis/design/development/support of Business Intelligence (BI) solutions of various complexity (self service BI, data visualization, data warehousing, single version of the truth, etc.). For more details see the Data Warehouse/BI
December 8, 2014 Ver 126.96.36.19912
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 188.8.131.5200
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 184.108.40.20684
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 220.127.116.1164
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);
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 18.104.22.16854
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 22.214.171.12448
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 126.96.36.19932
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 188.8.131.5218
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 184.108.40.20606
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 220.127.116.1100
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 18.104.22.16896
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 22.214.171.12492
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 126.96.36.19986
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 188.8.131.5278
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 184.108.40.20673
New OLEDB Provider for Amazon Redshift is released. Trial build and documentation are available from the Download page.
June 25, 2013 Ver 220.127.116.1170
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 18.104.22.16862
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 22.214.171.12452
More changes made to fix error: "COPY file signature not recognized".
May 14, 2013 Ver 126.96.36.19950
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 188.8.131.5246
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 184.108.40.20642
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 220.127.116.1132
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 18.104.22.16806
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 22.214.171.12498
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=...";
DataTable table = connection.GetSchema("DataSourceInformation");
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 126.96.36.19976
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.