Skip to content

Commit 674f516

Browse files
committed
feat: rand
1 parent b15771b commit 674f516

File tree

5 files changed

+34
-47
lines changed

5 files changed

+34
-47
lines changed

frameworks/Rust/hyperlane/Cargo.lock

Lines changed: 15 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frameworks/Rust/hyperlane/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ exclude = [
1919

2020
[dependencies]
2121
hyperlane = "4.36.1"
22-
rand = "0.9.0"
22+
nanorand = "0.7.0"
2323
serde = "1.0.219"
2424
sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] }
2525

frameworks/Rust/hyperlane/src/db.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,9 @@ pub async fn insert_records() {
5858
return;
5959
}
6060
let missing_count: i64 = limit - count;
61-
let mut rng: ThreadRng = rng();
6261
let mut values: Vec<String> = Vec::new();
6362
for _ in 0..missing_count {
64-
let random_number: i32 = rng.random_range(1..=RANDOM_MAX);
63+
let random_number: i32 = get_random_id();
6564
values.push(format!("(DEFAULT, {})", random_number));
6665
}
6766
let sql: String = format!(
@@ -72,7 +71,7 @@ pub async fn insert_records() {
7271
let _ = query(&sql).execute(&db_pool).await;
7372
let mut values: Vec<String> = Vec::new();
7473
for _ in 0..missing_count {
75-
let random_number: String = rng.random_range(1..=RANDOM_MAX).to_string();
74+
let random_number: i32 = get_random_id();
7675
values.push(format!("(DEFAULT, {})", random_number));
7776
}
7877
let sql: String = format!(
@@ -138,7 +137,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec<QueryRow>) {
138137
let mut id_in_clause: String = format!("{}", rows[0].id);
139138
let last_idx: usize = rows.len() - 1;
140139
for (i, row) in rows.iter().enumerate() {
141-
let new_random_number: i32 = rng().random_range(1..RANDOM_MAX);
140+
let new_random_number: i32 = get_random_id();
142141
let id: i32 = row.id;
143142
id_list.push(id);
144143
value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number));
@@ -148,7 +147,10 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec<QueryRow>) {
148147
query_res_list.push(QueryRow::new(id, new_random_number));
149148
}
150149
sql.push_str(&value_list);
151-
sql.push_str(&format!("END WHERE id IN ({})", id_in_clause));
150+
sql.push_str(&format!(
151+
"ELSE randomNumber END WHERE id IN ({})",
152+
id_in_clause
153+
));
152154
(sql, query_res_list)
153155
}
154156

@@ -169,7 +171,7 @@ pub async fn init_db() {
169171

170172
#[inline]
171173
pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow {
172-
let random_id: i32 = rng().random_range(1..=RANDOM_MAX);
174+
let random_id: i32 = get_random_id();
173175
let sql: String = format!(
174176
"SELECT id, randomNumber FROM {} WHERE id = {}",
175177
TABLE_NAME_WORLD, random_id

frameworks/Rust/hyperlane/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ pub(crate) use hyperlane::{
1818
*,
1919
};
2020
pub(crate) use lazy::*;
21+
pub(crate) use nanorand::{Rng, WyRand};
2122
pub(crate) use r#type::*;
22-
pub(crate) use rand::{rng, Rng};
2323
pub(crate) use request_middleware::*;
2424
pub(crate) use response_middleware::*;
2525
pub(crate) use route::*;

frameworks/Rust/hyperlane/src/utils.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use crate::*;
2+
13
#[inline]
24
pub fn escape_html(input: &str) -> String {
35
let mut result: String = String::new();
@@ -13,3 +15,10 @@ pub fn escape_html(input: &str) -> String {
1315
}
1416
result
1517
}
18+
19+
#[inline]
20+
pub fn get_random_id() -> i32 {
21+
let mut rand: WyRand = WyRand::new();
22+
let random_id: i32 = (rand.generate::<u32>() % 10_000 + 1) as i32;
23+
random_id
24+
}

0 commit comments

Comments
 (0)