sqlx prepare added
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -2487,6 +2487,7 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"common",
|
||||
"dashmap",
|
||||
"dotenvy",
|
||||
"lazy_static",
|
||||
"prost",
|
||||
@@ -2496,6 +2497,7 @@ dependencies = [
|
||||
"sqlx",
|
||||
"steel-core",
|
||||
"steel-derive 0.5.0 (git+https://github.com/mattwparas/steel.git?branch=master)",
|
||||
"thiserror 2.0.12",
|
||||
"time",
|
||||
"tokio",
|
||||
"tonic",
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "INSERT INTO table_definitions\n (profile_id, table_name, columns, indexes, linked_table_id)\n VALUES ($1, $2, $3, $4, $5)",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8",
|
||||
"Text",
|
||||
"Jsonb",
|
||||
"Jsonb",
|
||||
"Int8"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "3adac56bb53ad25d03352a6e75cab29f8a1b4620e528a16831b7a61135ccb746"
|
||||
}
|
||||
16
server/.sqlx/query-41621bc47426b92c64e6dfc56f001ad47263b6eed93f5f68601746c4059db3f8.json
generated
Normal file
16
server/.sqlx/query-41621bc47426b92c64e6dfc56f001ad47263b6eed93f5f68601746c4059db3f8.json
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "INSERT INTO table_definition_links\n (source_table_id, linked_table_id, is_required)\n VALUES ($1, $2, $3)",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8",
|
||||
"Int8",
|
||||
"Bool"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "41621bc47426b92c64e6dfc56f001ad47263b6eed93f5f68601746c4059db3f8"
|
||||
}
|
||||
26
server/.sqlx/query-4cd5de4d3332ca35a9975ffb32728041978435e14f97c559e2ffec4a82d567ae.json
generated
Normal file
26
server/.sqlx/query-4cd5de4d3332ca35a9975ffb32728041978435e14f97c559e2ffec4a82d567ae.json
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "INSERT INTO table_scripts\n (table_definitions_id, target_column, target_column_type, script, description)\n VALUES ($1, $2, $3, $4, $5)\n RETURNING id",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "id",
|
||||
"type_info": "Int8"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8",
|
||||
"Text",
|
||||
"Text",
|
||||
"Text",
|
||||
"Text"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "4cd5de4d3332ca35a9975ffb32728041978435e14f97c559e2ffec4a82d567ae"
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n td.table_name,\n ltd.table_name as \"linked_table_name?\"\n FROM table_definitions td\n LEFT JOIN table_definitions ltd ON td.linked_table_id = ltd.id\n WHERE td.profile_id = $1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "table_name",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "linked_table_name?",
|
||||
"type_info": "Text"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "5d8e169a5173fd45cf42f56c5dcc85cf5ac7af1950b269d8a57b080fc2684d60"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "SELECT id FROM table_definitions\n WHERE profile_id = $1 AND table_name = $2",
|
||||
"query": "SELECT id FROM table_definitions\n WHERE profile_id = $1 AND table_name = $2",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
@@ -19,5 +19,5 @@
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "9156cb59f4b13da4efa71051444e401f8e88524733d8ec46e4ef13f87ad8214d"
|
||||
"hash": "792d886a32bc6b6b7ca27ad347e96ff4ae66a4b8da8185dfb27b9d883e068c43"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "SELECT id, columns, linked_table_id FROM table_definitions\n WHERE profile_id = $1 AND table_name = $2",
|
||||
"query": "SELECT id, table_name, columns, profile_id\n FROM table_definitions WHERE id = $1",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
@@ -10,26 +10,31 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "table_name",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "columns",
|
||||
"type_info": "Jsonb"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "linked_table_id",
|
||||
"ordinal": 3,
|
||||
"name": "profile_id",
|
||||
"type_info": "Int8"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8",
|
||||
"Text"
|
||||
"Int8"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false,
|
||||
true
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "bda5d4507e4f190b8b9df224688095bb0c77017709415e91e8164a5f029f46af"
|
||||
"hash": "a466364aa022c2bae1a58f683ecdf390205e43da6b04f46a42820b2fff9e6a79"
|
||||
}
|
||||
22
server/.sqlx/query-b097f30f98490b979939759d85327a20ca7ade4866052a5cfdb0451fb76fbf15.json
generated
Normal file
22
server/.sqlx/query-b097f30f98490b979939759d85327a20ca7ade4866052a5cfdb0451fb76fbf15.json
generated
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "SELECT ltd.table_name \n FROM table_definition_links tdl\n JOIN table_definitions ltd ON tdl.linked_table_id = ltd.id\n WHERE tdl.source_table_id = $1 AND tdl.is_required = true",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "table_name",
|
||||
"type_info": "Text"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "b097f30f98490b979939759d85327a20ca7ade4866052a5cfdb0451fb76fbf15"
|
||||
}
|
||||
28
server/.sqlx/query-b519307ed5b2dba41c37845f23f9abff35312b62cf05ef2e8c5faa4ab0b0c194.json
generated
Normal file
28
server/.sqlx/query-b519307ed5b2dba41c37845f23f9abff35312b62cf05ef2e8c5faa4ab0b0c194.json
generated
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "SELECT target_column, script FROM table_scripts WHERE table_definitions_id = $1",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "target_column",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "script",
|
||||
"type_info": "Text"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "b519307ed5b2dba41c37845f23f9abff35312b62cf05ef2e8c5faa4ab0b0c194"
|
||||
}
|
||||
25
server/.sqlx/query-d1579b19c2b04abd5b58c5ea39f740e403917db736c94e4054d04f8c9509f57a.json
generated
Normal file
25
server/.sqlx/query-d1579b19c2b04abd5b58c5ea39f740e403917db736c94e4054d04f8c9509f57a.json
generated
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "INSERT INTO table_definitions\n (profile_id, table_name, columns, indexes)\n VALUES ($1, $2, $3, $4)\n RETURNING id",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "id",
|
||||
"type_info": "Int8"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8",
|
||||
"Text",
|
||||
"Jsonb",
|
||||
"Jsonb"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "d1579b19c2b04abd5b58c5ea39f740e403917db736c94e4054d04f8c9509f57a"
|
||||
}
|
||||
28
server/.sqlx/query-e23802d20f7f929810f5d294a36d23eca89d4abf6aa7d7d4b4fee9147e153b57.json
generated
Normal file
28
server/.sqlx/query-e23802d20f7f929810f5d294a36d23eca89d4abf6aa7d7d4b4fee9147e153b57.json
generated
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n td.table_name,\n COALESCE(\n json_agg(\n json_build_object(\n 'linked_name', ltd.table_name,\n 'required', tdl.is_required\n )\n ) FILTER (WHERE ltd.id IS NOT NULL),\n '[]'\n ) as dependencies\n FROM table_definitions td\n LEFT JOIN table_definition_links tdl ON td.id = tdl.source_table_id\n LEFT JOIN table_definitions ltd ON tdl.linked_table_id = ltd.id\n WHERE td.profile_id = $1\n GROUP BY td.table_name\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "table_name",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "dependencies",
|
||||
"type_info": "Json"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Int8"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
null
|
||||
]
|
||||
},
|
||||
"hash": "e23802d20f7f929810f5d294a36d23eca89d4abf6aa7d7d4b4fee9147e153b57"
|
||||
}
|
||||
@@ -21,6 +21,8 @@ time = { version = "0.3.39", features = ["local-offset"] }
|
||||
steel-derive = { git = "https://github.com/mattwparas/steel.git", branch = "master", package = "steel-derive" }
|
||||
steel-core = { git = "https://github.com/mattwparas/steel.git", version = "0.6.0", features = ["anyhow", "dylibs", "sync"] }
|
||||
thiserror = "2.0.12"
|
||||
dashmap = "6.1.0"
|
||||
lazy_static = "1.5.0"
|
||||
|
||||
[lib]
|
||||
name = "server"
|
||||
|
||||
@@ -25,6 +25,7 @@ pub fn execute_script(
|
||||
) -> Result<Value, ExecutionError> {
|
||||
let mut vm = Engine::new();
|
||||
|
||||
// SAFETY: THIS IS NEEDS TO BE REDONE
|
||||
// Convert to Box<str> then leak to get 'static lifetime
|
||||
let static_script: &'static str = Box::leak(script.to_string().into_boxed_str());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user