From 94177cee799eaf7c493b0fd1137d7eeaec4fd918 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 06 Jul 2019 00:10:00 +0000
Subject: [PATCH] Fix edge cases (no results, query empty) in find function
---
stops/populate_db.php | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/stops/populate_db.php b/stops/populate_db.php
index 3364d2d..845ec95 100644
--- a/stops/populate_db.php
+++ b/stops/populate_db.php
@@ -9,17 +9,21 @@
$pdo->query('DROP TABLE IF EXISTS stop_search');
$pdo->query('CREATE TABLE stop_search (
word VARCHAR(60),
- id INT
+ id VARCHAR(255)
)');
+
+function processStops($st, $stops) {
+ foreach($stops as $id => $name) {
+ foreach(split_stop_name($name) as $word) {
+ $st->execute([$word, $id]);
+ $st->closeCursor();
+ }
+ }
+}
$pdo->beginTransaction();
$st = $pdo->prepare('INSERT INTO stop_search (word, id) VALUES (?, ?)');
-foreach($stops as $id => $name) {
- foreach(split_stop_name($name) as $word) {
- $st->execute(array($word, $id));
- $st->closeCursor();
- }
-}
+processStops($st, $stops);
$pdo->commit();
$pdo->query('CREATE INDEX stop_search_word ON stop_search (word COLLATE NOCASE)');
--
Gitblit v1.9.1