--- title: Databend 开源周报第 153 期 description: slug: databend-weekly-153 date: 2024-07-15 tags: [weekly] category: Weekly cover_url: 'weekly/weekly-153.jpg' image: 'weekly/weekly-153.jpg' contributors: - name: andylokandy - name: b41sh - name: BohuTANG - name: Chasen-Zhang - name: dantengsky - name: dqhl76 - name: drmingdrmer - name: everpcpc - name: forsaken628 - name: Freejww - name: kkk25641463 - name: lewiszlw - name: lichuang - name: PsiACE - name: SkyFan2002 - name: soyeric128 - name: sundy-li - name: TCeason - name: Xuanwo - name: youngsofun - name: zhang2014 authors: - databendlabs --- > [Databend](https://github.com/datafuselabs/databend) 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:[https://app.databend.cn](https://app.databend.cn) 。 ## What's On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend。 ### 支持必须更改密码选项 Databend 现在已经支持在创建或修改用户时设置 `must_change_password` 选项,确保新用户在首次登录后必须更改密码。这一功能有助于提升账户安全性,防止初始密码泄露风险。 示例如下: ```sql CREATE USER user1 IDENTIFIED BY 'abc123' WITH MUST_CHANGE_PASSWORD = TRUE; ``` 首次登录后,用户必须更改密码,才能执行其他操作: ```sql ALTER USER user() IDENTIFIED BY 'new_password'; ``` 如果您想了解更多信息,欢迎联系 [Databend 团队](https://databend.cn/contact-us/),或查看下面列出的资源。 - [PR #16031 | feat: support must change password option for create user](https://github.com/datafuselabs/databend/pull/16031) ## Beyond the Code 一起来探索 Databend 社区和周边生态中的新鲜事。 ### 工程实践:美化 panic 时的输出 为了提升调试体验和系统的可维护性,Databend 近期引入了一些新的工程实践:在系统发生崩溃(panic)时,能够优雅地打印回溯信息。这一功能由 `color-backtrace` crate 提供支持,专注于提升回溯信息的可读性,帮助开发者快速定位和解决问题,特别适用于单元测试和集成测试场景。 下面是一个输出示例: ```shell async crash me panic backtrace=━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⋮ 8 frames hidden ⋮ 9: <databend_query::table_functions::async_crash_me::AsyncCrashMeSource as databend_common_pipeline_sources::async_source::AsyncSource>::generate::{{closure}}::{{closure}}::hb4424612e239a1a3 at /home/andy/Code/databend/src/query/service/src/table_functions/async_crash_me.rs:162 160 │ async fn generate(&mut self) -> Result<Option<DataBlock>> { 161 │ match &self.message { 162 > None => panic!("async crash me panic"), 163 │ Some(message) => panic!("{}", message), 164 │ } 10: <async_backtrace::framed::Framed<F> as core::future::future::Future>::poll::{{closure}}::h200f9088a15cb010 at /home/andy/.cargo/git/checkouts/async-backtrace-dc8b2c67d0719549/dea4553/backtrace/src/framed.rs:49 47 │ let frame = this.frame; 48 │ let future = this.future; 49 > frame.in_scope(|| future.poll(cx)) 50 │ } 51 │ } ``` - [Issue #16024 | feat: pretty print backtrace on panic](https://github.com/datafuselabs/databend/pull/16024) ## Highlights 以下是一些值得注意的事件,也许您可以找到感兴趣的内容。 - 增强表名区分大小写错误的提示。 - 新增表函数 `set_cache_capacity`。 - 新增设置项 `sort_spilling_batch_bytes` 和 `enable_dst_hour_fix` 。 - 实现 ST_CONTAINS、ST_SETSRID 和 ST_NPOINTS 等函数。 ## What's Up Next 我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。 ### 支持数据分支 Databend 的 FUSE 引擎拥有与 git 类似的机制,并且支持包括 Time Travel 在内的高级特性。 目前,Databend 团队计划支持从特定快照创建分支的能力。通过创建自定义数据分支,有助于对现有表上的新工作进行实验性测试和数据验证,而无需停止现有的读写工作流程,也无需从主分支复制数据。 [Issue #15985 | Feature: fuse table support manage branches from snapshot point](https://github.com/datafuselabs/databend/issues/15985) 如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运! ## New Contributors 一起认识社区中的新伙伴,Databend 因你们而变得更加美好。 * [@lewiszlw](https://github.com/lewiszlw) 新增指向 databend-common-ast 的链接,[#16010](https://github.com/datafuselabs/databend/pull/16010) 。 ## Changelog 前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。 地址:https://github.com/datafuselabs/databend/releases ## Contributors 非常感谢贡献者们在本周的卓越工作。  ## Connect With Us Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。 - [Databend Website](https://databend.com) - [GitHub Discussions](https://github.com/datafuselabs/databend/discussions) - [Twitter](https://twitter.com/Datafuse_Labs) - [Slack Channel](https://link.databend.rs/join-slack)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up