Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/share/stat/ob_dbms_stats_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,12 @@ int ObDbmsStatsUtils::check_is_stat_table(share::schema::ObSchemaGetterGuard &sc
if (OB_FAIL(check_is_sys_table(schema_guard, tenant_id, table_id, is_valid))) {
LOG_WARN("failed to check is sys table", K(ret));
}
} else if (is_virtual_table(table_id)) {//check virtual table
} else if (is_virtual_table(table_id)) {
#ifdef _WIN32
is_valid = false;
#else
is_valid = !is_no_stat_virtual_table(table_id);
#endif
} else if (OB_FAIL(schema_guard.get_table_schema(tenant_id, table_id, table_schema))) {
LOG_WARN("failed to get table schema", K(ret), K(tenant_id), K(table_id));
} else if (OB_ISNULL(table_schema) || OB_UNLIKELY(!table_schema->is_normal_schema())) {
Expand Down
4 changes: 2 additions & 2 deletions src/share/vector/ob_discrete_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ int ObDiscreteBase::to_rows(const sql::RowMeta &row_meta, sql::ObCompactRow **st
if (OB_LIKELY(!is_collection_expr())) {
for (int64_t i = 0; i < size; i++) {
int64_t row_idx = selector[i];
if (nulls_->at(row_idx)) {
if (nulls_->at(row_idx) || OB_UNLIKELY(nullptr == ptrs_[row_idx])) {
stored_rows[i]->set_null(row_meta, col_idx);
} else {
stored_rows[i]->set_cell_payload(row_meta, col_idx, ptrs_[row_idx], lens_[row_idx]);
Expand All @@ -51,7 +51,7 @@ int ObDiscreteBase::to_rows(const sql::RowMeta &row_meta, sql::ObCompactRow **st
int ret = OB_SUCCESS;
if (OB_LIKELY(!is_collection_expr())) {
for (int64_t row_idx = 0; row_idx < size; row_idx++) {
if (nulls_->at(row_idx)) {
if (nulls_->at(row_idx) || OB_UNLIKELY(nullptr == ptrs_[row_idx])) {
stored_rows[row_idx]->set_null(row_meta, col_idx);
} else {
stored_rows[row_idx]->set_cell_payload(row_meta, col_idx, ptrs_[row_idx], lens_[row_idx]);
Expand Down
4 changes: 3 additions & 1 deletion src/sql/engine/basic/ob_chunk_datum_store.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1371,8 +1371,10 @@ static void assign_datums(const ObDatum **datums, const uint16_t selector[], con
ObDatum &dst = srow->cells()[col_idx];
dst.pack_ = src.pack_;
dst.ptr_ = reinterpret_cast<char *>(srow) + srow->row_size_;
if (!src.is_null()) {
if (!src.is_null() && OB_LIKELY(nullptr != src.ptr_)) {
T::assign_datum_value((void *)dst.ptr_, src.ptr_, src.len_);
} else if (OB_UNLIKELY(!src.is_null() && nullptr == src.ptr_)) {
dst.set_null();
}
srow->row_size_ += src.len_;
}
Expand Down
2 changes: 2 additions & 0 deletions src/sql/engine/expr/ob_expr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1056,6 +1056,8 @@ int ObExpr::init_vector(ObEvalCtx &ctx,
int32_t *lens = get_discrete_vector_lens(ctx);
ObBitVector &nulls = get_nulls(ctx);
nulls.reset(size);
MEMSET(ptrs, 0, sizeof(char *) * size);
MEMSET(lens, 0, sizeof(int32_t) * size);
// for collection expr, we need reset ptr to frame, so that we can write collection cells
if (use_reserve_buf || is_nested_expr()) {
reset_discretes_ptr(ctx.frames_[frame_idx_], size, get_discrete_vector_ptrs(ctx));
Expand Down
34 changes: 6 additions & 28 deletions tools/windows/installer/wix_launch_configurator.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,6 @@
failed to link for some reason.
-->
<Fragment>
<!-- Read the configurator exe path persisted to the registry during
install. AppSearch runs early in every session (install, uninstall,
repair) so the property is available when custom actions fire.
This is critical for uninstall: the Directory-table default for
INSTALL_ROOT may revert to the compile-time default, but this
property always reflects the ACTUAL installed location. -->
<Property Id="SEEKDB_CONFIGURATOR_EXE">
<RegistrySearch Id="FindConfiguratorExe" Root="HKLM"
Key="Software\SeekDB" Name="ConfiguratorExe" Type="raw" />
</Property>

<!-- Wire the ExitDialog's Finish button to fire LaunchApplication
when the checkbox is checked. WixUI shows the checkbox but
does NOT include this Publish by default — we must add it.
Expand All @@ -33,34 +22,27 @@
Condition="WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed" />
</UI>

<!-- Type 34 custom action: fire-and-forget launch of Configurator (install).
During install [INSTALL_ROOT] is always correctly resolved by the
session, so Type 34 (Directory + ExeCommand) works fine here. -->
<!-- Type 34 custom action: fire-and-forget launch of Configurator (install). -->
<CustomAction Id="LaunchApplication"
Directory="INSTALL_ROOT"
ExeCommand="&quot;[INSTALL_ROOT]bin\seekdbConfigurator.exe&quot;"
Execute="immediate"
Return="asyncNoWait" />

<!-- Type 50 custom action: launch Configurator in remove mode (uninstall).
Uses the SEEKDB_CONFIGURATOR_EXE property (populated from the
registry by AppSearch) so the correct path is resolved even when
the user chose a non-default install directory. Type 34 with
Directory="INSTALL_ROOT" failed in that scenario because the
directory property could revert to its default value during
uninstall, pointing to a non-existent path.
<!-- Type 34 custom action: launch Configurator in remove mode (uninstall).
Runs synchronously so removal completes before MSI deletes files.
Return="ignore" ensures uninstall proceeds even if user cancels. -->
<CustomAction Id="RunConfiguratorRemove"
Property="SEEKDB_CONFIGURATOR_EXE"
ExeCommand="--remove"
Directory="INSTALL_ROOT"
ExeCommand="&quot;[INSTALL_ROOT]bin\seekdbConfigurator.exe&quot; --remove"
Execute="immediate"
Return="ignore" />

<!-- Schedule the removal configurator before files are deleted.
Only runs on full uninstall (not upgrades). -->
<InstallExecuteSequence>
<Custom Action="RunConfiguratorRemove" Before="RemoveFiles"
Condition="(REMOVE=&quot;ALL&quot;) AND (NOT UPGRADINGPRODUCTCODE) AND SEEKDB_CONFIGURATOR_EXE" />
Condition="(REMOVE=&quot;ALL&quot;) AND (NOT UPGRADINGPRODUCTCODE)" />
</InstallExecuteSequence>

<!-- Add bin/ to system PATH (cleanly removed on uninstall). -->
Expand All @@ -70,10 +52,6 @@
Permanent="no" Part="last" Action="set" System="yes" />
<RegistryValue Root="HKLM" Key="Software\SeekDB" Name="PathConfigured"
Type="integer" Value="1" KeyPath="yes" />
<RegistryValue Root="HKLM" Key="Software\SeekDB" Name="InstallRoot"
Type="string" Value="[INSTALL_ROOT]" />
<RegistryValue Root="HKLM" Key="Software\SeekDB" Name="ConfiguratorExe"
Type="string" Value="[INSTALL_ROOT]bin\seekdbConfigurator.exe" />
</Component>
</DirectoryRef>
</Fragment>
Expand Down
Loading