get
https://maestro.dadosfera.ai/platform/jobs/jdbc/configs/allowed_datatypes
Get allowed datatypes for JDBC incremental columns
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
Overview
Retrieve the list of allowed data types for incremental columns per database plugin. This is useful when configuring JDBC jobs with incremental sync to ensure the selected column type is supported.
Examples
Get Allowed Datatypes
GET /platform/jobs/jdbc/configs/allowed_datatypesResponse (200 OK):
{
"status": true,
"data": {
"postgresql": [
"timestamp with time zone",
"timestamp without time zone",
"date",
"integer",
"bigint",
"smallint",
"serial",
"bigserial"
],
"mysql": [
"datetime",
"timestamp",
"date",
"int",
"bigint",
"smallint",
"mediumint",
"tinyint"
],
"oracle": [
"TIMESTAMP",
"TIMESTAMP WITH TIME ZONE",
"TIMESTAMP WITH LOCAL TIME ZONE",
"DATE",
"NUMBER"
],
"sqlserver": [
"datetime",
"datetime2",
"smalldatetime",
"date",
"int",
"bigint",
"smallint",
"tinyint"
]
}
}Python Example
import requests
BASE_URL = "https://maestro.dadosfera.ai"
# Get allowed datatypes
response = requests.get(
f"{BASE_URL}/platform/jobs/jdbc/configs/allowed_datatypes",
headers=headers
)
datatypes = response.json()['data']
# Check if a column type is valid for PostgreSQL
plugin = "postgresql"
column_type = "timestamp with time zone"
if column_type in datatypes.get(plugin, []):
print(f"'{column_type}' is valid for {plugin}")
else:
print(f"'{column_type}' is NOT valid for {plugin}")
print(f"Valid types: {datatypes[plugin]}")Supported Databases
PostgreSQL
| Data Type | Category |
|---|---|
timestamp with time zone | Timestamp |
timestamp without time zone | Timestamp |
date | Date |
integer | Numeric |
bigint | Numeric |
smallint | Numeric |
serial | Auto-increment |
bigserial | Auto-increment |
MySQL
| Data Type | Category |
|---|---|
datetime | Timestamp |
timestamp | Timestamp |
date | Date |
int | Numeric |
bigint | Numeric |
smallint | Numeric |
mediumint | Numeric |
tinyint | Numeric |
Oracle
| Data Type | Category |
|---|---|
TIMESTAMP | Timestamp |
TIMESTAMP WITH TIME ZONE | Timestamp |
TIMESTAMP WITH LOCAL TIME ZONE | Timestamp |
DATE | Date |
NUMBER | Numeric |
SQL Server
| Data Type | Category |
|---|---|
datetime | Timestamp |
datetime2 | Timestamp |
smalldatetime | Timestamp |
date | Date |
int | Numeric |
bigint | Numeric |
smallint | Numeric |
tinyint | Numeric |
Choosing an Incremental Column
Best Practices
- Prefer timestamps over dates - More precision for tracking changes
- Use auto-updating columns - Columns like
updated_atthat update on every change - Avoid manually maintained columns - Risk of missed updates
- Consider timezone awareness - Use
timestamp with time zonewhen possible
Good Incremental Columns
| Column | Type | Why |
|---|---|---|
updated_at | timestamp | Auto-updated on changes |
modified_date | datetime | Tracks modification time |
version_number | integer | Auto-incrementing version |
Bad Incremental Columns
| Column | Type | Why |
|---|---|---|
created_at | timestamp | Only set once, misses updates |
status | varchar | Not sortable/comparable |
id | integer | Only catches new rows, not updates |
Notes
- Data types are case-sensitive for Oracle
- When using POST /platform/jobs/jdbc/:jobId/sync-mode, the
incremental_column_typemust match one of these values - For
incremental_with_qualifymode, also specifyprimary_keysfor deduplication
200Allowed datatypes by engine
