From 24175d13cad5d091378a06f25bf54a6d381fa44c Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Fri, 24 Jul 2026 16:30:04 -0400
Subject: [PATCH 1/7] internal procs
---
content/language/{proc => internal}/_dm_db_close.md | 0
content/language/{proc => internal}/_dm_db_columns.md | 0
content/language/{proc => internal}/_dm_db_connect.md | 0
content/language/{proc => internal}/_dm_db_error_msg.md | 0
content/language/{proc => internal}/_dm_db_execute.md | 0
.../language/{proc => internal}/_dm_db_is_connected.md | 0
content/language/{proc => internal}/_dm_db_new_con.md | 0
content/language/{proc => internal}/_dm_db_new_query.md | 0
content/language/{proc => internal}/_dm_db_next_row.md | 0
content/language/{proc => internal}/_dm_db_quote.md | 0
content/language/{proc => internal}/_dm_db_row_count.md | 0
.../language/{proc => internal}/_dm_db_rows_affected.md | 0
content/language/internal/_index.md | 8 ++++++++
13 files changed, 8 insertions(+)
rename content/language/{proc => internal}/_dm_db_close.md (100%)
rename content/language/{proc => internal}/_dm_db_columns.md (100%)
rename content/language/{proc => internal}/_dm_db_connect.md (100%)
rename content/language/{proc => internal}/_dm_db_error_msg.md (100%)
rename content/language/{proc => internal}/_dm_db_execute.md (100%)
rename content/language/{proc => internal}/_dm_db_is_connected.md (100%)
rename content/language/{proc => internal}/_dm_db_new_con.md (100%)
rename content/language/{proc => internal}/_dm_db_new_query.md (100%)
rename content/language/{proc => internal}/_dm_db_next_row.md (100%)
rename content/language/{proc => internal}/_dm_db_quote.md (100%)
rename content/language/{proc => internal}/_dm_db_row_count.md (100%)
rename content/language/{proc => internal}/_dm_db_rows_affected.md (100%)
create mode 100644 content/language/internal/_index.md
diff --git a/content/language/proc/_dm_db_close.md b/content/language/internal/_dm_db_close.md
similarity index 100%
rename from content/language/proc/_dm_db_close.md
rename to content/language/internal/_dm_db_close.md
diff --git a/content/language/proc/_dm_db_columns.md b/content/language/internal/_dm_db_columns.md
similarity index 100%
rename from content/language/proc/_dm_db_columns.md
rename to content/language/internal/_dm_db_columns.md
diff --git a/content/language/proc/_dm_db_connect.md b/content/language/internal/_dm_db_connect.md
similarity index 100%
rename from content/language/proc/_dm_db_connect.md
rename to content/language/internal/_dm_db_connect.md
diff --git a/content/language/proc/_dm_db_error_msg.md b/content/language/internal/_dm_db_error_msg.md
similarity index 100%
rename from content/language/proc/_dm_db_error_msg.md
rename to content/language/internal/_dm_db_error_msg.md
diff --git a/content/language/proc/_dm_db_execute.md b/content/language/internal/_dm_db_execute.md
similarity index 100%
rename from content/language/proc/_dm_db_execute.md
rename to content/language/internal/_dm_db_execute.md
diff --git a/content/language/proc/_dm_db_is_connected.md b/content/language/internal/_dm_db_is_connected.md
similarity index 100%
rename from content/language/proc/_dm_db_is_connected.md
rename to content/language/internal/_dm_db_is_connected.md
diff --git a/content/language/proc/_dm_db_new_con.md b/content/language/internal/_dm_db_new_con.md
similarity index 100%
rename from content/language/proc/_dm_db_new_con.md
rename to content/language/internal/_dm_db_new_con.md
diff --git a/content/language/proc/_dm_db_new_query.md b/content/language/internal/_dm_db_new_query.md
similarity index 100%
rename from content/language/proc/_dm_db_new_query.md
rename to content/language/internal/_dm_db_new_query.md
diff --git a/content/language/proc/_dm_db_next_row.md b/content/language/internal/_dm_db_next_row.md
similarity index 100%
rename from content/language/proc/_dm_db_next_row.md
rename to content/language/internal/_dm_db_next_row.md
diff --git a/content/language/proc/_dm_db_quote.md b/content/language/internal/_dm_db_quote.md
similarity index 100%
rename from content/language/proc/_dm_db_quote.md
rename to content/language/internal/_dm_db_quote.md
diff --git a/content/language/proc/_dm_db_row_count.md b/content/language/internal/_dm_db_row_count.md
similarity index 100%
rename from content/language/proc/_dm_db_row_count.md
rename to content/language/internal/_dm_db_row_count.md
diff --git a/content/language/proc/_dm_db_rows_affected.md b/content/language/internal/_dm_db_rows_affected.md
similarity index 100%
rename from content/language/proc/_dm_db_rows_affected.md
rename to content/language/internal/_dm_db_rows_affected.md
diff --git a/content/language/internal/_index.md b/content/language/internal/_index.md
new file mode 100644
index 000000000..de72cdf2c
--- /dev/null
+++ b/content/language/internal/_index.md
@@ -0,0 +1,8 @@
++++
+title = "Internal Procs"
+weight = 0
++++
+{% parity() %}
+Because these are meant for internal use and undocumented,
+OpenDream's implementation of these procs may vary in accuracy.
+{% end %}
\ No newline at end of file
From ffc1bde734b057b496ac2b6382643e7783f0b51d Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Fri, 24 Jul 2026 19:42:14 -0400
Subject: [PATCH 2/7] documents all the procs
---
content/language/internal/_dm_db_close.md | 14 +++++-
content/language/internal/_dm_db_columns.md | 48 ++++++++++++++++++-
content/language/internal/_dm_db_connect.md | 45 ++++++++++++++++-
content/language/internal/_dm_db_error_msg.md | 11 ++++-
content/language/internal/_dm_db_execute.md | 32 ++++++++++++-
.../language/internal/_dm_db_is_connected.md | 7 ++-
content/language/internal/_dm_db_new_con.md | 12 ++++-
content/language/internal/_dm_db_new_query.md | 11 ++++-
content/language/internal/_dm_db_next_row.md | 24 +++++++++-
content/language/internal/_dm_db_quote.md | 12 ++++-
content/language/internal/_dm_db_row_count.md | 11 ++++-
.../language/internal/_dm_db_rows_affected.md | 11 ++++-
content/language/internal/_index.md | 1 +
13 files changed, 216 insertions(+), 23 deletions(-)
diff --git a/content/language/internal/_dm_db_close.md b/content/language/internal/_dm_db_close.md
index 8d58cbd75..827ba5494 100644
--- a/content/language/internal/_dm_db_close.md
+++ b/content/language/internal/_dm_db_close.md
@@ -1,7 +1,17 @@
+++
title = "_dm_db_close"
-render = false
+[[extra.args]]
+name = "db_obj"
+description = "An internal database object, db_conn or db_query"
+[extra.return]
+type = "num" # AUTOGEN SKIP
+description = "`TRUE` if the object was closed, otherwise `FALSE`"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+"Closes" the [`db_conn`](./_dm_db_new_con.md) or [`db_query`](./_dm_db_new_query.md), resetting the object to its initial state.
+
+It's important to ensure that `db_conn` instances always closes its connection at the end of its lifetime,
+as failing to do so can cause hanging connections that are impossible to close.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_columns.md b/content/language/internal/_dm_db_columns.md
index ee79df2d8..6eb088208 100644
--- a/content/language/internal/_dm_db_columns.md
+++ b/content/language/internal/_dm_db_columns.md
@@ -1,7 +1,51 @@
+++
title = "_dm_db_columns"
-render = false
+[[extra.args]]
+name = "db_query"
+description = "A database query"
+[[extra.args]]
+name = "column_type"
+description = "Path that represents column data"
+[extra.return]
+type = "list" # AUTOGEN SKIP
+description = "An associative list of text keys to instance values"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+Once a query is executed, the `db_query` can be used to create a list of names along with their column data, which is useful for iterating over a set of rows.
+
+Each entry will have the name of the column as the key and an instance of the provided path as the value.
+For example, the query:
+```sql
+SELECT `first_name`, `last_name`, `dob` IN `my_table`;
+```
+will create this list:
+```dm
+list(
+ "first_name" = new /column(...),
+ "last_name" = new /column(...),
+ "dob" = new /column(...),
+)
+```
+
+The arguments provided to each instance will differ based on the database driver.
+
+## MySql
+```dm
+/column/New(
+ name, // column name
+ table, // also column name
+ position, // column index, 0-index (BYOND is 1-index)
+ type, // appears to always be 0
+ flag, // column definition flags
+ length, // appears to always be a huge number
+ max_length // appears to always be a huge number
+)
+```
+
+## SQLite
+```dm
+// TODO
+```
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_connect.md b/content/language/internal/_dm_db_connect.md
index f5258fa41..98fa9afca 100644
--- a/content/language/internal/_dm_db_connect.md
+++ b/content/language/internal/_dm_db_connect.md
@@ -1,7 +1,48 @@
+++
title = "_dm_db_connect"
-render = false
+[[extra.args]]
+name = "db_conn"
+description = "A database connection"
+[[extra.args]]
+name = "dsn"
+description = "The data source name (DSN) of the connection"
+[[extra.args]]
+name = "username"
+description = "Username for login credentials"
+[[extra.args]]
+name = "password"
+description = "Password for login credentials"
+[[extra.args]]
+name = "cursor_type"
+description = "Cursor type that the query will use"
+[[extra.args]]
+name = "?"
+description = "The purpose of this argument is unknown"
+[extra.return]
+type = "num" # AUTOGEN SKIP
+description = "`TRUE` if a connection was established successfully, otherwise `FALSE`"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+Establishes a remote connection to a database.
+
+The format for a DSN in BYOND is:
+```
+dbi:[driver]:[identifier]:[address]:[port]
+dbi:mysql:my_database:192.168.0.1:3306
+```
+
+Database drivers currently supported by BYOND:
+- MySQL (`mysql`)
+- SQLite (`unknown identifier`)
+
+{% parity() %}
+It is currently unknown if the database changes the values for `cursor_type`.
+{% end %}
+
+`cursor_type` changes how the query is handled:
+- `0` uses the database's default cursor behaviour.
+- `1` uses client cursor.
+- `2` uses server cursor.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_error_msg.md b/content/language/internal/_dm_db_error_msg.md
index c437e83b8..721e13cfa 100644
--- a/content/language/internal/_dm_db_error_msg.md
+++ b/content/language/internal/_dm_db_error_msg.md
@@ -1,7 +1,14 @@
+++
title = "_dm_db_error_msg"
-render = false
+[[extra.args]]
+name = "db_obj"
+description = "An internal database object, db_conn or db_query"
+[extra.return]
+type = "text" # AUTOGEN SKIP
+description = "The error given by the database object"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+If the provided object did not create an error during its previous action, the error message will be an empty string. \(`""`\)
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_execute.md b/content/language/internal/_dm_db_execute.md
index dec3b3f5e..53ef0a9a9 100644
--- a/content/language/internal/_dm_db_execute.md
+++ b/content/language/internal/_dm_db_execute.md
@@ -1,7 +1,35 @@
+++
title = "_dm_db_execute"
-render = false
+[[extra.args]]
+name = "db_query"
+description = "A database query"
+[[extra.args]]
+name = "query"
+description = "The query being sent to the database"
+[[extra.args]]
+name = "db_conn"
+description = "A database connection"
+[[extra.args]]
+name = "cursor_type"
+description = "Cursor type that the query will use"
+[[extra.args]]
+name = "?"
+description = "The purpose of this argument is unknown"
+[extra.return]
+type = "num" # AUTOGEN SKIP
+description = "`TRUE` if the query executed successfully, otherwise `FALSE`"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+Performs a query on a [`db_conn`](./_dm_db_new_con.md) and stores the result in a [`db_query`](./_dm_db_new_query.md).
+
+{% parity() %}
+It is currently unknown if the database changes the values for `cursor_type`.
+{% end %}
+
+`cursor_type` changes how the query is handled:
+- `0` uses the database's default cursor behaviour.
+- `1` uses client cursor.
+- `2` uses server cursor.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_is_connected.md b/content/language/internal/_dm_db_is_connected.md
index 9af83509f..aedc427cf 100644
--- a/content/language/internal/_dm_db_is_connected.md
+++ b/content/language/internal/_dm_db_is_connected.md
@@ -1,6 +1,11 @@
+++
title = "_dm_db_is_connected"
-render = false
+[[extra.args]]
+name = "db_conn"
+description = "A database connection"
+[extra.return]
+type = "num" # AUTOGEN SKIP
+description = "`TRUE` if a database connection is open, otherwise `FALSE`"
[extra]
od_unimplemented = true # AUTOGEN FIELD
diff --git a/content/language/internal/_dm_db_new_con.md b/content/language/internal/_dm_db_new_con.md
index 6cfb9aea8..e3e109e98 100644
--- a/content/language/internal/_dm_db_new_con.md
+++ b/content/language/internal/_dm_db_new_con.md
@@ -1,7 +1,15 @@
+++
title = "_dm_db_new_con"
-render = false
+[extra.return]
+type = "db_conn" # AUTOGEN SKIP
+description = "A new connection object"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+Creates and returns an internal object we call a `db_conn`.
+
+`db_conn` is a special data type, different from a {{ datum() }} but still counted as an object.
+It is used to perform database operations.
+
+{{ database() }} also internally creates a `db_conn`.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_new_query.md b/content/language/internal/_dm_db_new_query.md
index f8775fa19..487b44259 100644
--- a/content/language/internal/_dm_db_new_query.md
+++ b/content/language/internal/_dm_db_new_query.md
@@ -1,7 +1,14 @@
+++
title = "_dm_db_new_query"
-render = false
+[extra.return]
+type = "db_query" # AUTOGEN SKIP
+description = "A new query object"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+Creates and returns an internal object we call a `db_query`.
+
+`db_query` is a special data type, different from a {{ datum() }} but still counted as an object for reference purposes.
+
+It is used to store the results of a [query](./_dm_db_execute.md).
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_next_row.md b/content/language/internal/_dm_db_next_row.md
index b7e90f4b3..30c28d7d0 100644
--- a/content/language/internal/_dm_db_next_row.md
+++ b/content/language/internal/_dm_db_next_row.md
@@ -1,7 +1,27 @@
+++
title = "_dm_db_next_row"
-render = false
+[[extra.args]]
+name = "db_query"
+description = "A database query"
+[[extra.args]]
+name = "items"
+description = "Container for the row items"
+[[extra.args]]
+name = "conversions"
+description = "A list"
+[extra.return]
+type = "num" # AUTOGEN SKIP
+description = "`TRUE` if another row was selected, otherwise `FALSE`"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+{% parity() %}
+Behaviour of `conversions` is currently unknown.
+{% end %}
+
+If possible, inserts the values of the next row into `items`.
+
+Calling this proc repeatedly will continue stepping through rows until there are no more rows in the selection.
+It is not possible to step backwards.
diff --git a/content/language/internal/_dm_db_quote.md b/content/language/internal/_dm_db_quote.md
index 102a1b0c2..b03833388 100644
--- a/content/language/internal/_dm_db_quote.md
+++ b/content/language/internal/_dm_db_quote.md
@@ -1,7 +1,15 @@
+++
title = "_dm_db_quote"
-render = false
+[[extra.args]]
+name = "db_conn"
+description = "A database connection"
+[extra.return]
+type = "text" # AUTOGEN SKIP
+description = "Sanitized form of the input text"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+Asks the connection to escape the provided text (Ex: `this 'dangerous' text` to `this \\'dangerous\\' text`).
+Very important for treating user input, as it can prevent [malicious attacks](https://en.wikipedia.org/wiki/SQL_injection) on databases.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_row_count.md b/content/language/internal/_dm_db_row_count.md
index 9e2ad88c8..294cbe6d7 100644
--- a/content/language/internal/_dm_db_row_count.md
+++ b/content/language/internal/_dm_db_row_count.md
@@ -1,7 +1,14 @@
+++
title = "_dm_db_row_count"
-render = false
+[[extra.args]]
+name = "db_query"
+description = "A database query"
+[extra.return]
+type = "num, null" # AUTOGEN SKIP
+description = "The number of rows, or `null` if not applicable"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+Returns the number of rows that were **found** by the query's execution.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_rows_affected.md b/content/language/internal/_dm_db_rows_affected.md
index f979c4f7c..31730391b 100644
--- a/content/language/internal/_dm_db_rows_affected.md
+++ b/content/language/internal/_dm_db_rows_affected.md
@@ -1,7 +1,14 @@
+++
title = "_dm_db_rows_affected"
-render = false
+[[extra.args]]
+name = "db_query"
+description = "A database query"
+[extra.return]
+type = "num, null" # AUTOGEN SKIP
+description = "The number of rows, or `null` if not applicable"
[extra]
od_unimplemented = true # AUTOGEN FIELD
-+++
\ No newline at end of file
++++
+
+Returns the number of rows that were **altered** by the query's execution.
\ No newline at end of file
diff --git a/content/language/internal/_index.md b/content/language/internal/_index.md
index de72cdf2c..d764dea5c 100644
--- a/content/language/internal/_index.md
+++ b/content/language/internal/_index.md
@@ -1,6 +1,7 @@
+++
title = "Internal Procs"
weight = 0
+page_template = "proc.html"
+++
{% parity() %}
Because these are meant for internal use and undocumented,
From 69c5541d77b57a875be2dac7259e29118a38e5ae Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Fri, 24 Jul 2026 20:02:14 -0400
Subject: [PATCH 3/7] small corrections
---
content/language/internal/_dm_db_close.md | 2 +-
content/language/internal/_dm_db_columns.md | 5 +++--
content/language/internal/_dm_db_new_con.md | 2 +-
content/language/internal/_dm_db_new_query.md | 3 +--
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/content/language/internal/_dm_db_close.md b/content/language/internal/_dm_db_close.md
index 827ba5494..8abd5b7b2 100644
--- a/content/language/internal/_dm_db_close.md
+++ b/content/language/internal/_dm_db_close.md
@@ -13,5 +13,5 @@ od_unimplemented = true # AUTOGEN FIELD
"Closes" the [`db_conn`](./_dm_db_new_con.md) or [`db_query`](./_dm_db_new_query.md), resetting the object to its initial state.
-It's important to ensure that `db_conn` instances always closes its connection at the end of its lifetime,
+It's important to ensure that `db_conn` instances always close their connection at the end of their lifetime,
as failing to do so can cause hanging connections that are impossible to close.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_columns.md b/content/language/internal/_dm_db_columns.md
index 6eb088208..0a9a89c63 100644
--- a/content/language/internal/_dm_db_columns.md
+++ b/content/language/internal/_dm_db_columns.md
@@ -14,7 +14,7 @@ description = "An associative list of text keys to instance values"
od_unimplemented = true # AUTOGEN FIELD
+++
-Once a query is executed, the `db_query` can be used to create a list of names along with their column data, which is useful for iterating over a set of rows.
+Once a query is [executed](./_dm_db_execute.md), the `db_query` can be used to create a list of names along with their column data, which is useful for iterating over a set of rows.
Each entry will have the name of the column as the key and an instance of the provided path as the value.
For example, the query:
@@ -30,7 +30,8 @@ list(
)
```
-The arguments provided to each instance will differ based on the database driver.
+Each database instance is created with **index-based** arguments.
+The arguments that are provided will differ based on the database driver.
## MySql
```dm
diff --git a/content/language/internal/_dm_db_new_con.md b/content/language/internal/_dm_db_new_con.md
index e3e109e98..5591f40dc 100644
--- a/content/language/internal/_dm_db_new_con.md
+++ b/content/language/internal/_dm_db_new_con.md
@@ -9,7 +9,7 @@ od_unimplemented = true # AUTOGEN FIELD
+++
Creates and returns an internal object we call a `db_conn`.
-`db_conn` is a special data type, different from a {{ datum() }} but still counted as an object.
+`db_conn` is a special data type, different from a {{ datum() }} but still treated as an object.
It is used to perform database operations.
{{ database() }} also internally creates a `db_conn`.
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_new_query.md b/content/language/internal/_dm_db_new_query.md
index 487b44259..57576365e 100644
--- a/content/language/internal/_dm_db_new_query.md
+++ b/content/language/internal/_dm_db_new_query.md
@@ -9,6 +9,5 @@ od_unimplemented = true # AUTOGEN FIELD
+++
Creates and returns an internal object we call a `db_query`.
-`db_query` is a special data type, different from a {{ datum() }} but still counted as an object for reference purposes.
-
+`db_query` is a special data type, different from a {{ datum() }} but still treated as an object
It is used to store the results of a [query](./_dm_db_execute.md).
\ No newline at end of file
From 2138188fd61996680730b5efad8488e3a89a7009 Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Fri, 24 Jul 2026 20:05:46 -0400
Subject: [PATCH 4/7] forgot a period
---
content/language/internal/_dm_db_new_query.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/language/internal/_dm_db_new_query.md b/content/language/internal/_dm_db_new_query.md
index 57576365e..e380cb62e 100644
--- a/content/language/internal/_dm_db_new_query.md
+++ b/content/language/internal/_dm_db_new_query.md
@@ -9,5 +9,5 @@ od_unimplemented = true # AUTOGEN FIELD
+++
Creates and returns an internal object we call a `db_query`.
-`db_query` is a special data type, different from a {{ datum() }} but still treated as an object
+`db_query` is a special data type, different from a {{ datum() }} but still treated as an object.
It is used to store the results of a [query](./_dm_db_execute.md).
\ No newline at end of file
From 9380a5df44106b76b319dd2a88b69ada0c988fcf Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Fri, 24 Jul 2026 20:06:42 -0400
Subject: [PATCH 5/7] we don't call it strings
---
content/language/internal/_dm_db_error_msg.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/language/internal/_dm_db_error_msg.md b/content/language/internal/_dm_db_error_msg.md
index 721e13cfa..3f7287dc5 100644
--- a/content/language/internal/_dm_db_error_msg.md
+++ b/content/language/internal/_dm_db_error_msg.md
@@ -11,4 +11,4 @@ description = "The error given by the database object"
od_unimplemented = true # AUTOGEN FIELD
+++
-If the provided object did not create an error during its previous action, the error message will be an empty string. \(`""`\)
\ No newline at end of file
+If the provided object did not create an error during its previous action, the error message will be empty text. \(`""`\)
\ No newline at end of file
From b6f3e98cbb19aea78de015743c17c2ba5d5a9cde Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Sat, 25 Jul 2026 11:43:13 -0400
Subject: [PATCH 6/7] updates the tool to sort internal procs
---
.../OpenDreamDocumentationTool.csproj | 2 +-
.../OpenDreamDocumentationTool/Program.cs | 10 +++++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/OpenDreamDocumentationTool.csproj b/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/OpenDreamDocumentationTool.csproj
index 860c7b09b..10bc04861 100644
--- a/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/OpenDreamDocumentationTool.csproj
+++ b/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/OpenDreamDocumentationTool.csproj
@@ -1,7 +1,7 @@
Exe
- net9.0
+ net10.0
enable
enable
diff --git a/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/Program.cs b/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/Program.cs
index 669946c73..8e139c990 100644
--- a/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/Program.cs
+++ b/tools/OpenDreamDocumentationTool/OpenDreamDocumentationTool/Program.cs
@@ -110,6 +110,11 @@ public static void Main(string[] args) {
continue;
}
+ if (file.Contains("language/internal")) {
+ pathToFile["internalProcs"] = file;
+ continue;
+ }
+
if (!pageTitle.StartsWith('/')) {
continue;
}
@@ -120,10 +125,13 @@ public static void Main(string[] args) {
ParseAstStatements(astFile.BlockInner.Statements);
var globalProcs = pathToFile["globalProcs"];
+ var internalProcs = pathToFile["internalProcs"];
+
foreach (var pair in Procs) {
var proc = pair.Value;
+ var usedPath = !proc.Name.StartsWith("_dm_") ? globalProcs : internalProcs;
- var newProcPage = globalProcs.Replace("_index.md", $"{proc.Name.ToLower()}.md");
+ var newProcPage = usedPath.Replace("_index.md", $"{proc.Name.ToLower()}.md");
ProcessPage(newProcPage, proc, ProcessProc);
}
From 03c6caa71c64f52c2ce787e2a0cbcf071f5d14e4 Mon Sep 17 00:00:00 2001
From: tontyGH <39193182+tontyGH@users.noreply.github.com>
Date: Tue, 18 Aug 2026 15:51:12 -0400
Subject: [PATCH 7/7] tweaks the documentation a little bit
---
content/language/internal/_dm_db_columns.md | 5 -----
content/language/internal/_dm_db_connect.md | 5 ++---
content/language/internal/_dm_db_execute.md | 8 +++-----
tools/OpenDreamDocumentationTool/OpenDream | 2 +-
4 files changed, 6 insertions(+), 14 deletions(-)
mode change 160000 => 120000 tools/OpenDreamDocumentationTool/OpenDream
diff --git a/content/language/internal/_dm_db_columns.md b/content/language/internal/_dm_db_columns.md
index 0a9a89c63..984e7da0c 100644
--- a/content/language/internal/_dm_db_columns.md
+++ b/content/language/internal/_dm_db_columns.md
@@ -44,9 +44,4 @@ The arguments that are provided will differ based on the database driver.
length, // appears to always be a huge number
max_length // appears to always be a huge number
)
-```
-
-## SQLite
-```dm
-// TODO
```
\ No newline at end of file
diff --git a/content/language/internal/_dm_db_connect.md b/content/language/internal/_dm_db_connect.md
index 98fa9afca..3cf3abdab 100644
--- a/content/language/internal/_dm_db_connect.md
+++ b/content/language/internal/_dm_db_connect.md
@@ -16,8 +16,8 @@ description = "Password for login credentials"
name = "cursor_type"
description = "Cursor type that the query will use"
[[extra.args]]
-name = "?"
-description = "The purpose of this argument is unknown"
+name = "arg_6"
+od_unimplemented = true
[extra.return]
type = "num" # AUTOGEN SKIP
description = "`TRUE` if a connection was established successfully, otherwise `FALSE`"
@@ -36,7 +36,6 @@ dbi:mysql:my_database:192.168.0.1:3306
Database drivers currently supported by BYOND:
- MySQL (`mysql`)
-- SQLite (`unknown identifier`)
{% parity() %}
It is currently unknown if the database changes the values for `cursor_type`.
diff --git a/content/language/internal/_dm_db_execute.md b/content/language/internal/_dm_db_execute.md
index 53ef0a9a9..e8658f6d5 100644
--- a/content/language/internal/_dm_db_execute.md
+++ b/content/language/internal/_dm_db_execute.md
@@ -13,8 +13,8 @@ description = "A database connection"
name = "cursor_type"
description = "Cursor type that the query will use"
[[extra.args]]
-name = "?"
-description = "The purpose of this argument is unknown"
+name = "arg_5"
+od_unimplemented = true
[extra.return]
type = "num" # AUTOGEN SKIP
description = "`TRUE` if the query executed successfully, otherwise `FALSE`"
@@ -25,9 +25,7 @@ od_unimplemented = true # AUTOGEN FIELD
Performs a query on a [`db_conn`](./_dm_db_new_con.md) and stores the result in a [`db_query`](./_dm_db_new_query.md).
-{% parity() %}
-It is currently unknown if the database changes the values for `cursor_type`.
-{% end %}
+The query itself must be a single statement. Attempting a query such as `UPDATE mytable SET val = 1; SELECT * FROM mytable;` will create an error.
`cursor_type` changes how the query is handled:
- `0` uses the database's default cursor behaviour.
diff --git a/tools/OpenDreamDocumentationTool/OpenDream b/tools/OpenDreamDocumentationTool/OpenDream
deleted file mode 160000
index 371e56348..000000000
--- a/tools/OpenDreamDocumentationTool/OpenDream
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 371e56348e6c8c3d7953255bdc21a7c91853b509
diff --git a/tools/OpenDreamDocumentationTool/OpenDream b/tools/OpenDreamDocumentationTool/OpenDream
new file mode 120000
index 000000000..42a6eead1
--- /dev/null
+++ b/tools/OpenDreamDocumentationTool/OpenDream
@@ -0,0 +1 @@
+D:/Projects/OpenPeam
\ No newline at end of file