From finjulhich at gmail.com Mon Aug 25 09:17:57 2025 From: finjulhich at gmail.com (MM) Date: Mon Aug 25 09:18:27 2025 Subject: [odb-users] internal compiler error: in cl_optimization_save, at options-save.cc:293 Message-ID: Trying to create a reproducible example here, but no success yet. In the meantime, perhaps this is a known issue odb -d pgsql --std c++17 --profile boost --generate-query -I... -I/usr/include --options-file .../odb.options --changelog .../odb/...._pgsql.xml .../....hpp *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins. Event | Plugins PLUGIN_START_UNIT | odb PLUGIN_PRAGMAS | odb PLUGIN_OVERRIDE_GATE | odb : internal compiler error: in cl_optimization_save, at options-save.cc:293 I believe I built odb with gcc 15.0, while now my system has 15.2.1 strings $(which odb) | grep -i gcc libgcc_s.so.1 GCC_3.0 /usr/local/src/odb-gcc-15/odb-2.5.0/odb/pregenerated/odb/options.cxx odb.environment = [strings] CPATH CPLUS_INCLUDE_PATH GCC_EXEC_PREFIX COMPILER_PATH GCC: (GNU) 15.1.1 20250521 (Red Hat 15.1.1-2) GCC: (GNU) 15.0.1 20250418 (Red Hat 15.0.1-0) RV:running gcc 15.0.1 20250418 BV:annobin gcc 15.0.1 20250418 .gcc_except_table I would think minor version changes of gcc don't require a odb rebuild Rds, MM From boris at codesynthesis.com Tue Aug 26 03:14:23 2025 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Aug 26 03:14:35 2025 Subject: [odb-users] internal compiler error: in cl_optimization_save, at options-save.cc:293 In-Reply-To: References: Message-ID: MM writes: > I believe I built odb with gcc 15.0, while now my system has 15.2.1 > > I would think minor version changes of gcc don't require a odb rebuild GCC does not guarantee any stability for its plugins API (which is essentially all of GCC). So I would suggest that you rebuild with GCC 15.2.1 and see if that makes the error go away. From roberto.minarelli.de at gmail.com Tue Aug 26 05:56:33 2025 From: roberto.minarelli.de at gmail.com (roberto minarelli) Date: Tue Aug 26 07:46:02 2025 Subject: [odb-users] Inserting CLOB greater having size greater then 12288 In-Reply-To: References: Message-ID: Hi again Boris, I am stuck on this problem I have a table that is like Table_A { string UUID string sLob CLOB } I start to insert a lob of 70k but it doesn't fit So I reduced the length until It is successfully inserted This happens with OL 8.8 libodb-2.5.0-b.25.so libodb-oracle-2.5.0-b.25.so Oracle 19c if I try with the same library and the same OS but Oracle 11g it fits So what could be the cause? I tried also to debug odb library but didn't understand what happens the Oracle client is always the 12.2.0 Do you believe that installing the odb 2.5.0 will solve the situation? Please let me know as soon as possible Thank you in advance Regards Roberto Minarelli Della Valle Il giorno gio 1 feb 2024 alle ore 10:26 Boris Kolpackov < boris@codesynthesis.com> ha scritto: > roberto minarelli writes: > > > have you an update for this issue? > > No, I haven't had a chance to look into this and unfortunately won't > be able to for the foreseeable future. > > > > I tried to debug the callback but I couldn't step into it > > Try to set the breakpoint inside the callback. This should allow > you to step through it without having to go through OCI code (which > I assume is what's causing the difficulty). > > > > My guess is that the callback is called three times, each of which with a > > chunk of 4Kb of maximum dimension when writing > > And it is called maximum three times > > first time with OCI_FIRST_PIECE > > second time with OCI_NEXT_PIECE > > and finally with OCI_LAST_PIECE > > What is the size of the data you are trying to insert and will it fit > into the three 4Kb chunks? > > Do a little bit of digging and thinking on your own, I am willing to > help guide you in the right direction but "it doesn't work, help" > attitude is not going to get us far with this approach. > From boris at codesynthesis.com Tue Aug 26 07:49:24 2025 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Aug 26 07:49:37 2025 Subject: [odb-users] Inserting CLOB greater having size greater then 12288 In-Reply-To: References: Message-ID: roberto minarelli writes: > Do you believe that installing the odb 2.5.0 will solve the situation? Yes, I remember us fixing something in this area for the 2.5.0 release. So I think there is a good change upgrading to 2.5.0 will help. From roberto.minarelli.de at gmail.com Wed Aug 27 10:17:26 2025 From: roberto.minarelli.de at gmail.com (roberto minarelli) Date: Thu Aug 28 04:00:46 2025 Subject: [odb-users] upgrading to odb 2.5.0 Message-ID: Hi Boris, I am currently trying to upgrade to odb 2.5.0 But whenever I run the command bpkg build odb@https://pkg.cppget.org/1/stable there is this error https://pkg.cppget.org/1/stable/packages.manifest:245971:8: error: unexpected enable clause I am building from source packages because there is not the odb-oracle library in the precompiled ones, and furthermore I don't see a way to tell the compiler I want odb to work with I also tried the offline installation but didn't not work Any idea of what can I do to overcome the problem? Thank you in advance Best Regards Roberto Minarelli Della Valle From boris at codesynthesis.com Thu Aug 28 04:02:45 2025 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Aug 28 04:02:57 2025 Subject: [odb-users] upgrading to odb 2.5.0 In-Reply-To: References: Message-ID: roberto minarelli writes: > But whenever I run the command > > bpkg build odb@https://pkg.cppget.org/1/stable > > there is this error > > https://pkg.cppget.org/1/stable/packages.manifest:245971:8: error: unexpected enable clause Run `b --version`, if you are not using 0.17.0 or later, then you will need to upgrade build2 first. From roberto.minarelli.de at gmail.com Thu Aug 28 16:34:19 2025 From: roberto.minarelli.de at gmail.com (roberto minarelli) Date: Mon Sep 1 09:57:29 2025 Subject: [odb-users] upgrading to odb 2.5.0 In-Reply-To: References: Message-ID: I upgraded build2 to 0.17.0 now I would like to install odb to a different dir I tried this mkdir odb-build cd odb-build bpkg create -d odb-gcc-12 cc \ config.cxx=g++ \ config.cc.coptions=-O3 \ config.bin.rpath=$HOME/lib \ config.install.root=$HOME/odb cd odb-gcc-12 bpkg build --configure-only libstudxml-1.1.0.tar.gz bpkg build --configure-only libcutl-1.11.0.tar.gz bpkg build odb-2.5.0.tar.gz and I did expected to found odb installed but I didn't get nor the include files nor the odb in the directory I specified I tried more than one solution so what is missing? Thank you Regards Roberto Minarelli Della Valle Il giorno gio 28 ago 2025 alle ore 10:02 Boris Kolpackov < boris@codesynthesis.com> ha scritto: > roberto minarelli writes: > > > But whenever I run the command > > > > bpkg build odb@https://pkg.cppget.org/1/stable > > > > there is this error > > > > https://pkg.cppget.org/1/stable/packages.manifest:245971:8: error: > unexpected enable clause > > Run `b --version`, if you are not using 0.17.0 or later, then you > will need to upgrade build2 first. > From enmarantispam at gmail.com Sun Aug 31 01:52:26 2025 From: enmarantispam at gmail.com (NIkolai Marchenko) Date: Mon Sep 1 09:57:29 2025 Subject: [odb-users] any access to sequence without explicitly naming it? Message-ID: Note: the name of the initial message may be misleading and I may be in need of an entirely different solution. I have encountered a weird use case trying to use the new points_to functionality that I am not sure how to deal with: suppose an object contains another object. an inner objects points_to the outer object with on delete cascade option and both are not persistent yet. The objects both have auto id quint64 keys. Since they both don't have id yet, I cannot assign an id to points_to and when I persist the _outer_ object it says that inner isn't persistent yet. but when I persist an _inner_ object it also fails because foreign key constraint is not satisfied. the schema is created with deferred constraint checking ... but I they need to have matching ids beforehand. The only way I see of breaking this loop is to access a sequence for the outer object inisde the transaction and reserving the key to it that I can feed into points_to... but as far as I can see odb doesn't have a native function to access a sequence. This means I have to .execute("raw sql here") and this is potentially breaking on refactors. Am I missing something obvious on how to deal with those? From enmarantispam at gmail.com Sun Aug 31 03:01:56 2025 From: enmarantispam at gmail.com (NIkolai Marchenko) Date: Mon Sep 1 09:57:29 2025 Subject: [odb-users] Re: any access to sequence without explicitly naming it? In-Reply-To: References: Message-ID: It's further compounded by the fact that pre-persist callbacks are const only. so to even query that sequence I have to write my own pre-persist hook to call for these objects that lives completely outside odb architecture. On Sun, Aug 31, 2025 at 8:52?AM NIkolai Marchenko wrote: > Note: the name of the initial message may be misleading and I may be in > need of an entirely different solution. > > I have encountered a weird use case trying to use the new points_to > functionality that I am not sure how to deal with: > > suppose an object contains another object. an inner objects points_to the > outer object with on delete cascade option and both are not persistent yet. > The objects both have auto id quint64 keys. Since they both don't have id > yet, I cannot assign an id to points_to and when I persist the _outer_ > object it says that inner isn't persistent yet. but when I persist an > _inner_ object it also fails because foreign key constraint is not > satisfied. the schema is created with deferred constraint checking ... but > I they need to have matching ids beforehand. > > The only way I see of breaking this loop is to access a sequence for the > outer object inisde the transaction and reserving the key to it that I can > feed into points_to... but as far as I can see odb doesn't have a native > function to access a sequence. This means I have to .execute("raw sql > here") and this is potentially breaking on refactors. Am I missing > something obvious on how to deal with those? >