Private Preview - features may change without notice
GramSpec
Start free

Make the model · 7

Connecting a source

The whole answer on sources: SQL Server, PostgreSQL, MySQL, MariaDB, Snowflake and Databricks, or files uploaded as CSV. Read-only, always. A sample database is on every account's list before anyone connects anything.

Connecting a source. One flow saves a connection to a database, with its secret encrypted, and every app reads through it after a read-only check. The other uploads CSV files, which become tables in a schema of the person's own.GRAMSPECYOUR DATAWhoever holds theloginYour CSV filesConnectionsadd one, test it, uploadfilesSaved connectionsthe secret encrypted, neversent backEvery app readsthrough ita read-only check first,each run loggedUploadthe columns' types shownfirstYour files, astablesa schema of your own on ourSQLYour databaseany of six engines1234123 Connecting a source. One flow saves a connection to a database, with its secret encrypted, and every app reads through it after a read-only check. The other uploads CSV files, which become tables in a schema of the person's own.GRAMSPECYOUR DATAWhoeverholds theloginYour CSVfilesConnectionsadd one, test it,upload filesSavedconnectionsEvery appreads throughitUploadthe columns'types shown firstYour files, astablesa schema of yourown on our SQLYourdatabaseany of sixengines1234123
Blue circles connect a database. Green squares bring files in as tables.

A database

  1. Someone adds a connection. They pick the engine, give the server and a login, and test it before saving. The login should be one that can only read.
  2. The secret is encrypted before it is stored, and never sent back. When the connection is opened again to edit, the page is told only whether a password is set.
  3. Every app reads the database through that one saved connection. Grammar, Starmaker, Palmtree, Vision and Reason all open it the same way, with the engine's own driver.
  4. Each statement is checked to be a plain read before it runs. One that is not is blocked, and every run is logged with who ran it and when. Nothing is ever written to their database.

Files, as CSV

  1. They upload files in the same place. Each column's type is worked out and shown with the first few rows, so they see what they are about to keep before they save.
  2. Each file becomes a table. In a schema of their own on our SQL, and all their files together appear as one connection, used like any database.
  3. A query on those tables may name only their own. Anything outside their own schemas, another person's or the system's, is refused by name before it runs.