Difference between revisions of "Modeler:12/RepositorySql"
m (→isValidType) |
|||
Line 57: | Line 57: | ||
select | select | ||
isValidType(PassengerId, 'integer', 0, 0) | PassengerId, | ||
isValidType(PassengerId, 'integer', 0, 0) as validInteger | |||
from Titanic_Ref; | from Titanic_Ref; | ||
Revision as of 04:39, 1 August 2023
Data Explorer
This window (formerly named SQL Repository) enables you to access various databases and execute SQL queries to view the data. The metadata tree on the left contains a list of databases, schemas, tables and views and their columns.
Repository
The IG and IGG files are mirrored in a SQLite[1] database. These can be queried using sql or viewed by clicking the relevant tables or views.
The SQLite function set is extended with a few more functions, especially used inside CaseTalk:
md5
The md5 function generates a hash from the value passed as text.
select md5(otftname) as OTFT_HASH, OTFTName from otft;
macro
The macro function supports keywords also defined in the custom attribute keywords. An example query could be:
select macro('%PROJECTNAME%\%IGNAME%\v%IGVERSION%\' || otftname) as FULL_OTFT from otft;
soundex
The soundex function returns a code for the text which allows text comparisons on the sound of them.
select otftname, soundex(otftname) from otft
annotation
Extract the named annotation from a sectioned comment field. CaseTalk supports Custom Annotations, yet stores them in a single textblob. This function enables sql to extract the named annotation.
select otftname, annotation('Comment', comment) as comment, annotation('Remarks', comment) as remarks from otft;
Registry
Fetch the registry entry value by the name as a simple function instead of a subselect in sql.
select otftname as tablename, registry('Profile') as IG_Transformation from otft;
CustomAttribute
Fetch custom attribute value using a simple function instead of a long subquery.
select otftname, customattributes('otft', otftname, 'source', 'modeler') as author from otft;
isValidType
To test a value for its datatype definition, you may use this function.
select PassengerId, isValidType(PassengerId, 'integer', 0, 0) as validInteger from Titanic_Ref;
External Database
ODBC
Dragging sqlite databases from the project panel into the database panel will mount them to be queried. Additionally any ODBC connection in the system is listed here. This allows any ODBC source to be integrated in CaseTalk through various queries. To add a new ODBC connection, use the "Shared" button in the toolbar.
JDBC
If JAVA is installed in your machine (or available in a subfolder of CaseTalk), JDBC connections can be used to connect to external databases as well.
The connection configuration uses *.jdbc files stored in your roaming profile folder and may look like this:
# Below are Postgresql jdbc connection configurations. db.driver.class=org.postgresql.Driver db.conn.url=jdbc:postgresql://192.168.1.106:5432/database db.username=admin db.password= # Added for external java loading db.driver.jar=Z:/Projects/jdbcExplorer/jdbcMetaData/lib/postgresql-42.5.1.jar
Reference Data
If you have downloaded database data in Excel Worksheets, you may import those XLS files to show up as external reference data. (File\Import\Reference Data)
Server Database
In case the Enterprise Edition is used, a "Server" database will be listed as well. This is the central repository as used for the CaseTalk Manager and the Teams menu. It enables users with a "System" Account to query the central repository. Handle with caution!
Once logged in a set of usr* views are available to read data to which permissions are granted. It allows queries on the central repository to retrieve results over models and versions.