Skip to main content
Question

How to deploy c++ udx using only database credentials

  • October 23, 2023
  • 2 replies
  • 5 views

Sergey_Cherepan_1
Forum|alt.badge.img+2

Hi,

To create library, Vertica require .so file to be visible on one of cluster nodes.
That require OS access to cluster nodes, to copy .so files from build boxes to one of nodes in Vertica cluster.

That goes straight into a face to database security policies.

Is it possible to deploy c++ udx using only database credentials.

I was thinking how it is possible to do. My idea is around new c++ UDX that will accept as parameter very very long hex string, and dump it into file on initiator node as binary. my UDx typically around 10M, that means 20M chars in SQL that has to be sent to Vertica. Hopefully SQL parser and optimiser will not go crazy when they see this long SQL.

Or. UDx function can append to file. Then I can form .so file on one of Vertica nodes incrementally, using multiple invocations of SQL with modestly sized hex stings.

I can write it by myself, no problems, but I would prefer if it would be an approved and properly supported Vertica solution.

Please tell me better alternatives do exist.

Thank you
Sergey

2 replies

Bryan_H
Forum|alt.badge.img+2
  • Participating Frequently
  • October 23, 2023

You could place the library on S3 or another supported shared file system, as noted in the PATH argument at https://docs.vertica.com/12.0.x/en/sql-reference/statements/create-statements/create-library/


Sergey_Cherepan_1
Forum|alt.badge.img+2
  • Author
  • Participating Frequently
  • October 23, 2023

Great! Thanks for pointing out!