The "alterTable" action changes, modifies, updates, or configures an existing table in a database. This action works for all FairCom products that include the FairCom database engine.
Important Altering a table can break applications that use the table. Be sure to update all applications when you make the change.
"alterTable" temporarily blocks the table. Blocking the table has no effect on the JSON and SQL APIs. It may cause errors 798 or 799 to occur in applications that have opened the table using the ISAM or CTDB APIs.
Renaming a table or field causes errors to occur in processes that use the old names.
Changing a field's data type may cause errors in applications that read and write data to that field.
Request examples
Add fields
This example uses "alterTable" to define new fields of a table.
{
"api": "db",
"action": "alterTable",
"params": {
"tableName": "test1",
"addFields": [
{
"name": "rename_me1",
"type": "varchar",
"length": 10,
"nullable": false
},
{
"name": "rename_me2",
"type": "varchar",
"length": 10,
"nullable": false
},
{
"name": "alter_me1",
"type": "varchar",
"length": 10,
"nullable": false
},
{
"name": "alter_me2",
"type": "varchar",
"length": 10,
"nullable": false
},
{
"name": "delete_me1",
"type": "varchar",
"length": 10,
"nullable": false
},
{
"name": "delete_me2",
"type": "varchar",
"length": 10,
"nullable": false
}
]
},
"authToken": "replaceWithAuthTokenFromCreateSession"
}Modify field
This example uses "alterTable" to modify existing table fields. Specifically, it changes the name of the "rename_me1" field to "description", changes the "length" value of the "alter_me1" field from its current value to 50, and the "nullable" value from its current value to true.
{
"api": "db",
"action": "alterTable",
"params": {
"databaseName": "ctreeSQL",
"ownerName": "admin",
"tableName": "test1",
"alterFields": [
{
"name": "rename_me1",
"type": "varchar",
"newName": "description"
},
{
"name": "alter_me1",
"type": "varchar",
"length": 50,
"nullable": true
}
]
},
"requestId": "2",
"authToken": "replaceWithAuthTokenFromCreateSession"
}Remove a field
This example uses "alterTable" to remove the "delete_me1" field.
{
"requestId": "3",
"api": "db",
"action": "alterTable",
"params": {
"databaseName": "ctreeSQL",
"ownerName": "admin",
"tableName": "test1",
"deleteFields": [
"delete_me1"
]
},
"authToken": "replaceWithAuthTokenFromCreateSession"
}Maximal
{
"api": "db",
"action": "alterTable",
"params": {
"ownerName": null,
"tableName": "test1",
"newTableName": "test2",
"addFields": [
{
"name": "nested_json_object_or_array",
"type": "json",
"length": 65500
},
{
"name": "boolean_byte",
"type": "bit"
},
{
"name": "signed_int8",
"type": "tinyint"
},
{
"name": "signed_int16",
"type": "smallint"
},
{
"name": "signed_int32",
"type": "integer"
},
{
"name": "signed_int64",
"type": "bigint"
},
{
"name": "ieee_base2float32",
"type": "real"
},
{
"name": "ieee_base2float64",
"type": "float"
},
{
"name": "signed32digits_base10_left32right0",
"type": "number",
"length": 32,
"scale": 0
},
{
"name": "signed32digits_base10_left0right32",
"type": "number",
"length": 32,
"scale": 32
},
{
"name": "signed32digits_base10_left20right12",
"type": "number",
"length": 32,
"scale": 12
},
{
"name": "signed32digits_base10_left30right2",
"type": "money",
"length": 32,
"scale": 2
},
{
"name": "signed32digits_base10_left28right4",
"type": "money",
"length": 32,
"scale": 4
},
{
"name": "date_yyyymmdd",
"type": "date"
},
{
"name": "time_hhmmss",
"type": "time"
},
{
"name": "datetime_yyyymmddthhmmss_nnnz",
"type": "timestamp"
},
{
"name": "fixed_string_10bytes",
"type": "char",
"length": 10
},
{
"name": "variable_string_up_to_max65500bytes",
"type": "varchar",
"length": 65500
},
{
"name": "variable_string_up_to_2GB",
"type": "lvarbinary"
},
{
"name": "fixed_binary_10bytes",
"type": "binary",
"length": 10
},
{
"name": "variable_binary_up_to_max65500bytes",
"type": "varbinary",
"length": 65500
}
],
"alterFields": [
{
"name": "alter_me2",
"type": "varchar",
"length": 50,
"nullable": true
},
{
"name": "datetime_yyyymmddthhmmssfff",
"autoValue": "timestampOnUpdateAndInsert"
}
],
"deleteFields": [
"delete_me2"
],
"transactionModel": "logTransactions",
"growthExtent": 100000,
"padValue": 0,
"fieldDelimiterValue": 0,
"createRecByteIndex": null,
"tableFileExtension": ".dat",
"indexFileExtension": ".idx",
"changeIdField": null,
"databaseName": null,
"folder": null,
"primaryKeyFields": [],
"smallFile": null,
"transactionId": null
},
"responseOptions": {
"binaryFormat": "hex",
"dataFormat": "objects",
"numberFormat": "string"
},
"authToken": "replaceWithAuthTokenFromCreateSession",
"apiVersion": "1.0",
"requestId": "00000003",
"debug": "max"
}
Response examples
Add fields
{
"result": {
"dataFormat": "objects",
"data": [
{
"changeIdField": "changeId",
"createRecByteIndex": false,
"databaseName": "ctreeSQL",
"fieldDelimiterValue": 0,
"fields": [
{
"autoValue": "incrementOnInsert",
"defaultValue": null,
"length": null,
"name": "id",
"nullable": false,
"primaryKey": 1,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "changeid",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "name",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "rename_me1",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "rename_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "alter_me1",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "alter_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "delete_me1",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "delete_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
}
],
"folder": ".\\ctreeSQL.dbs",
"growthExtent": 0,
"indexFileExtension": ".idx",
"indexes": [
{
"collectStats": false,
"compression": "off",
"conditionalExpression": null,
"databaseName": "ctreeSQL",
"deferIndexing": false,
"fields": [
{
"caseInsensitive": false,
"name": "id",
"reverseCompare": false,
"sortDescending": false
}
],
"filename": "admin_test1.idx",
"immutableKeys": false,
"indexName": "id_pk",
"indexNumber": 0,
"ownerName": "admin",
"tableName": "test1",
"unique": true
}
],
"ownerName": "admin",
"padValue": 0,
"path": ".\\ctreeSQL.dbs\\admin_test1.dat",
"primaryKeyFields": [
"id"
],
"smallFile": false,
"tableFileExtension": ".dat",
"tableName": "test1",
"totalRecordCount": 12,
"transactionModel": "logTransactions",
"uid": 1181
}
]
},
"errorCode": 0,
"errorMessage": "",
"authToken": "replaceWithAuthTokenFromCreateSession"
}Modify fields
{
"result": {
"dataFormat": "objects",
"data": [
{
"changeIdField": "changeId",
"createRecByteIndex": false,
"databaseName": "ctreeSQL",
"fieldDelimiterValue": 0,
"fields": [
{
"autoValue": "incrementOnInsert",
"defaultValue": null,
"length": null,
"name": "id",
"nullable": false,
"primaryKey": 1,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "changeid",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "name",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "description",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "rename_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "alter_me1",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "alter_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "delete_me1",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "delete_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
}
],
"folder": ".\\ctreeSQL.dbs",
"growthExtent": 0,
"indexFileExtension": ".idx",
"indexes": [
{
"collectStats": false,
"compression": "off",
"conditionalExpression": null,
"databaseName": "ctreeSQL",
"deferIndexing": false,
"fields": [
{
"caseInsensitive": false,
"name": "id",
"reverseCompare": false,
"sortDescending": false
}
],
"filename": "admin_test1.idx",
"immutableKeys": false,
"indexName": "id_pk",
"indexNumber": 0,
"ownerName": "admin",
"tableName": "test1",
"unique": true
}
],
"ownerName": "admin",
"padValue": 0,
"path": ".\\ctreeSQL.dbs\\admin_test1.dat",
"primaryKeyFields": [
"id"
],
"smallFile": false,
"tableFileExtension": ".dat",
"tableName": "test1",
"totalRecordCount": 12,
"transactionModel": "logTransactions",
"uid": 1181
}
]
},
"requestId": "2",
"errorCode": 0,
"errorMessage": "",
"authToken": "replaceWithAuthTokenFromCreateSession"
}Delete fields
{
"result": {
"dataFormat": "objects",
"data": [
{
"changeIdField": "changeId",
"createRecByteIndex": false,
"databaseName": "ctreeSQL",
"fieldDelimiterValue": 0,
"fields": [
{
"autoValue": "incrementOnInsert",
"defaultValue": null,
"length": null,
"name": "id",
"nullable": false,
"primaryKey": 1,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "changeid",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "name",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "description",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "rename_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "alter_me1",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "alter_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "delete_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
}
],
"folder": ".\\ctreeSQL.dbs",
"growthExtent": 0,
"indexFileExtension": ".idx",
"indexes": [
{
"collectStats": false,
"compression": "off",
"conditionalExpression": null,
"databaseName": "ctreeSQL",
"deferIndexing": false,
"fields": [
{
"caseInsensitive": false,
"name": "id",
"reverseCompare": false,
"sortDescending": false
}
],
"filename": "admin_test1.idx",
"immutableKeys": false,
"indexName": "id_pk",
"indexNumber": 0,
"ownerName": "admin",
"tableName": "test1",
"unique": true
}
],
"ownerName": "admin",
"padValue": 0,
"path": ".\\ctreeSQL.dbs\\admin_test1.dat",
"primaryKeyFields": [
"id"
],
"smallFile": false,
"tableFileExtension": ".dat",
"tableName": "test1",
"totalRecordCount": 12,
"transactionModel": "logTransactions",
"uid": 1181
}
]
},
"requestId": "3",
"errorCode": 0,
"errorMessage": "",
"authToken": "replaceWithAuthTokenFromCreateSession"
}Maximal
{
"result": {
"dataFormat": "objects",
"data": [
{
"changeIdField": "changeId",
"createRecByteIndex": false,
"databaseName": "ctreeSQL",
"fieldDelimiterValue": 0,
"primaryIndexName": "id_pk",
"fields": [
{
"autoValue": "incrementOnInsert",
"defaultValue": null,
"length": null,
"name": "id",
"nullable": false,
"primaryKey": 1,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "changeid",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "name",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "description",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "rename_me2",
"nullable": false,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "alter_me1",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 50,
"name": "alter_me2",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 65500,
"name": "nested_json_object_or_array",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "json"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "boolean_byte",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "bit"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "signed_int8",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "tinyint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "signed_int16",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "smallint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "signed_int32",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "integer"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "signed_int64",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "bigint"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "ieee_base2float32",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "real"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "ieee_base2float64",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "float"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 32,
"name": "signed32digits_base10_left32right0",
"nullable": true,
"primaryKey": 0,
"scale": 0,
"type": "number"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 32,
"name": "signed32digits_base10_left0right32",
"nullable": true,
"primaryKey": 0,
"scale": 32,
"type": "number"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 32,
"name": "signed32digits_base10_left20right12",
"nullable": true,
"primaryKey": 0,
"scale": 12,
"type": "number"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 32,
"name": "signed32digits_base10_left30right2",
"nullable": true,
"primaryKey": 0,
"scale": 2,
"type": "money"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 32,
"name": "signed32digits_base10_left28right4",
"nullable": true,
"primaryKey": 0,
"scale": 4,
"type": "money"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "date_yyyymmdd",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "date"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "time_hhmmss",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "time"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "datetime_yyyymmddthhmmss_nnnz",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "timestamp"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "fixed_string_10bytes",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "char"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 65500,
"name": "variable_string_up_to_max65500bytes",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "variable_string_up_to_2gb",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "lvarchar"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 10,
"name": "fixed_binary_10bytes",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "binary"
},
{
"autoValue": "none",
"defaultValue": null,
"length": 65500,
"name": "variable_binary_up_to_max65500bytes",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "varbinary"
},
{
"autoValue": "none",
"defaultValue": null,
"length": null,
"name": "variable_binary_up_to_2gb",
"nullable": true,
"primaryKey": 0,
"scale": null,
"type": "lvarbinary"
}
],
"folder": ".\\ctreeSQL.dbs",
"growthExtent": 100000,
"indexFileExtension": ".idx",
"indexes": [
{
"indexName": "id_pk",
"primaryIndex": "true",
"collectStats": false,
"compression": "off",
"conditionalExpression": null,
"databaseName": "ctreeSQL",
"deferIndexing": false,
"fields": [
{
"caseInsensitive": false,
"name": "id",
"reverseCompare": false,
"sortDescending": false
}
],
"filename": "admin_test1.idx",
"immutableKeys": false,
"indexName": "id_pk",
"indexNumber": 0,
"ownerName": "admin",
"tableName": "test1",
"unique": true
}
],
"ownerName": "admin",
"padValue": 0,
"path": ".\\ctreeSQL.dbs\\admin_test1.dat",
"primaryKeyFields": [
"id"
],
"smallFile": false,
"tableFileExtension": ".dat",
"tableName": "test1",
"totalRecordCount": 12,
"transactionModel": "logTransactions",
"uid": 1181
}
]
},
"requestId": "5",
"debugInfo": {
"request": {
"api": "db",
"action": "alterTable",
"params": {
"databaseName": "ctreeSQL",
"ownerName": "admin",
"tableName": "test1",
"addFields": [
{
"name": "nested_json_object_or_array",
"type": "json",
"length": 65500
},
{
"name": "boolean_byte",
"type": "bit"
},
{
"name": "signed_int8",
"type": "tinyint"
},
{
"name": "signed_int16",
"type": "smallint"
},
{
"name": "signed_int32",
"type": "integer"
},
{
"name": "signed_int64",
"type": "bigint"
},
{
"name": "ieee_base2float32",
"type": "real"
},
{
"name": "ieee_base2float64",
"type": "float"
},
{
"name": "signed32digits_base10_left32right0",
"type": "number",
"length": 32,
"scale": 0
},
{
"name": "signed32digits_base10_left0right32",
"type": "number",
"length": 32,
"scale": 32
},
{
"name": "signed32digits_base10_left20right12",
"type": "number",
"length": 32,
"scale": 12
},
{
"name": "signed32digits_base10_left30right2",
"type": "money",
"length": 32,
"scale": 2
},
{
"name": "signed32digits_base10_left28right4",
"type": "money",
"length": 32,
"scale": 4
},
{
"name": "date_yyyymmdd",
"type": "date"
},
{
"name": "time_hhmmss",
"type": "time"
},
{
"name": "datetime_yyyymmddthhmmss_nnnz",
"type": "timestamp"
},
{
"name": "fixed_string_10bytes",
"type": "char",
"length": 10
},
{
"name": "variable_string_up_to_max65500bytes",
"type": "varchar",
"length": 65500
},
{
"name": "variable_string_up_to_2GB",
"type": "lvarchar"
},
{
"name": "fixed_binary_10bytes",
"type": "binary",
"length": 10
},
{
"name": "variable_binary_up_to_max65500bytes",
"type": "varbinary",
"length": 65500
},
{
"name": "variable_binary_up_to_2GB",
"type": "lvarbinary"
}
],
"alterFields": [
{
"name": "alter_me2",
"type": "varchar",
"length": 50,
"nullable": true
}
],
"deleteFields": [
"delete_me2"
],
"transactionModel": "logTransactions",
"growthExtent": 100000,
"padValue": 0,
"fieldDelimiterValue": 0,
"createRecByteIndex": false,
"tableFileExtension": ".dat",
"indexFileExtension": ".idx"
},
"apiVersion": "1.0",
"requestId": "5",
"responseOptions": {
"dataFormat": "objects"
},
"debug": "max",
"authToken": "replaceWithAuthTokenFromCreateSession"
},
"serverSuppliedValues": {
"databaseName": "ctreeSQL",
"ownerName": "admin"
},
"errorData": {
"errorData": null
},
"warnings": []
},
"errorCode": 0,
"errorMessage": "",
"authToken": "replaceWithAuthTokenFromCreateSession"
}
Troubleshooting errors
You cannot modify a table while it is in use. When a table has no activity for a default of 2 seconds, it will be closed so you can modify it.
- When a table is in use, the following actions return an error, such as -8 or 4012:
- "alterTable"
- "rebuildTables"
- "deleteTables"
- "createIndex"
- "deleteIndexes"
- "rebuildIndexes"
- "runSqlStatements"
- A table is in use when any account is performing one or more of the following actions with the table:
- "insertRecords"
- "updateRecords"
- "deleteRecords"
- "truncateRecords"
- "getRecords..."
- Has open cursors on the table.
- Has open transactions on the table (such "createTransaction").
- Modify the SQL_IDLE_WAKE startup configuration setting to change the number of seconds the server waits before closing a table. A larger number keeps the table open longer for better performance. A smaller number allows you to modify the table sooner.
- Modify the SQL_IDLE_WAKE startup configuration setting to change the number of tables the server keeps open after they are no longer being actively used. A larger number caches more tables and improves performance. A smaller number allows you to modify tables sooner.
Request properties ("params")
| Property | Description | Default | Type | Limits (inclusive) |
|---|---|---|---|---|
ownerName |
The You specify this property when you want to use a different account instead of the default. Your session's account must have the appropriate privileges to access the code package. This property is useful because objects, such as tables and code packages, can have the same name in the same database as long as different accounts own each object. This feature allows you to create duplicate objects for different users on the same server and reuse the same JSON actions on those objects. For example, an administrator can copy objects from a production environment to her account so she can troubleshoot an issue using the same JSON actions, JavaScript, and SQL code. It is an error to set If no default owner is specified during |
Optional with default of the session's "defaultOwnerName" property |
string | 1 to 64 bytes |
tableName |
The See table name in System specifications for the table naming requirements and limitations.
"params": {
"tableName": "ctreeTable"
} |
Required - No default value | string | 1 to 64 bytes |
newTableName |
The optional See table name in System limits for the table naming requirements and limitations.
|
Optional with default of null
|
string | 1 to 64 bytes |
addFields |
The "addFields": [
{
"autoValue": "none",
"name": "field1",
"type": "varchar",
"length": 50,
"scale": null,
"defaultValue": null,
"nullable": false,
"primaryKey":1
}
] |
Optional with default of []
|
array of objects |
|
|
addFields .name |
The The The
|
Required - No default value | string | 1 to 64 bytes |
|
addFields .type |
The
Request example "fields": [
{
"name": "j",
"type": "number"
}
] |
Required - No default value | string |
|
|
addFields .length |
The "length" property specifies the length of a table field. For more details, see “length”.
|
Optional with default of null
|
integer |
1 to 65500
|
|
addFields .scale |
The The value of A scale of The You may optionally use the Example numbers allowed in "number" and "money" field types with a length of 4 and a scale from 0 to 4.
Request Example Create a table that contains all field types that use the "fields": [
{
"name": "j",
"type": "number",
"scale": 32
},
{
"name": "k",
"type": "number",
"scale": 4
} |
Optional with default of null
|
integer |
0 to 32
|
|
addFields .autoValue |
The "autoValue" property indicates when and how the server automatically sets the field value. For more details, see “autoValue”. |
Optional with default of "none"
|
string |
|
deleteFields |
The
|
Optional with default of []
|
array | 1 to 64 bytes |
transactionModel |
The Possible values:
Example request {
"api": "db",
"action": "createTable",
"params": {
"transactionModel": "noTransactions"
},
"authToken": "replaceWithAuthTokenFromCreateSession"
} |
Optional with default of "logTransactions"
|
string |
|
growthExtent |
The
{
"api": "db",
"action": "createTable",
"params": {
"growthExtent": 64000000
},
"authToken": "replaceWithAuthTokenFromCreateSession"
} |
Optional with default of 0
|
integer |
0 to 2147483647
|
padValue |
The All fixed-length fields in a table are padded with the same pad value. For more details, see |
Optional with default of 32
|
integer |
0 to 255
|
fieldDelimiterValue |
The
"params": {
"fieldDelimiterValue": 255
} |
Optional with default of 32
|
integer |
0 to 255
|
createRecByteIndex |
The
"params": {
"createRecByteIndex": true
} |
Optional with default of false
|
Boolean |
|
tableFileExtension |
The
Example request "params": {
"tableName": "test1",
"tableFileExtension": ".dat"
} |
Optional with default of ".dat"
|
string | 0 to 64 bytes |
indexFileExtension |
The
"params": {
"indexFileExtension": ".tidx"
} |
Optional with default of ".idx"
|
string | 0 to 64 bytes |
changeIdField |
The "changeIdField" property specifies the name of the field used for the change-tracking functionality. If the table already has a change-tracking field, this new field is now used instead for change-tracking. |
Optional with default of ""
|
string | 1 to 64 bytes |
databaseName |
The You specify this property when you want to use a different database instead of the default. This property is useful because objects, such as tables and code packages, can have the same name in multiple databases. This feature allows you to create multiple environments in the same server and reuse the same JSON actions in each environment. For example, you can create It is an error to set If no default database is specified during |
Defaults to the session's "defaultDatabaseName" property |
string | 1 to 64 bytes |
folder |
The
Request example {
"api": "db",
"action": "createTable",
"params": {
"tableName": "test_1",
"folder": "Test_Folder"
},
"authToken": "replaceWithAuthTokenFromCreateSession"
} |
Optional with default of ""
|
string | 0 to 2,048 bytes |
primaryKeyFields |
The "primaryKeyFields" property specifies the fields to use for the table’s primary key. For more details, see "primaryKeyFields". |
Optional with default of []
|
array of strings | ["field1", …,"fieldN"] |
smallFile |
The
Example request {
"api": "db",
"action": "createTable",
"params": {
"smallFile": true
},
"authToken": "replaceWithAuthTokenFromCreateSession"
} |
Optional with default of false
|
Boolean |
|
transactionId |
The "transactionId" property identifies a transaction in which the specified action will be included. |
Optional with default of ""
|
string | 0 to 255 bytes |
Response properties ("result")
| Property | Description | Type | Limits (inclusive) |
|---|---|---|---|
dataFormat |
The
|
string |
|
data |
The |
array of objects | The action determines its contents. |
|
data .changeIdField |
The "changeIdField" property specifies the name of the field used for the change-tracking functionality. If the table already has a change-tracking field, this new field is now used instead for change-tracking. |
string | 1 to 64 bytes |
|
data .createRecByteIndex |
The
|
Boolean |
|
|
data .databaseName |
The
|
string | 1 to 64 bytes |
|
data .fieldDelimiterValue |
The
|
integer |
0 to 255
|
|
data .fields |
The
"fields": [
{
"autoValue": "none",
"name": "name",
"type": "varchar",
"length": 50,
"scale": null,
"defaultValue": null,
"nullable": false, |
array |
updateRecords and deleteRecords only:
|
|
data .fields .autoValue |
The "autoValue" property indicates when and how the server automatically sets the field value. See autoValue for more details. |
string |
|
|
data .fields .defaultValue |
The "defaultValue" property specifies the field's default value. |
string | 0 to 65,500 bytes |
|
data .fields .length |
Identifies the length of the field. | integer |
1 to 65500 |
|
data .fields .name |
The The The
|
string | 1 to 64 bytes |
|
data .fields .nullable |
“nullable” identifies whether a field can contain a NULL value. |
Boolean |
|
|
data .fields .primaryKey |
When > 0, the "primaryKey" property identifies the ordinal position of the field within the table's primary key. |
integer |
0 to 32
|
|
data .indexes .fields .caseInsensitive |
The When "fields": [
{
"caseInsensitive": true
}
] |
Boolean |
|
|
data .indexes .fields .reverseCompare |
The When "fields": [
{
"reverseCompare": true
}
] |
Boolean |
|
|
data .indexes .fields .sortDescending |
The "fields": [
{
"sortDescending": true
}
] |
Optional with default of false
|
Boolean |
|
data .fields .scale |
If the type is "number" or "money", the "scale" property identifies the number of places to the right of the decimal point,. |
integer |
0 to 32
|
|
data .fields .type |
Identifies the type of the field. See Data types. | string |
|
|
data .folder |
The
|
string | 0 to 2,048 bytes |
|
data .growthExtent |
The
|
integer |
0 to 2147483647
|
|
data .indexFileExtension |
The
|
string | 0 to 64 bytes |
|
data .indexes .collectstats |
The “collectStats” property identifies whether usage statistics are being collected and stored. |
boolean |
|
|
data .indexes .compression |
The “compression” property identifies whether the index is compressed. |
string |
|
|
data .indexes .conditionalExpression |
The “conditionalExpression” property identifies an optional conditional expression that filters which records are included in the index. It is null when there is no conditional expression. |
string |
null or a string containing a conditional expression. |
|
data .indexes .databaseName |
The You specify this property when you want to use a different database instead of the default. This property is useful because objects, such as tables and code packages, can have the same name in multiple databases. This feature allows you to create multiple environments in the same server and reuse the same JSON actions in each environment. For example, you can create It is an error to set If no default database is specified during |
string | 1 to 64 bytes |
|
data .indexes .deferIndexing |
“deferindexing” identifies whether deferred indexing is enabled. A deferred index builds and updates asynchronously. This speeds up inserts, updates, and deletes, with a slight delay due to the changes being included in the index. |
boolean |
|
|
data .indexes .filename |
The
|
string | 0 to 2048 bytes |
|
data .indexes .immutableKeys |
"immutableKeys" indicates whether a key's value can be changed. |
boolean |
|
|
data .indexes .indexName |
The "indexName" property specifies the name of an index. A zero-length "indexName" is invalid. |
string | 1 to 64 bytes |
|
data .indexes .ownerName |
The You specify this property when you want to use a different account instead of the default. Your session's account must have the appropriate privileges to access the code package. This property is useful because objects, such as tables and code packages, can have the same name in the same database as long as different accounts own each object. This feature allows you to create duplicate objects for different users on the same server and reuse the same JSON actions on those objects. For example, an administrator can copy objects from a production environment to her account so she can troubleshoot an issue using the same JSON actions, JavaScript, and SQL code. It is an error to set If no default owner is specified during |
string | 1 to 64 bytes |
|
data .indexes .tableName |
The See table name in System specifications for the table naming requirements and limitations. |
string | 1 to 64 bytes |
|
data .indexes .unique |
The "unique" property causes the "createIndex" action to create a unique index, which requires the columns in the index to have a unique value for each record in the table, when set to true. |
Boolean |
|
|
data .ownerName |
The "ownerName" property identifies the user who owns an object (see Object owner). |
string | 0 to 64 bytes |
|
data .padValue |
The All fixed-length fields in a table are padded with the same pad value. For more details, see |
integer |
0 to 255
|
|
data .path |
The "path" property identifies the path of the database folder. For more details, see "path". |
string | 0 to 2,048 bytes |
|
data .primaryKeyFields |
This property specifies the fields of the table’s primary key when multiple fields are combined to form the primary key.
The order of fields in this property is the order of fields in the primary key index. The A primary key with multiple fields has an index named If only one field is used as the primary key, the
Example "primaryKeyFields": [
"a",
"b",
"c"
],
"fields": [
{
"name": "a",
"type": "tinyint"
},
{
"name": "b",
"type": "smallint"
},
{
"name": "c",
"type": "integer"
}
] |
array | an array |
|
data .smallFile |
The
|
Boolean |
|
|
data .tableFileExtension |
The
|
string | 0 to 64 bytes |
|
data .tableName |
The See table name in System specifications for the table naming requirements and limitations. |
string | 1 to 64 bytes |
|
data .totalRecordCount |
The
|
integer |
|
|
data .transactionModel |
The Possible values:
|
string |
|