Repository: gluesql/gluesql (rust)

Issue:
Chainging return type of `INSERT`
Current
```rust
Payload::Insert(Vec<Row>)
```

Expected
```rust
Payload::Insert(usize)
```

Let's simply return a number of inserted rows.

Pull request description:
Return row count instead of rows on Insert
Return number of successfully inserted rows instead of the entire rows on INSERT queries
resolves #70

Patch:
diff --git a/src/executor/execute.rs b/src/executor/execute.rs
index b07263e4..81a5b41a 100644
--- a/src/executor/execute.rs
+++ b/src/executor/execute.rs
@@ -25,7 +25,7 @@ pub enum ExecuteError {
 #[derive(Serialize, Debug, PartialEq)]
 pub enum Payload {
     Create,
-    Insert(Vec<Row>),
+    Insert(usize),
     Select(Vec<Row>),
     Delete(usize),
     Update(usize),
@@ -50,13 +50,13 @@ pub fn execute<T: 'static + Debug, U: Store<T> + StoreMut<T>>(
             .map(|(storage, _)| (storage, Payload::Create)),
         Prepared::Insert(table_name, rows) => rows
             .into_iter()
-            .try_fold((storage, Vec::<Row>::new()), |(storage, mut rows), row| {
+            .try_fold((storage, 0), |(storage, num), row| {
                 let (storage, key) = storage.generate_id(&table_name)?;
-                let (storage, row) = storage.insert_data(&key, row)?;
-                rows.push(row);
-                Ok((storage, rows))
+                let (storage, _) = storage.insert_data(&key, row)?;
+
+                Ok((storage, num + 1))
             })
-            .map(|(storage, rows)| (storage, Payload::Insert(rows))),
+            .map(|(storage, num_rows)| (storage, Payload::Insert(num_rows))),
         Prepared::Delete(keys) => {
             let (storage, num_rows) =
                 keys.into_iter()


Test patch:
diff --git a/src/tests/tester.rs b/src/tests/tester.rs
index 7cb2e61b..4c1a3ab5 100644
--- a/src/tests/tester.rs
+++ b/src/tests/tester.rs
@@ -32,7 +32,7 @@ pub trait Tester {
 
         match result.unwrap() {
             Payload::Select(rows) => println!("[Ok ]\n{:#?}\n", rows),
-            Payload::Insert(rows) => println!("[Ok ]\n{:#?}\n", rows),
+            Payload::Insert(num) => println!("[Ok ] {} rows inserted.\n", num),
             Payload::Delete(num) => println!("[Ok ] {} rows deleted.\n", num),
             Payload::Update(num) => println!("[Ok ] {} rows updated.\n", num),
             Payload::DropTable => println!("[Ok ] :)\n"),