forked from sqlpage/SQLPage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path25_read_file_as_text.sql
54 lines (45 loc) · 1.54 KB
/
25_read_file_as_text.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
-- Insert the 'variables' function into sqlpage_functions table
INSERT INTO sqlpage_functions (
"name",
"introduced_in_version",
"icon",
"description_md"
)
VALUES (
'read_file_as_text',
'0.17.0',
'file-invoice',
'Returns a string containing the contents of the given file.
The file must be a raw text file using UTF-8 encoding.
The file path is relative to the `web root` directory, which is the directory from which your website is served
(not necessarily the directory SQLPage is launched from).
If the given argument is null, the function will return null.
As with other functions, if an error occurs during execution
(because the file does not exist, for instance),
the function will display an error message and the
database query will not be executed.
If you are using a `sqlpage_files` table to store files directly in the database (serverless mode),
the function will attempt to read the file from the database filesystem if it is not found on the local disk,
using the same logic as for serving files in response to HTTP requests.
## Example
### Rendering a markdown file
```sql
select ''text'' as component, sqlpage.read_file_as_text(''/path/to/file.md'') as contents_md;
```
');
-- Insert the parameters for the 'variables' function into sqlpage_function_parameters table
-- Parameter 1: 'method' parameter
INSERT INTO sqlpage_function_parameters (
"function",
"index",
"name",
"description_md",
"type"
)
VALUES (
'read_file_as_text',
1,
'name',
'Path to the file to read.',
'TEXT'
);