pub const HEALTH_CHECK_QUERY: &str = "SELECT 1 FROM DUMMY";
pub const LIST_TABLES_CURRENT_SCHEMA: &str =
"SELECT TABLE_NAME, TABLE_TYPE FROM SYS.TABLES WHERE SCHEMA_NAME = CURRENT_SCHEMA";
pub const LIST_TABLES_TEMPLATE: &str =
"SELECT TABLE_NAME, TABLE_TYPE FROM SYS.TABLES WHERE SCHEMA_NAME = '{SCHEMA}'";
pub const DESCRIBE_TABLE_CURRENT_SCHEMA: &str = "SELECT COLUMN_NAME, DATA_TYPE_NAME, IS_NULLABLE FROM SYS.TABLE_COLUMNS WHERE SCHEMA_NAME = CURRENT_SCHEMA AND TABLE_NAME = '{TABLE}'";
pub const DESCRIBE_TABLE_TEMPLATE: &str = "SELECT COLUMN_NAME, DATA_TYPE_NAME, IS_NULLABLE FROM SYS.TABLE_COLUMNS WHERE SCHEMA_NAME = '{SCHEMA}' AND TABLE_NAME = '{TABLE}'";
pub const ELICIT_SCHEMA_LIST_TABLES: &str =
"Which schema do you want to list tables from? (Leave empty for current schema)";
pub const ELICIT_SCHEMA_DESCRIBE_TABLE: &str =
"Which schema is the table in? (Leave empty for current schema)";
pub const STATUS_OK: &str = "ok";
pub const SQL_TRUE: &str = "TRUE";
pub const DML_STATUS_SUCCESS: &str = "success";
pub const ELICIT_DML_CONFIRMATION: &str = "You are about to execute a DML operation.\n\nStatement: <sql>\n\nThis operation may modify data in the database. Type 'yes' to confirm or 'no' to cancel.";
pub const DML_SQL_PLACEHOLDER: &str = "<sql>";
pub const LIST_PROCEDURES_CURRENT_SCHEMA: &str = r"
SELECT PROCEDURE_NAME, SCHEMA_NAME, PROCEDURE_TYPE, IS_READ_ONLY
FROM SYS.PROCEDURES
WHERE SCHEMA_NAME = CURRENT_SCHEMA
ORDER BY PROCEDURE_NAME
";
pub const LIST_PROCEDURES_TEMPLATE: &str = r"
SELECT PROCEDURE_NAME, SCHEMA_NAME, PROCEDURE_TYPE, IS_READ_ONLY
FROM SYS.PROCEDURES
WHERE SCHEMA_NAME = '{SCHEMA}'
ORDER BY PROCEDURE_NAME
";
pub const LIST_PROCEDURES_PATTERN_TEMPLATE: &str = r"
SELECT PROCEDURE_NAME, SCHEMA_NAME, PROCEDURE_TYPE, IS_READ_ONLY
FROM SYS.PROCEDURES
WHERE SCHEMA_NAME = '{SCHEMA}'
AND PROCEDURE_NAME LIKE '{PATTERN}'
ORDER BY PROCEDURE_NAME
";
pub const DESCRIBE_PROCEDURE_CURRENT_SCHEMA: &str = r"
SELECT PARAMETER_NAME, POSITION, DATA_TYPE_NAME, PARAMETER_TYPE, LENGTH, PRECISION, SCALE, HAS_DEFAULT
FROM SYS.PROCEDURE_PARAMETERS
WHERE SCHEMA_NAME = CURRENT_SCHEMA AND PROCEDURE_NAME = '{PROCEDURE}'
ORDER BY POSITION
";
pub const DESCRIBE_PROCEDURE_TEMPLATE: &str = r"
SELECT PARAMETER_NAME, POSITION, DATA_TYPE_NAME, PARAMETER_TYPE, LENGTH, PRECISION, SCALE, HAS_DEFAULT
FROM SYS.PROCEDURE_PARAMETERS
WHERE SCHEMA_NAME = '{SCHEMA}' AND PROCEDURE_NAME = '{PROCEDURE}'
ORDER BY POSITION
";
pub const ELICIT_SCHEMA_LIST_PROCEDURES: &str =
"Which schema do you want to list procedures from? (Leave empty for current schema)";
pub const ELICIT_PROCEDURE_CONFIRMATION: &str = r"You are about to execute a stored procedure.
Procedure: <procedure>
Parameters: <parameters>
This operation may modify data or have side effects. Type 'yes' to confirm or 'no' to cancel.";
pub const PROCEDURE_NAME_PLACEHOLDER: &str = "<procedure>";
pub const PROCEDURE_PARAMS_PLACEHOLDER: &str = "<parameters>";
pub const PROCEDURE_STATUS_SUCCESS: &str = "success";
#[cfg(feature = "cache")]
pub const CACHE_SYSTEM_USER: &str = "_system";