-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent_news.html
More file actions
243 lines (207 loc) · 10.9 KB
/
Copy pathcontent_news.html
File metadata and controls
243 lines (207 loc) · 10.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
---
layout: default
title: News - SECONDO
description: extensible database system
---
<h1> News </h1>
<div class="short">
This page collects news and announcements about the development of
<span class="secondo">Secondo</span>. For a structured list of the changes
per release, see the <a href="content_releasenotes.html">Release Notes</a>.
</div>
<h2> 26.06.2026 – Optimizer Integration </h2>
<div class="short">
The SECONDO Optimizer has now been integrated into the SECONDO kernel,
functioning as a first-class component. As a result, the <tt>OptServer</tt> has
been removed, along with the old hybrid SECONDO binaries such as
<tt>SecondoPLTTY</tt>, <tt>SecondoPLTTYCS</tt>, and <tt>SecondoPLTTYNT</tt>.
The standard SECONDO binaries now support the optimizer and can be used for
all applications. Additionally, the Java GUI has been adapted to work with
the new optimizer interface. The option for custom optimizer connection
settings has been removed.
</div>
<br>
<div class="short">
SQL Queries like <tt>select count(*) from plz as p where [p:plz > 40000];</tt>
are directly supported by <tt>SecondoTTYBDB</tt> and <tt>SecondoTTYCS</tt>.
By prefixing a query with <tt>optimize</tt>, the optimizer returns the
best plan for the query.
</div>
<br>
<div class="short">
Using <tt>showOptions();</tt>, <tt>setOption(xxx);</tt>, and <tt>delOption(xxx);</tt>,
the user can configure the optimizer. By executing <tt>updateCatalog();</tt>, the
knowledge base of the optimizer is updated.
</div>
<h2> 19.06.2026 – Project Improvements </h2>
<p>
During the last days, the network, process management, and BDB stack of
<span class="secondo">Secondo</span> was improved:
</div>
<div class="short">
<ul>
<li> <b>Support for newer distributions</b>
<ul>
<li> Ubuntu 26.04 is supported. </li>
<li> OS X 15 / 26 are supported.
<ul>
<li> No OS X SDK is needed anymore; <span class="secondo">Secondo</span> now natively compiles on OS X. </li>
<li> The self-test for OS X is fixed and passes now. </li>
<li> Support for the Apple Silicon architecture was improved. BDB page sizes are now stable across different CPU architectures. </li>
</ul>
</li>
<li> A lot of logic/memory bugs were removed to support the newer compilers. </li>
<li> <code>.y</code> files are updated to work with newer Yacc versions. </li>
<li> The Debian package building infrastructure has been renovated, and packages for Ubuntu 22.04/24.04/26.04 are available. </li>
<li> New auto-detection script <code>$SECONDO_BUILD_DIR/CM-Scripts/secondo-detect.sh</code> to determine the environment automatically. </li>
<li> The <a href="content_install.html">installation instructions</a> are rewritten entirely. </li>
<li> <b>Note:</b> <code>nlohmann-json3</code> is now a new installation dependency. <span class="secondo">Secondo</span> now uses the distribution version of the library instead of a vendored version. </li>
</ul>
</li>
<li> <b>Improved build times</b>
<ul>
<li> Parallel <code>make -j ..</code> was repaired. </li>
<li> <code>make</code> can now build algebras concurrently (so far, each algebra was built sequentially, with concurrent support for the files of the algebra). </li>
<li> <code>.java</code> files are now compiled with one <code>javac</code> call instead of compiling each file individually. </li>
<li> <code>.dep</code> files are generated by the main compiler run, no need for a second compiler pass on each <code>.cpp</code> file. </li>
<li> <code>ccache</code> is now supported for caching build artifacts. </li>
</ul>
</li>
<li> <b>CI Improvements</b>
<ul>
<li> The OptServer is now tested in CI. </li>
<li> <span class="secondo">Secondo</span> could handle more than 25 parallel clients (verified by CI). </li>
<li> The CI now builds also on OS X. </li>
<li> A GitHub workflow is used now to build the <code>.deb</code> packages. </li>
</ul>
</li>
<li> <b>Stability</b>
<ul>
<li> All mallocs in the signal handlers are removed; crashing processes now crash and do not deadlock. </li>
<li> In the server mode, processes have the ability to terminate gracefully instead of being killed by signal handlers right in BDB code. </li>
<li> A lot of bugs in the BDB usage were removed:
<ul>
<li> Modified pages are marked as dirty. </li>
<li> Custom file usage tracking removed. </li>
<li> Cursor leaks are fixed. </li>
<li> Errors are propagated. </li>
<li> Race conditions are eliminated. </li>
<li> Deadlocks on catalog access are removed by using the proper tx context. </li>
<li> The BDB now refuses to start when not all components are initialized properly. </li>
</ul>
</li>
<li> Network sockets are hardened:
<ul>
<li> No lingering for faster server shutdowns. </li>
<li> Keepalive is set to detect gone clients. </li>
<li> OS return codes are honored properly. </li>
<li> Failing operations are retried if needed. </li>
<li> Errors are classified, and a lot of potential 100% CPU spin loops in the error case are removed. </li>
</ul>
</li>
<li> The <code>SecondoRegistrar</code> now uses a modern <code>poll()</code> based infrastructure. Multiple clients can be served; one blocking client can no longer stall the entire connection handling. </li>
<li> The <code>SecondoMonitor</code> now monitors subprocesses – crashes are directly reported. </li>
<li> Show log in the monitor now works and uses a bounded log buffer. </li>
<li> The <code>SecondoCheckpoint</code> checks now periodically for lock pressure; a lock shortage will be reported. </li>
<li> Subprocesses are properly terminated when their parent dies (e.g., CTRL+C cannot be used to terminate the monitor, all connections, and processes). </li>
<li> Shutdown logic now distributes signals properly to child processes and gives them a chance to terminate. </li>
<li> Use <code>sigaction</code> instead of <code>signal</code> to have a predictable contract. </li>
<li> Use <code>close_range</code> when possible to free parent fd's. Saves ~524288 syscalls/550ms CPU time per network connection. </li>
</ul>
</li>
<li> <b>Misc</b>
<ul>
<li> Introduce <code>SECONDO_NO_SIGNAL_HANDLERS</code> to be able to skip <span class="secondo">Secondo</span>'s custom signal/crash handlers to get proper core dumps. </li>
<li> Removed unused <code>readline</code> environment variable. </li>
<li> <code>.deb</code> packages are now hosted by GitHub. </li>
</ul>
</li>
</ul>
</div>
<h2> 11.02.2022 – Development migrated to git/GitHub </h2>
<div class="short">
So far, <span class="secondo">Secondo</span> was developed in a self-hosted CVS
repository. This project here was only a read-only mirror of the CVS repository.
We have now completed the migration to git, and this repository is used for the
development.
</div>
<h2> 03.09.2021 – SECONDO 4.3.0 released </h2>
<div class="short">
We are happy to announce the release of <span class="secondo">Secondo</span> 4.3.0.
See the <a href="content_releasenotes.html">Release Notes</a> for more information.
</div>
<h2> 23.08.2021 – Parallel building </h2>
<div class="short">
The current version of <span class="secondo">Secondo</span> supports the
parallelization of the building process (e.g., <code>make -j 32</code>). This allows
to build <span class="secondo">Secondo</span> much faster. We measured a building
time of 13 minutes (parallel) vs. 71 minutes (sequential) on our test system.
</div>
<h2> 01.08.2021 – Debian 11 is supported </h2>
<div class="short">
We are happy to announce that Debian 11 is now supported by
<span class="secondo">Secondo</span>.
</div>
<h2> 10.03.2021 – M1 (ARM64) based Apple computers are now a supported platform </h2>
<div class="short">
<span class="secondo">Secondo</span> now supports Apple computers with an M1 (ARM64)
CPU as platform. See the <a href="content_install.html">Install Guide</a> for more
information. Please note that no manual download of the BerkeleyDB or SWI-Prolog is
required anymore. All dependencies on macOS are now managed by Homebrew.
</div>
<h2> 20.01.2021 – Ubuntu 20.10 is supported </h2>
<div class="short">
We are happy to announce that Ubuntu 20.10 is now supported by
<span class="secondo">Secondo</span>. The source code can now be built by
<i>gcc 10</i> and <i>SWI-Prolog 8.2</i> is supported.
</div>
<h2> 18.12.2020 – SECONDO source code available on GitHub </h2>
<div class="short">
The <span class="secondo">Secondo</span> source code is available on
<a href="https://github.com/secondo-database/secondo" target="_blank">GitHub</a>.
The repository was originally a read-only mirror of the CVS repository; the project
has since retired CVS and switched completely to this repository.
</div>
<h2> 11.12.2020 – New article about debugging SECONDO on macOS </h2>
<div class="short">
A new article about the debugging of <span class="secondo">Secondo</span> on macOS is
<a href="content_debugging.html#lldb">available</a>.
</div>
<h2> 03.12.2020 – Website is available on GitHub </h2>
<div class="short">
The website of the project is now available on
<a href="https://secondo-database.github.io/">https://secondo-database.github.io/</a>.
</div>
<h2> 15.11.2020 – macOS 11 Big Sur – SECONDO SDK available </h2>
<div class="short">
An SDK for macOS 11 (Big Sur) is now
<a href="files/Installation/Mac/Bigsur-Installation-Guide.html">available</a> for download.
</div>
<h2> 01.10.2020 – Bison 3.0 deprecation warnings </h2>
<div class="short">
All Bison 3.0 deprecation warnings (<code>warning: deprecated directive</code>) are fixed
in the current version of the software.
</div>
<h2> 24.09.2020 – C++17 </h2>
<div class="short">
We have changed the used C++ standard in the project to C++17. This means that you can use
these new
<a href="https://gcc.gnu.org/projects/cxx-status.html#cxx17" target="_blank">language features</a>
in your code. Please note that you have to run <code>make clean</code> to re-build the
complete project.
</div>
<h2> 23.09.2020 – Removal of the '-D_GLIBCPP_DEPRECATED' compiler flag </h2>
<div class="short">
Until now, <span class="secondo">Secondo</span> was built with the flag
<code>-D_GLIBCPP_DEPRECATED</code> to get access to some deprecated functions in the glibc.
The code base was updated and these functions are not used anymore. Therefore, the compiler
flag was removed.
</div>
<h2> 22.09.2020 – Build server is upgraded to openSUSE Leap 15.2 </h2>
<div class="short">
We have successfully upgraded the build- and CVS-server to openSUSE Leap 15.2; the system is
now up and running.
</div>
<div class="footnote">
Last Changed: 2026-07-21 (JNI)
</div>