Bruno Postle
365be8fb52
Support RocksDB shared library and new unique_ptr DB::Open API
...
Some distributions (e.g. Fedora) ship only a shared RocksDB that exports
RocksDB::rocksdb-shared rather than RocksDB::rocksdb. The CMake target
selection now falls back to the shared target when the static one is absent.
Newer RocksDB also changed DB::Open and DB::OpenForReadOnly to take
std::unique_ptr<DB>* instead of DB**. IfcFile.cpp uses SFINAE tag dispatch
to build against both old and new APIs without version detection.
2026-06-05 14:22:07 +02:00
Thomas Krijnen
461404cd45
Don't terminate parsing on invalid entity names
2025-11-23 11:16:47 +01:00
Thomas Krijnen
7cb1f07a0b
hacky way to retain attribute too many messages on header entities in validate.py
2025-10-25 21:12:12 +02:00
Thomas Krijnen
0494bd9677
Option to bypass storing types when opening model
2025-10-24 12:06:59 +02:00
Thomas Krijnen
a6d20c0cc4
Follow up after 4d688170e0
2025-10-22 21:42:37 +02:00
Thomas Krijnen
550779deee
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2025-10-21 13:06:05 +02:00
Thomas Krijnen
86b89f2153
Comment behaviour #7264
2025-10-20 10:37:35 +02:00
Thomas Krijnen
34f4aa430a
Keep file_ as nullptr to not bypass addEntity() #7264
2025-10-20 10:33:09 +02:00
Thomas Krijnen
4d688170e0
Storage rework WIP
2025-10-13 20:47:43 +02:00
Thomas Krijnen
573e53ebfd
Ugly workarounds to not depend on std::filesystem #7131
2025-09-29 11:29:07 +02:00
Thomas Krijnen
23b48c43a6
Conditional compilation
2025-09-14 13:53:33 +02:00
Thomas Krijnen
b1248be1b8
wopts.disableWAL for 3x better write performance
2025-09-11 19:10:05 +02:00
Thomas Krijnen
e2b39620a0
Test for supported compression
2025-09-10 21:42:30 +02:00
Thomas Krijnen
a2f0bc8a17
Further implement serialization
2025-09-09 13:26:21 +02:00
Thomas Krijnen
59a5bf2344
RocksDB zstd encryption; cache tuning; readonly open mode
2025-09-03 11:11:55 +02:00
Thomas Krijnen
a831884ee6
Free rocksdb iterators
2025-09-01 14:32:13 +02:00
Thomas Krijnen
b6712602e2
Retain exact attribute counts in rdb as parsed
2025-08-28 11:15:05 +02:00
Thomas Krijnen
b2c20b15b4
Move definitions
2025-08-27 10:32:58 +02:00
Thomas Krijnen
96336d6f68
Ugly conditional compilation for without rdb support
2025-08-26 13:56:03 +02:00
Thomas Krijnen
862aa71a77
Left-overs after merge
2025-08-26 10:20:08 +02:00
Thomas Krijnen
9d9e9ed4cb
Merge remote-tracking branch 'origin/v0.8.0' into tfk-rocksdb-storage
2025-08-26 10:17:57 +02:00
Thomas Krijnen
d2c7c1532c
Implement streaming scan through file and use in rocksdb serializer and python
2025-08-25 12:45:10 +02:00
Thomas Krijnen
952400bd58
Support defined types with instance references in parser (IfcPropertySetDefinitionSet; #6330 )
2025-04-11 15:52:40 +02:00
Thomas Krijnen
c935b2fc12
Merge branch 'v0.8.0' into tfk-rocksdb-storage
2025-03-25 13:05:45 +01:00
Thomas Krijnen
bd92821b2e
Add file offset to instance reference errors so that they are picked up by ifcopenshell.validate
2025-03-25 11:44:46 +01:00
Sebastian Friston
35fe79dfb2
ISSUE #6328 fix in dispatch_token to avoid missing unknown in logicals
2025-03-20 14:03:07 +01:00
Thomas Krijnen
425de7b857
Further small memory optimizations
2025-03-18 10:41:03 +01:00
Thomas Krijnen
8af4afa781
Do use merges, much better perf, instantiate inverses directly and generally, no longer copy map
2025-03-14 16:16:25 +01:00
Thomas Krijnen
10682fb226
Fix python binding
2025-03-14 10:20:22 +01:00
Thomas Krijnen
df6b7a34f7
Auto-detect filetype
2025-03-13 13:09:39 +01:00
Thomas Krijnen
67932a22c3
Working non-streaming serializer and read-only model
2025-03-13 12:34:54 +01:00
Thomas Krijnen
9f49ad5f71
Non-streaming rocksdb serializer nearing completion
2025-03-09 21:20:16 +01:00
Thomas Krijnen
ce4407ff3c
Some successes writing and reading
2025-02-27 22:07:31 +01:00
Thomas Krijnen
a420c4b707
Work towards serialization of data
2025-02-25 21:29:54 +01:00
Thomas Krijnen
048f77cfed
Getting closer to working SPF again
2025-02-24 20:46:29 +01:00
Thomas Krijnen
da4e86a1d5
Exploration of using rocksdb as file+instance storage
2025-02-21 16:12:16 +01:00
Thomas Krijnen
957369219c
More verbosity on invalid enumeration literals
2024-11-21 15:16:56 +01:00
Thomas Krijnen
088bc207ab
Don't fail on untyped enumerations
2024-11-11 13:57:36 +01:00
Thomas Krijnen
18d5957424
Defensiveness against invalid syntax #5608
2024-10-20 14:17:13 +02:00
Thomas Krijnen
c7183a58ea
aggregate of int/real compatibility in parsing #5302
2024-09-11 20:15:14 +02:00
Thomas Krijnen
daa6b31c5d
msvc17 workaround
2024-08-24 13:24:23 +02:00
Thomas Krijnen
d80bcd1a94
Unify variant storage ( #5118 )
2024-08-23 20:29:07 +02:00