tdsql-mcp 1.3.3__tar.gz → 1.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/PKG-INFO +1 -1
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/pyproject.toml +1 -1
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/sql-basics.md +61 -9
- tdsql_mcp-1.3.3/8888 +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/.env.example +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/.gitignore +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/CLAUDE.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/README.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/docs/architecture.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/requirements.txt +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/README.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/SKILL.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/aggregate-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/ai-text-analytics.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/association-analysis.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/authorization-objects.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/bit-byte-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/byom-model-loading.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/byom-scoring.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/catalog-views.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/conditional.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/data-cleaning.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/data-exploration.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/data-prep.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/data-types-casting.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/date-time.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/embeddings.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/fit-transform-pattern.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/geospatial.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/guidelines.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/hypothesis-testing.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/index.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/json-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/llm-providers.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/ml-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/ml-patterns.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/model-evaluation.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/numeric-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/path-analysis.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/query-tuning.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/string-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/text-analytics.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-concepts.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-data-prep.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-diagnostics.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-dsp.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-estimation.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-forecasting.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-formula-rules.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-utility.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/utility-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/vector-search.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/window-functions.md +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/src/tdsql_mcp/__init__.py +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/src/tdsql_mcp/server.py +0 -0
- {tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tdsql-mcp
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.4
|
|
4
4
|
Summary: MCP server for Teradata Vantage — SQL execution and native analytics function reference for AI agents
|
|
5
5
|
Project-URL: Homepage, https://github.com/ksturgeon-td/tdsql-mcp
|
|
6
6
|
Project-URL: Repository, https://github.com/ksturgeon-td/tdsql-mcp
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tdsql-mcp"
|
|
7
|
-
version = "1.3.
|
|
7
|
+
version = "1.3.4"
|
|
8
8
|
description = "MCP server for Teradata Vantage — SQL execution and native analytics function reference for AI agents"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -140,15 +140,70 @@ CREATE USER myuser AS
|
|
|
140
140
|
-- Semicolons: required in BTEQ; optional in most client tools
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
## Reserved Words
|
|
143
|
+
## Reserved Words and Identifier Quoting
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
Quote any identifier (column, table, alias) that conflicts with a reserved word using **double quotes**:
|
|
146
146
|
|
|
147
147
|
```sql
|
|
148
|
-
SELECT "type", "
|
|
148
|
+
SELECT id, "type", "format" FROM db.events;
|
|
149
|
+
|
|
150
|
+
CREATE TABLE db.events (
|
|
151
|
+
id INTEGER,
|
|
152
|
+
"type" VARCHAR(30), -- reserved word — must quote
|
|
153
|
+
label VARCHAR(100)
|
|
154
|
+
) PRIMARY INDEX (id);
|
|
149
155
|
```
|
|
150
156
|
|
|
151
|
-
|
|
157
|
+
> **Quoted identifiers are case-sensitive.** Use consistent casing — `"type"` and `"TYPE"` are different identifiers.
|
|
158
|
+
|
|
159
|
+
### Teradata-Specific Reserved Words — Common Identifier Conflicts
|
|
160
|
+
|
|
161
|
+
The ANSI SQL reserved words are well-known. The words below are **Teradata-only** — not in the ANSI SQL-99 standard — so agents may not recognize them as reserved. Always quote these when using them as column, table, or alias names.
|
|
162
|
+
|
|
163
|
+
**Words that frequently appear as column or table names:**
|
|
164
|
+
|
|
165
|
+
| Reserved word | Commonly appears as | TD since |
|
|
166
|
+
|--------------|---------------------|----------|
|
|
167
|
+
| `TYPE` | transaction type, event type, record type | V2R3 |
|
|
168
|
+
| `FORMAT` | file format, output format, date format | V2R3 |
|
|
169
|
+
| `TITLE` | document title; also controls the TD column display header | V2R3 |
|
|
170
|
+
| `MODE` | processing mode, run mode, lock mode | V2R3 |
|
|
171
|
+
| `ACCOUNT` | account_id, account-related tables | V2R3 |
|
|
172
|
+
| `LOG` | log tables, audit logs, log level | V2R3 |
|
|
173
|
+
| `LOCK` | lock status, concurrency tables | V2R3 |
|
|
174
|
+
| `HASH` | hash keys, checksums, deduplication columns | V2R3 |
|
|
175
|
+
| `REQUEST` | request_id, API and service event tables | V2R3 |
|
|
176
|
+
| `STATISTICS` | monitoring tables, collected stats columns | V2R3 |
|
|
177
|
+
| `JOURNAL` | financial journals, transaction audit logs | V2R3 |
|
|
178
|
+
| `CLUSTER` | cluster_id, partition or segment label | V2R3 |
|
|
179
|
+
| `NAMED` | TD column alias syntax (`expr (NAMED alias)`) — risky as a column name | V2R3 |
|
|
180
|
+
| `ENABLED` / `DISABLED` | feature flag columns, configuration status | V2R3 |
|
|
181
|
+
| `CLASS` | object class, classification, CSS class | V2R5 |
|
|
182
|
+
| `PROFILE` | user profiles, configuration profiles | V2R5 |
|
|
183
|
+
| `SUMMARY` | summary text columns, reporting tables | V2R5 |
|
|
184
|
+
| `THRESHOLD` | alert thresholds, monitoring limit columns | V2R5 |
|
|
185
|
+
| `TRACE` | trace_id, debug or telemetry columns | V2R5 |
|
|
186
|
+
|
|
187
|
+
**Teradata SQL extension keywords — these are clause keywords, not identifiers:**
|
|
188
|
+
|
|
189
|
+
| Keyword | Purpose |
|
|
190
|
+
|---------|---------|
|
|
191
|
+
| `QUALIFY` | Filters window function results — like WHERE for OVER clauses; not in ANSI SQL |
|
|
192
|
+
| `SAMPLE` | Random row sampling: `SELECT * FROM t SAMPLE 100` or `SAMPLE .05` |
|
|
193
|
+
| `VOLATILE` | Session-scoped temp table: `CREATE VOLATILE TABLE ...` |
|
|
194
|
+
| `LOCKING` | Lock modifier: `LOCKING TABLE t FOR ACCESS SELECT ...` |
|
|
195
|
+
| `REPLACE` | TD DDL: `REPLACE VIEW` — not `CREATE OR REPLACE` |
|
|
196
|
+
| `EXPLAIN` | Execution plan: `EXPLAIN SELECT ...` |
|
|
197
|
+
| `FALLBACK` | Table-level data protection option at `CREATE TABLE` time |
|
|
198
|
+
| `MULTISET` | Table type allowing duplicate rows: `CREATE MULTISET TABLE ...` |
|
|
199
|
+
| `MACRO` | Stored parameterized query: `CREATE MACRO ...` |
|
|
200
|
+
| `COLLECT` | Statistics collection: `COLLECT STATISTICS ON db.t COLUMN (col)` |
|
|
201
|
+
| `BT` / `ET` | Begin Transaction / End Transaction |
|
|
202
|
+
| `SEL` | Teradata shorthand for `SELECT` |
|
|
203
|
+
|
|
204
|
+
### Reserved Words in Table Operator String Arguments
|
|
205
|
+
|
|
206
|
+
In table operator clauses that take column names as **string arguments** (`Accumulate`, `IDColumn`, `TargetColumns`, `ResponseColumn`, etc.), double-quotes must be embedded **inside** the single-quoted string:
|
|
152
207
|
|
|
153
208
|
```sql
|
|
154
209
|
-- WRONG: 'type' is a reserved word — Teradata will reject or misparse this
|
|
@@ -158,19 +213,16 @@ USING IDColumn('id') Accumulate('type', 'value')
|
|
|
158
213
|
USING IDColumn('id') Accumulate('"type"', '"value"')
|
|
159
214
|
```
|
|
160
215
|
|
|
161
|
-
This applies to
|
|
216
|
+
This applies to any table operator clause that takes column names as string arguments:
|
|
162
217
|
|
|
163
218
|
```sql
|
|
164
|
-
-- All of these follow the same rule
|
|
165
219
|
IDColumn('"type"')
|
|
166
220
|
TargetColumns('"value"', '"date"', 'non_reserved_col')
|
|
167
221
|
Accumulate('"type"', 'amount', '"date"')
|
|
168
222
|
ResponseColumn('"value"')
|
|
169
223
|
```
|
|
170
224
|
|
|
171
|
-
**When in doubt, quote it.** Double-quoting a non-reserved word
|
|
172
|
-
|
|
173
|
-
Common Teradata reserved words that appear as column names: `type`, `date`, `time`, `timestamp`, `value`, `name`, `format`, `title`, `level`, `mode`, `status`, `class`, `key`, `index`, `year`, `month`, `day`, `hour`, `minute`, `second`.
|
|
225
|
+
**When in doubt, quote it.** Double-quoting a non-reserved word inside a string argument is harmless; leaving a reserved word unquoted will cause a parse error.
|
|
174
226
|
|
|
175
227
|
## Teradata Operator Differences
|
|
176
228
|
|
tdsql_mcp-1.3.3/8888
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/aggregate-functions.md
RENAMED
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/ai-text-analytics.md
RENAMED
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/association-analysis.md
RENAMED
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/authorization-objects.md
RENAMED
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/bit-byte-functions.md
RENAMED
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/byom-model-loading.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/data-exploration.md
RENAMED
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/data-types-casting.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/fit-transform-pattern.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/hypothesis-testing.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/model-evaluation.md
RENAMED
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/numeric-functions.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/string-functions.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/uaf-formula-rules.md
RENAMED
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/utility-functions.md
RENAMED
|
File without changes
|
|
File without changes
|
{tdsql_mcp-1.3.3 → tdsql_mcp-1.3.4}/skills/teradata-sql-analytics/syntax/window-functions.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|