The main difference between SQL and teradataml is that teradataml internally creates temporary objects like views, and in order to do so the user needs explicit permissions whereas while running plain SQL none of these temporary objects are created.
teradataml requires that the user has certain permissions on the user's default database or the initial default database specified using the database argument, or the temporary database when specified using temp_database_name.
- Create tables and views to save results of teradataml analytic functions.
- Create views in the background for results of DataFrame APIs such as assign(), filter(), and so on, whenever the result for these APIs are accessed using a print().
- Create view in the background on the query passed to the DataFrame.from_query() API.
It is expected that the user has the correct permissions to create these objects in the database that will be used. The access to the views created may also require issuing additional GRANT SELECT ... WITH GRANT OPTION permission depending on which database is used and which object the view being created is based on.
- User created in Teradata, by default has CREATE VIEW and CREATE TABLE permissions in own database.
- Users created must have PERM space available to create tables.
- VIEW creation does not require PERM space.