duckdb 0.7.2-dev1898.0 → 0.7.2-dev1901.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
4
  "types": "./lib/duckdb.d.ts",
5
- "version": "0.7.2-dev1898.0",
5
+ "version": "0.7.2-dev1901.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -145,7 +145,19 @@ Napi::Array EncodeDataChunk(Napi::Env env, duckdb::DataChunk &chunk, bool with_t
145
145
  }
146
146
  break;
147
147
  }
148
- case duckdb::LogicalTypeId::BLOB:
148
+ case duckdb::LogicalTypeId::BLOB: {
149
+ if (with_data) {
150
+ auto array = Napi::Array::New(env, chunk.size());
151
+ auto data = duckdb::FlatVector::GetData<duckdb::string_t>(*vec);
152
+
153
+ for (size_t i = 0; i < chunk.size(); ++i) {
154
+ auto buf = Napi::Buffer<char>::Copy(env, data[i].GetDataUnsafe(), data[i].GetSize());
155
+ array.Set(i, buf);
156
+ }
157
+ desc.Set("data", array);
158
+ }
159
+ break;
160
+ }
149
161
  case duckdb::LogicalTypeId::VARCHAR: {
150
162
  if (with_data) {
151
163
  auto array = Napi::Array::New(env, chunk.size());
@@ -1,8 +1,8 @@
1
1
  #ifndef DUCKDB_VERSION
2
- #define DUCKDB_VERSION "0.7.2-dev1898"
2
+ #define DUCKDB_VERSION "0.7.2-dev1901"
3
3
  #endif
4
4
  #ifndef DUCKDB_SOURCE_ID
5
- #define DUCKDB_SOURCE_ID "eaf507009f"
5
+ #define DUCKDB_SOURCE_ID "5aa369b4b1"
6
6
  #endif
7
7
  #include "duckdb/function/table/system_functions.hpp"
8
8
  #include "duckdb/main/database.hpp"
package/test/udf.test.ts CHANGED
@@ -220,5 +220,14 @@ describe('UDFs', function() {
220
220
  });
221
221
  db.unregister_udf("udf", done);
222
222
  });
223
+
224
+ it('blob', function(done) {
225
+ db.register_udf("udf", "varchar", (buf: Buffer) => buf.toString("hex"));
226
+ db.all("select udf('\\xAA\\xAB\\xAC'::BLOB) v", function(err: null | Error, rows: TableData) {
227
+ if (err) throw err;
228
+ assert.equal(rows[0].v, "aaabac");
229
+ });
230
+ db.unregister_udf("udf", done);
231
+ });
223
232
  });
224
233
  });