May 31, 2023 Ver 1.4.0.3690
Fixed bug in handling table name longer than 63 symbols. Added extended property parameter NAMEDATALEN.
Fixed bug in processing results of commands batch with size larger than 16.
Fixed bug in returning rowset when CURSOR=SINGLEROW.
February 8, 2023 Ver 1.4.0.3684
Added TYPES schema.
Fixed bug in handling recursive CTE query when it joins to itself.
Fixed bug in handling CTEs with list of columns.
Fixed bug in processing complex expressions with aggregate functions.
Fixed bug in processing Numeric fields that resulted in the following linked server error: Invalid data for type "numeric".
Fixed side-effect from changes in release 3672 related to handling stored procedures.
PGNProfiler: added global lock for better resources isolation.
October 11, 2022 Ver 1.4.0.3672
Fixed bug in reporting errors to .Net: SqlState is now set correctly to HY000.
Fixed bug in processing command parameters with type BYTES.
Fixed bug in handling stored procedure call with name in double quote, e.g. call public."MixCase"().
Fixed parse error when SIMILAR TO clause is used.
Fixed parse error when VERSION=? is used in a statement (enabled VERSION keyword).
Fixed bug in processing queries with Set Aggregate Functions, e.g. select percentile_cont(0.5) within group (order by value) from percent_test group by name.
May 31, 2022 Ver 1.4.0.3662
Fixed bug in handling 'string' type in the Redshift/Glue external tables.
Fixed bug in handling 'citext' type on insert.
Fixed bug in handling 'bytea' type resulting in memory corruption (side effect of optimization in build 3656).
Fixed bug when inserting Nulls and and handling columns with default values.
PGNProfiler: fixed issue when trace was not collected from Redshift OLEDB Provider.
PGNProfiler: fixed crash on startup when remote hosts configured without user password.
February 14, 2022 Ver 1.4.0.3656
Fixed a side-effect from previous performance optimization for query results.
Fixed bug in handling bpchar column without specified size.
February 7, 2022 Ver 1.4.0.3654
Performance optimizations for query results.
Fixed bug "An unexpected NULL was returned for column" when querying a column from subquery in linked server.
Fixed bug in determining expression type in some scenarios when function is used in the expression.
Fixed bug in processing expressions with OVERLAPS keyword.
PGNProfiler: Added parameter content printing for DBTYPE_BYTES.
PGNProfiler: Fixed coloration issues in Dark theme.
October 4, 2021 Ver 1.4.0.3648
Fixed bug in processing query with WINDOW clause.
Fixed bug resulting in error "column not found" in some scenarios.
Fixed bug in ColumnsRowset resulting in error "Dynamic SQL generation for the UpdateCommand is not supported for a SelectCommand that does not return key column information."
Fixed bug in populating parameter alias, e.g.: SELECT @Parameter0 AS xyz.
Added trace messages for GSS/KRB connect.
PGNProfiler: minor UI enhancements.
June 9, 2021 Ver 1.4.0.3640
Fixed bug in handling Schemata in Redshift.
Fixed bug in processing xmlelement function.
Fixed bug in handling some statements with T-sql syntax: e.g. drop Table [contact].
Fixed bug in handling comment "--PGNP:CURSOR=SINGLEROW;"
Fixed bug in handling STRING_AGG function.
Fixed bug in handling queries with FOR UPDATE/FOR SHARE (cursor cannot be scrollable).
Fixed issues in handling transactional replication when BULK_METHOD=PIPECOPY.
Fixed bug in PGNPUpdate that falsely showed that PGNP.dll is locked.
PGNProfiler: added Dark Theme.
PGNProfiler: fixed bug in displaying statements with Unicode symbols.
PGNProfiler: pick up trace as soon as Provider is loaded. Previously some initial messages might be missing from the trace.
February 8, 2021 Ver 1.4.0.3624
Fixed bug in evaluating column information returned from some functions (BTRIM).
Fixed bug in retrieving column information the the pre-9.1 Postgresql.
Fixed bug in setting Syntax parameter in DataLink dialog.
Fixed scale calculated in expressions for date and time types.
Fixed bug in releasing unused rows.
Fixed bug resulting in Profiler crash when RemoteHosts configuration is very long.
Fixed minor bug in loading SSL certificate from a custom path (SSLCERT parameter).
Fixed bug in DataLink Advanced tab UI when handling SSLCERT and other parameters.
Changed allowed range for MIN_FETCH_ROWS to 100..20000.
Set permanent flag for msvcr120.
Improved stability of the OLEDB provider in VS2019 and other applications.
Made GSSENCMODE=disable parameter by default.
Disabled using scrollable cursors for Yellowbrick.
November 8, 2020 Ver 1.4.0.3612
Fixed bug resulting in "undefined table" and "port number: 0".
October 8, 2020 Ver 1.4.0.3610
Added handling of query comments as Extended Properties parameters, e.g.: --PGNP:CURSOR=OFF;MIN_FETCH_ROWS=543;
Added failover capability, and updated Developers Manual.
Added support for Extended Property parameter GSSENCMODE=disable; and for SSLCERT, SSLKEY, SSLROOTCERT, SSLCRL.
Enabled cross-db queries for Yellowbrick.
Recompiled with libpq12 and openssl-1.1.1h.
Fixed bug in handling an aggregation function filter-clause.
Fixed bug in handling CTE resulting in error "Undefined table xyz".
Fixed bug in handling mixed case catalog name in a 3-part identifier.
Fixed bug in handling 3-part function call, e.g. SELECT * FROM postgres.public.testproc().
PGNProfiler: fixed minor misalignment for selected line.
PGNPUpdate: removed dependency on Windows Server 2008. Now utility can be used on Win Server 2003 and later.
PGNPUpdate: fixed error "Could not determine the installation location" when 32-bit msi is installed on 64-bit OS.
May 13, 2020 Ver 1.4.0.3590
Added support for jsonb[] type.
Fixed bug in handling multiple type modifiers, e.g. 20191219::TEXT::DATE.
Fixed bug in handling function return alias.
Fix: affected rows count were not returned from ExecuteNonQuery in C#.
Fixed bugs in the columns information schema.
Fixed bug "Cannot map the lookup column, because the column data type is a binary large object block (BLOB)" when TEXT_AS_LONGVARCHAR=OFF.
February 6, 2020 Ver 1.4.0.3582
Added support for remote tables.Fixed issue in querying materialized views in Postgres 9.3 and later.
Fixed bug returning Output parameter(s) of stored procedure.
Fixed bugs when querying void stored procs.
Fixed bug in turning cursor on for prepared queries.
Fixed exception in columns schema retrieval in 64-bit mode.
PGNProfiler: populated AppName when copying trace message to clipboard.
December 4, 2019 Ver 1.4.0.3572
Implemented support for Postgres 12.Fixed method of temporary schema name determination that resulted in errors in read-only DBs.
Changed libpq10 to verify the root certificate only in "verify-ca" or "verify-full" modes.
In those modes files root.crt, .crl and postgresql.key are verified in the folder C:\Users\uname\AppData\Roaming\postgresql.
October 16, 2019 Ver 1.4.0.3566
Fixed bug in handling database names with space.Fixed bug in importing data into xml field.
Fixed bugs in handling system columns xmin, cmin, etc.
Fixed bug in MapColumnIDs method on command object.
Fixed bug in handling property change for CURRENT_CATALOG.
Fixed bug in internal buffers handling when bulk-inserting large number of records.
Added bookmarks support to the schema rowsets.
Redshift: fixed bugs when inserting Unicode chars and multi-line text.
August 22, 2019 Ver 1.4.0.3556
Fixed error in retrieving procedures metadata in Postgres 11 (proisagg undefined).Fixed bug in handling materialized views (undefined table error).
Fixed crash when releasing the metadata dictionary (scenario with linked servers).
Fixed bug "identifier too long" when retrieving index with name longer than 63 characters.
Fixed bug in handling DBTYPE_BYTES: parameter size was returned as 0.
Fixed bug in handling PRIMARY TABLE after column type.
Fixed version stamping for PGNPUpdate.
Fixed bug in handling inserting bytea data from Image in ETL.
Redshift: fixed bug in handling "no schema" views (added call to pg_get_late_binding_view_cols).
Fixed bug in handling queries with DISTINCT ON (expr).
PGNProfiler/Optimizer: Added hints for literal values.
Fixed several issues in Denodo Provider (columns metadata, procedures with parameters in columns list, etc.)
November 8, 2018 Ver 1.4.0.3542
Stability improved in VS2017/SSIS.Fixed bug resulting in Error: Invalid ColumnID when processing tables in SSAS 2017 Tabular.
Fixed bug in handling TFD in square brackets, e.g. CREATE TABLE [t] ([id] [int]), when SYNTAX=T-Sql.
Fixed bug in mapping columns in FastLoad mode (it was visible as ERROR: cannot cast type integer to timestamp without time zone).
PGNPUpdate: added console parameters support.
October 4, 2018 Ver 1.4.0.3538
Added Extended Properties parameter BULK_METHOD=TEXTCOPY for faster data import from text files in SSIS.Added support for Redshift external tables.
Enabled connection string parameter SYNTAX for Postgres and T-Sql.
Sorted properties names in the Advanced pane of the Data Link Properties.
Implemented several stability enhancements.
Fixed bug in handling bit(1) fields.
Fixed bug: missing 'n' character when handling CREATE TABLE statement.
Fixed sorting in tables schema.
Fixed bug in returning query result when DDL statement is specified before the query. E.g.:
CREATE TEMP TABLE test1(col1 INT NOT NULL PRIMARY KEY, col2 varchar(100));
INSERT INTO test1 SELECT 111112, 'misc1';
SELECT * FROM test1;
PGNPUpdate: Added dialog to enable access to provider for non-standard users (i.e. special accounts used by SSAS or SQL Server).
June 21, 2018 Ver 1.4.0.3522
Added support for querying very large rowsets via "single row mode" cursor.Fixed bug in handling Postgres 10 "partitioned" tables.
Profiler: Added code to display filtration progress.
Profiler: Enabled cancellation of filtration.
March 31, 2018 Ver 1.4.0.3516
Installer: Added checkbox that enables launching PGNPUpdate utility after the installation completion.Enabled support for LATERAL keyword.
Fixed bug in SSL verify-ca/verify-full handling.
Fixed bug in handling Korean symbols during FastLoad.
Fixed bug: provider should not send NOTIFY when handling schema altering statement and EVENTS=NONE.
Fixed bug in handling TRIM function parameters.
Fixed bug in handling CTEs resulting in error "Undefined column".
Profiler: Added options to not truncate parameters and to format statements for pgAdmin (no param type in square brackets).
November 27, 2017 Ver 1.4.0.3494
Added support for Statistics and Table Statistics schema.Added support for Postgres 10.
Fixed a bug that prevented the "Script Table as" from working correctly in a linked server.
Fixed bug in handling prepared queries resulting in the error "cursor already exists".
Fixed defect in returning column info when cursors are disabled.
Fixed defect in indexing column information when multiple queries used in a single statement.
Fixed defect in handling temporary tables in INSERT and UPDATE statements.
Fixed bug in fields data conversion when CURSOR=OFF.
Fixed parsing issues caused by some unreserved keywords,e.g. Returns, Row.
Fixed bug in processing arrays when multiple results returned (from queries separated by semicolons).
Added C++ sample: MultipleResults.
Improved errors reporting and profiler logging during process of connecting to a database.
July 10, 2017 Ver 1.4.0.3476
Fixed bug in RowsetFastLoad resulting in errors when inserting NULL values and some special characters in Redshift and Greenplum.Fixed bug: incorrect bytea length returned.
Fixed bug in returning tables schema in Redshift when called from VS2017.
Improved stability of deferred updates.
Added more profiler comments for the Redshift bulk import.
PGNPUpdate: added code to set product version correctly after a successful update (in the Programs and Features).
PGNPUpdate: fixed bug that resulted in inability to update product from some recent releases.
February 17, 2017 Ver 1.4.0.3464
Performance optimizations for queries.Fixes for better compatibility and stability when working with SQL Server 2016.
Redshift: added support for the AWS Signature Version 4.
Fixed bug in TRIM function handling resulting in syntax error.
Added connection string parameter REFRESH_META, and the "auto-refresh" feature for the internal metadata cache.
PGNProfiler: fixed a minor defect in restoring panes sizes on start.
August 29, 2016 Ver 1.4.0.3456
Added Windows time zones support, configurable via tznames.csv file. The provider can display timestamps in any specified time zone.Redshift: added support for the S3 server side encryption (connection string parameter AWS_S3_HEADER).
Added connection string parameter SQL_PROLOG.
Fixed bug in handling SELECT col AT TIME ZONE 'UTC'.
Fixed bug "Failed to parse" for query containing TIMESTAMP 'Str' AT TIME ZONE 'Str'.
Fixed bug "timestamptz was not converted to local time zone".
Fixed bug in refreshing metadata.
Fixed bug in updates for BLOB type.
Fixed exception/crash when connection is configured in Excel.
June 12, 2016 Ver 1.4.0.3442
Added Extended Properties parameter STREAM.Optimized metadata loading when table with the same name exists in multiple schema.
Stability and performance improvement for bulk load.
Fixed bug in FastLoad to Redshift - symbol "!" was replaced with \041.
Fixed memory leak when querying Redshift and cursors enabled.
Fixed side effect from prev change resulting in "undefined table" when querying schema.table.
Profiler: allowed passing .pgl files as command line parameters. Fixed bug in the explorer refresh: if more than a single .pgl file is open then the list of open file can start duplicating entries.
Profiler: fixed bug - could not open .csv file as command line parameter.
March 8, 2016 Ver 1.4.0.3430
Fixed bugs in SSPI and Kerberos authentication.Fixed bugs in handling WITH ORDINALITY clause, and in handling array indexes.
Fixed issue with "::" typecasting syntax. For example, previously did not determine the column type from SELECT ('123')::int.
Fixed bug in processing multiple CTEs.
Added support for SET parameters in the Extended Properties.
Profiler: added comments logging for SSPI functions.
Profiler: when new process starts, it gets logging level correctly from the parent host.
February 5, 2016 Ver 1.4.0.3420 (update 1)
Refreshed Redshift and Denodo modules to address installation issue in the new MSI files.February 3, 2016 Ver 1.4.0.3420
Changed installation module from EXE to MSI. Updated libpq library.Renamed "Greenplum OLEDB Provider" into "Intellisoft OLE DB Provider for Greenplum"; "Redshift OLEDB Provider" into "Intellisoft OLE DB Provider for Redshift".
Added support for Application Name parameter in connection string.
Added code to look for Location parameter in the connection string if Initial Catalog is not provided (fix for SAP PowerBuilder).
Implemented profiling on remote hosts. The PGNP Profiler can now inject itself to a remote computer and collect execution trace.
Completed implementation of ITableDefinition interface.
Fixed bug: Execution of multi-statements SQL Task did not return error if any statement except first one failed.
Fixed bug: column name 'position' was recognized as keyword.
Fixed bug in handling Null accessor: provider ignores parameters data.
Fixed bug in types substitution by making types comparisons in CREATE TABLE case insensitive.
Enable handling IF NOT EXISTS clause. If the clause is used in Greenplum, the provider strips it and interprets error 42P07 as OK. This allows using CREATE TABLE IF NOT EXISTS in Greenplum, and is needed for "hinting" feature.
September 30, 2015 Ver 1.4.0.3392
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 1.4.0.3386
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 1.4.0.3378
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 1.4.0.3362
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 1.4.0.3350
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 1.4.0.3344
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 1.4.0.3336
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.
December 15, 2014 SERVICES!!! Data Warehouses/Business Intelligence solutions
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
- ETL
- SSIS - SQL Server Integration Services
- Reports / Dashboards / Scorecards
- SSRS - SQL Server Reporting Services
- IBM Cognos Reporting System
- Tableau
- Data Analysis
- SSAS Cubes - SQL Server Analysis Services
- IBM Cognos Framework
- Various databases, including PostgreSQL, Oracle, Greenplum, Redshift, Cassandra, Vertica, Denodo, etc.
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
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
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.
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 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 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 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
February 22, 2012
* 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.
January 9, 2012
Release Candidate 2 (1.4.0.3036) is available from Downloads page.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.
November 7, 2011 Ver 1.4 Beta
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
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
Made additional fix to build 2230: executing stored procedure via linked server did not work correctly (select general.test_oledb(1)).
May 24, 2011 Ver 1.3.0.2232
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 syntax such as Table.Count (here Count is a column name).
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) aFixed a few issues in handling identifiers in square brackets, e.g.
SELECT * FROM [display] ORDER BY [display].[userid].
January 3, 2011 Ver 1.3.0.2217
Fixed bug when querying temporary table, e.g. SELECT * FROM pg_temp.test.
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 determining length of a concatenated string in a subquery, e.g.:
SELECT * FROM (SELECT FNAME || ' ' || LNAME FROM EMPLOYEE) S
Fixed bug resulting in “insufficient data left in message” error when executing UPDATE via linked server.
September 27, 2010 Ver 1.3.0.2190
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 bug in a sequence querying, e.g.:
August 23, 2010 Ver 1.3.0.2180
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)".
Fixed bug in parsing statements using cast to "timestamp without time zone".
July 20, 2010 Ver 1.3.0.2171
SELECT {fn left(lname, 3) }, lname FROM table
will be executed as
SELECT substring(lname, 1, 3), lname FROM table
June 30, 2010 Ver 1.3.0.2162
Changed type returned by COUNT() aggregate function from int8 to int4.
Improved PGNP Profiler messages from IRowsetChange::DeleteRows and when executing prepared commands.
May 5, 2010 Ver 1.3.0.2154
Fixed bug in handling stored procedures parameters of type uuid.
March 9, 2010 Ver 1.3.0.2142
Fixed bug in parameters handling when a prepared command is called the second time.
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:
January 27, 2010 Ver 1.3.0.2132
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.
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 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
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
SHOW SEARCH_PATH;
SHOW ALL;
June 14, 2009 Ver 1.2.8.1140
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
"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
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:
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 "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 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.