Skip to content

Commit

Permalink
Compile files to binary
Browse files Browse the repository at this point in the history
  • Loading branch information
pawurb committed Dec 30, 2023
1 parent c687444 commit 7c6c6d0
Show file tree
Hide file tree
Showing 32 changed files with 77 additions and 37 deletions.
43 changes: 38 additions & 5 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use postgres::{Client, NoTls, Row};
use std::{env, fs};
mod structs;
use std::env;
pub mod structs;
use structs::all_locks::AllLocks;
use structs::bloat::Bloat;
use structs::blocking::Blocking;
Expand Down Expand Up @@ -232,9 +232,42 @@ pub fn db_settings() -> Vec<DbSetting> {
get_rows(&query).iter().map(DbSetting::new).collect()
}

fn read_file(filename: &str) -> String {
fs::read_to_string(format!("src/queries/{}.sql", filename))
.unwrap_or_else(|_| panic!("Error reading the '{}' file", filename))
pub fn read_file(filename: &str) -> &'static str {
match filename {
"cache_hit" => include_str!("queries/cache_hit.sql"),
"bloat" => include_str!("queries/bloat.sql"),
"blocking" => include_str!("queries/blocking.sql"),
"calls" => include_str!("queries/calls.sql"),
"extensions" => include_str!("queries/extensions.sql"),
"table_cache_hit" => include_str!("queries/table_cache_hit.sql"),
"tables" => include_str!("queries/tables.sql"),
"index_cache_hit" => include_str!("queries/index_cache_hit.sql"),
"indexes" => include_str!("queries/indexes.sql"),
"index_size" => include_str!("queries/index_size.sql"),
"index_usage" => include_str!("queries/index_usage.sql"),
"index_scans" => include_str!("queries/index_scans.sql"),
"null_indexes" => include_str!("queries/null_indexes.sql"),
"locks" => include_str!("queries/locks.sql"),
"all_locks" => include_str!("queries/all_locks.sql"),
"long_running_queries" => include_str!("queries/long_running_queries.sql"),
"mandelbrot" => include_str!("queries/mandelbrot.sql"),
"outliers" => include_str!("queries/outliers.sql"),
"records_rank" => include_str!("queries/records_rank.sql"),
"seq_scans" => include_str!("queries/seq_scans.sql"),
"table_index_scans" => include_str!("queries/table_index_scans.sql"),
"table_indexes_size" => include_str!("queries/table_indexes_size.sql"),
"table_size" => include_str!("queries/table_size.sql"),
"total_index_size" => include_str!("queries/total_index_size.sql"),
"total_table_size" => include_str!("queries/total_table_size.sql"),
"unused_indexes" => include_str!("queries/unused_indexes.sql"),
"duplicate_indexes" => include_str!("queries/duplicate_indexes.sql"),
"vacuum_stats" => include_str!("queries/vacuum_stats.sql"),
"buffercache_stats" => include_str!("queries/buffercache_stats.sql"),
"buffercache_usage" => include_str!("queries/buffercache_usage.sql"),
"ssl_used" => include_str!("queries/ssl_used.sql"),
"connections" => include_str!("queries/connections.sql"),
_ => panic!("Unknown file: {}", filename),
}
}

fn get_rows(query: &str) -> Vec<Row> {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/bloat.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;
use rust_decimal::prelude::*;
use rust_decimal_macros::dec;
Expand Down
2 changes: 1 addition & 1 deletion src/structs/buffercache_stats.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;
use rust_decimal::prelude::*;
use rust_decimal_macros::dec;
Expand Down
2 changes: 1 addition & 1 deletion src/structs/buffercache_usage.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct BuffercacheUsage {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/cache_hit.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;
use rust_decimal::prelude::*;
use rust_decimal_macros::dec;
Expand Down
1 change: 0 additions & 1 deletion src/structs/calls_legacy.rs

This file was deleted.

2 changes: 1 addition & 1 deletion src/structs/connections.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct Connections {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/db_settings.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct DbSetting {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/duplicate_indexes.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct DuplicateIndexes {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/extensions.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct Extensions {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/index_cache_hit.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct IndexCacheHit {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/index_scans.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct IndexScans {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/index_size.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct IndexSize {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/index_usage.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct IndexUsage {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/indexes.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct Indexes {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/mandelbrot.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct Mandelbrot {
Expand Down
2 changes: 0 additions & 2 deletions src/structs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ pub mod buffercache_stats;
pub mod buffercache_usage;
pub mod cache_hit;
pub mod calls;
pub mod calls_legacy;
pub mod connections;
pub mod db_settings;
pub mod duplicate_indexes;
Expand All @@ -20,7 +19,6 @@ pub mod long_running_queries;
pub mod mandelbrot;
pub mod null_indexes;
pub mod outliers;
pub mod outliers_legacy;
pub mod records_rank;
pub mod seq_scans;
pub mod shared;
Expand Down
2 changes: 1 addition & 1 deletion src/structs/null_indexes.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct NullIndexes {
Expand Down
1 change: 0 additions & 1 deletion src/structs/outliers_legacy.rs

This file was deleted.

2 changes: 1 addition & 1 deletion src/structs/records_rank.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct RecordsRank {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/seq_scans.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct SeqScans {
Expand Down
13 changes: 12 additions & 1 deletion src/structs/shared.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use pg_interval::Interval;
use postgres::Row;
use postgres::{Client, NoTls, Row};
use std::env;

pub trait Tabular {
Expand All @@ -16,3 +16,14 @@ pub fn get_default_interval() -> Interval {
pub fn get_default_schema() -> String {
env::var("PG_EXTRAS_SCHEMA").unwrap_or("public".to_string())
}

pub fn get_rows(query: &str) -> Vec<Row> {
connection()
.query(query, &[])
.unwrap_or_else(|_| Vec::new())
}

fn connection() -> Client {
let database_url = env::var("DATABASE_URL").expect("$DATABASE_URL is not set");
Client::connect(&database_url, NoTls).unwrap()
}
2 changes: 1 addition & 1 deletion src/structs/ssl_used.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct SslUsed {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/table_cache_hit.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct TableCacheHit {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/table_index_scans.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct TableIndexScans {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/table_indexes_size.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct TableIndexesSize {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/table_size.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct TableSize {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/tables.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct Tables {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/total_index_size.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct TotalIndexSize {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/total_table_size.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct TotalTableSize {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/unused_indexes.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct UnusedIndexes {
Expand Down
2 changes: 1 addition & 1 deletion src/structs/vacuum_stats.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::Tabular;
use crate::structs::shared::Tabular;
use postgres::Row;

pub struct VacuumStats {
Expand Down

0 comments on commit 7c6c6d0

Please sign in to comment.