ERROR: System column with id -1 is not supported yet

Hello everyone,

I’m new here. A quick background: we are a software company and currently use MS SQL. However, we are interested in switching to Yugabyte and are currently testing it. Since we can only switch gradually due to the size of the system, we have 2 DBs (MS SQL and Yugabyte) running simultaneously for a period of time (I think 2-3 years). We have a general problem with the test and I hope we can get some help here. Since this problem is probably familiar to other switchers:

Yugabyte as a test cluster on 3 nodes. The main database is MS SQL with Yugabyte as a linked server using the ODBC driver “PostgreSQL Unicode(x64)”. The linked server is set up as the server type “Microsoft OLE DB Provider for ODBC Drivers”.

A SELECT works without any problems, an INSERT like the statement below produces an error.

Statement:

INSERT INTO OPENQUERY(YUGABYTE_TEST, 'SELECT "Field1" FROM dbo."TestTable" WHERE "LineId" = -1 ')
SELECT 1234
Error:
(ERROR) [0A000] ERROR: System column with id -1 is not supported yet

What are the options? Unfortunately, we can’t find any via internet research.

Thank you in advance.

Best wishes

Hi @Support

Please state what versions you’re using the YugabyteDB & the languages & drivers.

What does “linked server” mean in this context?

What is OPENQUERY? A normal table here?

What is YUGABYTE_TEST too?

How can I replicate this error? Can you send a minimal schema or code example that I can use to reproduce?

Thank you for sharing the details. I suggest we set up a call to discuss this further. Can you please email me at hdagli@yugabyte.com with your and your team’s availability over the coming days, and I will do my best to accommodate?

For your reference, I am located in Germany; hence it would be within the CET time zone.

Looking forward to meeting and discussing
Halil

Hi Halil,

thank you for your offer of support. I have passed this on to my DB colleagues and they will send you informations.

Best regards

We are using Yugabyte DB Version 2024.2.1.0. The language used is inside MS Management Studio (SSMS) and is named as T-SQL. Inside SSMS we are using a linked server object which links an ODBC x64 Datasource to SSMS. The ODBC driver used for connecting to Yugabyte is PostgreSQL Unicode(x64) which is the official PostgreSQL ODBC driver in the latest version.

Description of OPENQUERY:

The OPENQUERY function is used to run ad-hoc distributed queries on a remote data source using the linked servers. The key concept behind OPENQUERY is the establishment of a linked server, which acts as a bridge between the local SQL Server instance and the remote data source.

Description of YUGABYTE_TEST:

This is the given name of the linked server object and can be defined by ourself.

Code Example:

This can only be used inside the above described construct using SSMS via linked server (ODBC).

Thank you! I’m looking forward to working with your team on this.

Best Regards
Halil

Following up on our previous conversation—has there been any progress with the testing? I suggest discussing it in more depth on a call. Looking forward to your thoughts.