Skip to content

Commit d6bfaa2

Browse files
committed
Refresh sqlite_blaster and make col_names as string
1 parent 5efcf87 commit d6bfaa2

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ In this mode, a table is created with just 2 columns, `key` and `value` as shown
6868
```python
6969
import sqlite_blaster_python
7070

71-
col_names = ["key", "value"]
71+
col_names = "key, value"
7272
sqib = sqlite_blaster_python.sqlite_index_blaster(2, 1, col_names, "imain", 4096, 40000, "kv_idx.db")
7373
sqib.put_string("hello", "world")
7474
sqib.close()
@@ -95,7 +95,7 @@ To retrieve the inserted values, use `get` method as shown below
9595
```python
9696
import sqlite_blaster_python
9797

98-
col_names = ["key", "value"]
98+
col_names = "key, value"
9999
sqib = sqlite_blaster_python.sqlite_index_blaster(2, 1, col_names, "imain", 4096, 40, "kv_idx.db")
100100
sqib.put_string("hello", "world")
101101
print("Value of hello is", sqib.get_string("hello", "not_found"))
@@ -114,7 +114,7 @@ import sqlite_blaster_python
114114
json1 = '{"name": "Alice", "age": 25, "email": "[email protected]"}'
115115
json2 = '{"name": "George", "age": 32, "email": "[email protected]"}'
116116

117-
col_names = ["key", "doc"]
117+
col_names = "key, doc"
118118
sqib = sqlite_blaster_python.sqlite_index_blaster(2, 1, col_names, "doc_index", 4096, 40, "doc_store.db")
119119
sqib.put_string("primary_contact", json1)
120120
sqib.put_string("secondary_contact", json2)
@@ -136,7 +136,7 @@ This repo can be used to create regular tables with primary key(s) as shown belo
136136
```python
137137
import sqlite_blaster_python
138138

139-
col_names = ["student_name", "age", "maths_marks", "physics_marks", "chemistry_marks", "average_marks"]
139+
col_names = "student_name, age, maths_marks, physics_marks, chemistry_marks, average_marks"
140140
sqib = sqlite_blaster_python.sqlite_index_blaster(6, 2, col_names, "student_marks", 4096, 40, "student_marks.db")
141141

142142
sqib.put_rec(["Robert", 19, 80, 69, 98, round((80+69+98)/3, 2)])

src/main.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <pybind11/pybind11.h>
22
#include <pybind11/stl.h>
3+
#include "sqlite_blaster/src/util.h"
34
#include "sqlite_blaster/src/sqlite_index_blaster.h"
45

56
#define STRINGIFY(x) #x
@@ -49,7 +50,7 @@ py::list get_values(sqlite_index_blaster& self, uint8_t *rec, int rec_len) {
4950
py::list result;
5051
int8_t vlen;
5152
int col_type_or_len, col_len, col_type;
52-
int hdr_len = self.read_vint32(rec, &vlen);
53+
int hdr_len = util::read_vint32(rec, &vlen);
5354
int hdr_pos = vlen;
5455
uint8_t *data_ptr = rec + hdr_len;
5556
col_len = vlen = 0;
@@ -60,7 +61,7 @@ py::list get_values(sqlite_index_blaster& self, uint8_t *rec, int rec_len) {
6061
break;
6162
if (hdr_pos >= hdr_len)
6263
break;
63-
col_type_or_len = self.read_vint32(rec + hdr_pos, &vlen);
64+
col_type_or_len = util::read_vint32(rec + hdr_pos, &vlen);
6465
col_len = self.derive_data_len(col_type_or_len);
6566
col_type = self.derive_col_type(col_type_or_len);
6667
switch (col_type) {
@@ -81,32 +82,32 @@ py::list get_values(sqlite_index_blaster& self, uint8_t *rec, int rec_len) {
8182
result.append(py::int_(*data_ptr));
8283
break;
8384
case SQLT_TYPE_INT16: {
84-
int int_val = self.read_uint16(data_ptr);
85+
int int_val = util::read_uint16(data_ptr);
8586
result.append(py::int_(int_val));
8687
}
8788
break;
8889
case SQLT_TYPE_INT24: {
89-
int32_t int_val = self.read_uint24(data_ptr);
90+
int32_t int_val = util::read_uint24(data_ptr);
9091
result.append(py::int_(int_val));
9192
}
9293
break;
9394
case SQLT_TYPE_INT32: {
94-
int32_t int_val = self.read_uint32(data_ptr);
95+
int32_t int_val = util::read_uint32(data_ptr);
9596
result.append(py::int_(int_val));
9697
}
9798
break;
9899
case SQLT_TYPE_INT48: {
99-
int int_val = self.read_int48(data_ptr);
100+
int int_val = util::read_int48(data_ptr);
100101
result.append(py::int_(int_val));
101102
}
102103
break;
103104
case SQLT_TYPE_INT64: {
104-
int64_t int_val = self.read_uint64(data_ptr);
105+
int64_t int_val = util::read_uint64(data_ptr);
105106
result.append(py::int_(int_val));
106107
}
107108
break;
108109
case SQLT_TYPE_REAL: {
109-
double dbl_val = self.read_double(data_ptr);
110+
double dbl_val = util::read_double(data_ptr);
110111
result.append(PyFloat_FromDouble(dbl_val));
111112
}
112113
break;
@@ -130,7 +131,7 @@ PYBIND11_MODULE(sqlite_blaster_python, m) {
130131
)pbdoc";
131132
py::class_<sqlite_index_blaster>(m, "sqlite_index_blaster")
132133
.def(py::init<int, int,
133-
std::vector<std::string>, const char *,
134+
std::string, std::string,
134135
int, int,
135136
const char *>())
136137
.def("close", &sqlite_index_blaster::close)

0 commit comments

Comments
 (0)