home.social

#predicate — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #predicate, aggregated by home.social.

  1. Nothing to see here, just a beautiful new Swift Evolution pitch that allows complex #Predicate building 🤯 It's early days, but this could perhaps become the NSCompoundPredicate equivalent SwiftData has been missing all this time 👀 forums.swift.org/t/pitch-initi

  2. @bok @tonyarnold Do you have any examples you can share of where type inference was impacted? Also worth noting that you can always write SQL strings still in a schema safe manner: github.com/pointfreeco/swift-s

    That still leverages the static symbols of your schema but in a safe SQL string.

    The type-safety and schema-safety in our query library has its tradeoffs. We want people to be able to write safe SQL queries, but it often seems like Swift's variadic generics are not up for the job.

    Also worth noting that SwiftData's #Predicate breaks down even sooner and more spectacularly from our experience. It's just a hard problem to solve, and that's why we expose an API for safe SQL strings.

  3. @twostraws One thing #Predicate didnt provide is a way to build a query dyamically. Users want to toggle various filters and customize search terms, but compile-time predicates won’t deliver.

  4. SwiftData's #Predicate macro looks like pure Swift but gets compiled into something else entirely. Some things crash at runtime, some silently return nothing, and !value can behave differently to value == false. 😅 hackingwithswift.com/quick-sta

  5. Техническая внутренняя кухня StarRocks: оптимизация JOIN — от логики до распределённого выполнения

    Как StarRocks добивается высокой производительности JOIN-запросов в аналитических нагрузках. В материале — практическая кухня оптимизатора: какие типы JOIN эффективнее и когда их стоит конвертировать (например, CROSS→INNER, OUTER→INNER при NULL‑отвергающих предикатах), как работает predicate pushdown, извлечение предикатов из OR, вывод эквивалентностей и pushdown LIMIT. Разбираем Join Reorder для многотабличных запросов (Left‑Deep, Exhaustive, Greedy, DPsub), модель стоимости (CPU*(Row(L)+Row(R))+Memory*Row(R)) и выбор лучшего плана. На уровне распределённого исполнения — MPP‑архитектура, свойства распределения (Distribution Property) и узлы Exchange; пять базовых планов: Shuffle, Broadcast, Bucket Shuffle, Colocate и экспериментальный Replicate Join. Плюс Global Runtime Filter (Min/Max, IN, Bloom) для ранней фильтрации на Scan. Даем практические принципы: используйте более быстрые типы JOIN, стройте хеш по малой таблице, в многоJOINовых запросах сперва выполняйте высокоселективные соединения, сокращайте объём данных и сетевой трафик. Материал для инженеров данных, DBA, разработчиков OLAP и всех, кто проектирует производительные SQL‑планы.

    habr.com/ru/articles/943050/

    #starrocks #join #оптимизация_запросов #mpp #распределенный #predicate #olapкубы

  6. Техническая внутренняя кухня StarRocks: оптимизация JOIN — от логики до распределённого выполнения

    Как StarRocks добивается высокой производительности JOIN-запросов в аналитических нагрузках. В материале — практическая кухня оптимизатора: какие типы JOIN эффективнее и когда их стоит конвертировать (например, CROSS→INNER, OUTER→INNER при NULL‑отвергающих предикатах), как работает predicate pushdown, извлечение предикатов из OR, вывод эквивалентностей и pushdown LIMIT. Разбираем Join Reorder для многотабличных запросов (Left‑Deep, Exhaustive, Greedy, DPsub), модель стоимости (CPU*(Row(L)+Row(R))+Memory*Row(R)) и выбор лучшего плана. На уровне распределённого исполнения — MPP‑архитектура, свойства распределения (Distribution Property) и узлы Exchange; пять базовых планов: Shuffle, Broadcast, Bucket Shuffle, Colocate и экспериментальный Replicate Join. Плюс Global Runtime Filter (Min/Max, IN, Bloom) для ранней фильтрации на Scan. Даем практические принципы: используйте более быстрые типы JOIN, стройте хеш по малой таблице, в многоJOINовых запросах сперва выполняйте высокоселективные соединения, сокращайте объём данных и сетевой трафик. Материал для инженеров данных, DBA, разработчиков OLAP и всех, кто проектирует производительные SQL‑планы.

    habr.com/ru/articles/943050/

    #starrocks #join #оптимизация_запросов #mpp #распределенный #predicate #olapкубы

  7. Техническая внутренняя кухня StarRocks: оптимизация JOIN — от логики до распределённого выполнения

    Как StarRocks добивается высокой производительности JOIN-запросов в аналитических нагрузках. В материале — практическая кухня оптимизатора: какие типы JOIN эффективнее и когда их стоит конвертировать (например, CROSS→INNER, OUTER→INNER при NULL‑отвергающих предикатах), как работает predicate pushdown, извлечение предикатов из OR, вывод эквивалентностей и pushdown LIMIT. Разбираем Join Reorder для многотабличных запросов (Left‑Deep, Exhaustive, Greedy, DPsub), модель стоимости (CPU*(Row(L)+Row(R))+Memory*Row(R)) и выбор лучшего плана. На уровне распределённого исполнения — MPP‑архитектура, свойства распределения (Distribution Property) и узлы Exchange; пять базовых планов: Shuffle, Broadcast, Bucket Shuffle, Colocate и экспериментальный Replicate Join. Плюс Global Runtime Filter (Min/Max, IN, Bloom) для ранней фильтрации на Scan. Даем практические принципы: используйте более быстрые типы JOIN, стройте хеш по малой таблице, в многоJOINовых запросах сперва выполняйте высокоселективные соединения, сокращайте объём данных и сетевой трафик. Материал для инженеров данных, DBA, разработчиков OLAP и всех, кто проектирует производительные SQL‑планы.

    habr.com/ru/articles/943050/

    #starrocks #join #оптимизация_запросов #mpp #распределенный #predicate #olapкубы

  8. Техническая внутренняя кухня StarRocks: оптимизация JOIN — от логики до распределённого выполнения

    Как StarRocks добивается высокой производительности JOIN-запросов в аналитических нагрузках. В материале — практическая кухня оптимизатора: какие типы JOIN эффективнее и когда их стоит конвертировать (например, CROSS→INNER, OUTER→INNER при NULL‑отвергающих предикатах), как работает predicate pushdown, извлечение предикатов из OR, вывод эквивалентностей и pushdown LIMIT. Разбираем Join Reorder для многотабличных запросов (Left‑Deep, Exhaustive, Greedy, DPsub), модель стоимости (CPU*(Row(L)+Row(R))+Memory*Row(R)) и выбор лучшего плана. На уровне распределённого исполнения — MPP‑архитектура, свойства распределения (Distribution Property) и узлы Exchange; пять базовых планов: Shuffle, Broadcast, Bucket Shuffle, Colocate и экспериментальный Replicate Join. Плюс Global Runtime Filter (Min/Max, IN, Bloom) для ранней фильтрации на Scan. Даем практические принципы: используйте более быстрые типы JOIN, стройте хеш по малой таблице, в многоJOINовых запросах сперва выполняйте высокоселективные соединения, сокращайте объём данных и сетевой трафик. Материал для инженеров данных, DBA, разработчиков OLAP и всех, кто проектирует производительные SQL‑планы.

    habr.com/ru/articles/943050/

    #starrocks #join #оптимизация_запросов #mpp #распределенный #predicate #olapкубы

  9. It’s not possible to use the Swift #Predicate macro with a CoreData NSFetchRequest (which needs NSPredicate), right?

    Or am I missing something?

  10. @tba Not a feedback yet, but I was getting the following error below when using this predicate)

    let impAssociation = #Predicate<ObjcMethod> {
    // This will catch Foundation and CoreFoundation
    showUnassociatedImps || $0.impPath.localizedStandardContains($0.path) || $0.impPath.localizedStandardContains("CoreFoundation.framework") || $0.impPath.localizedStandardContains("/Foundation.framework")
    }

    “$0.impPath.localizedStandardContains($0.path)” was the culprit.

    mastodon.social/@rosyna/114829

  11. @marcel Should be possible with something like this (untested):

    Query(filter: #Predicate<Object> { object in
    object.date > dateA && object.date < dateB
    })

  12. Starting a new project for Day 57, so don’t have much to show so far. We’re learning how to edit SwiftData objects with SwiftUI and filter data using #Predicate. #100DaysOfSwiftUI

  13. I'm toying with SwiftData and the #Predicate stuff seems really bad? A predicate that references an enum doesn't seem to be able to compile: "Member access without an explicit base is not supported in this predicate".

    I can get it to work if before building the predicate I map the enum to it's rawValue (String in this case) and then inside the predicate I hardcode the rawValue's strings. That's horrible and it'll break in no time...

    Am I missing something?

  14. Near the end of part 3 of his Prolegomena to any Future Metaphysics, Immanuel Kant compares his systematic deduction of the categories against Aristotle's "rhapsody" account

    soundcloud.com/gregorybsadler/
    #Podcast #Kant #Aristotle #Categories #Metaphysics #Philosophy #Predicate

  15. @ifarouk @fatbobman i havent used the predicate macro myself so far but i think it needs to know of which type it is. So it should be something like #Predicate<Place> {…} i think 🤔

  16. @JetForMe #Predicate was added to the Foundation framework rather than the Swift Standard Library, so it didn’t have the same formal review process at the time as other pitches you might’ve seen for the language or stdlib itself. With the new swift-foundation package we’ve started formalizing a new process adjacent to Swift Evolution for changes to Foundation - you can find more details at github.com/apple/swift-foundat as the process evolves over time!

  17. Was there an accepted Swift Evolution proposal for #Predicate? There was a [pitch](forums.swift.org/t/pitch-swift), but i can't find where it was accepted into the language.

    #Swift

  18. @natpanferova this is great! I just learnt about this today in fact, in the context of the new #predicate macro.

  19. OK I found the problem. The underlying Query for folders delivered all folders, not only the parents. This is the way it works:
    @Query(filter: #Predicate<Folder> { $0.parentFolder == nil }) var folders : [Folder]

  20. @helge My Swift Data has Four major Classes, A Person, A Gallery Card, A Specific Card, and an EventType. You can create new EventTypes, And New Cards for the Gallery. A Card in the Gallery must have an Event Type. I can dynamically filter that view - by setting a "selectedEvent" and then in my Init I set the GalleryCard via @Query(filter: #Predicate {$0.eventType?.persistentModelID == selectedEvent.presistentModelID}). However, When I want to create a new specific Card, …

  21. Today I finished Day 57 of #100DaysOfSwiftUI
    It is a technique project and I will learn a lot more about SwiftData. Todays learning was all about editing SwiftData and filtering @Query with #Predicate. I also took some time to google and try to understand what the @Enviroment propperty wraper is all about. Because with SwiftData you have to use that, but I didn’t got why. Now I know.
    #Swift #SwiftUI #iOSDev

  22. SwiftData developer experience

    @Observable: 🥰
    @Model: 😎
    #Predicate: 🤮

  23. Continuing on with the new Sadler's Lectures podcast series on Aristotle's Categories, here's an episode on the topic that totally tripped me up the first time I studied the work!

    soundcloud.com/gregorybsadler/
    #Podcast #Aristotle #Categories #Subject #Predicate #Language #Philosophy

  24. I need a clear description of how to build #SwiftData predicates programmatically. I have two orthogonal scope-like settings so there would be an explosion of code copying if I must use #Predicate to create the FetchDescriptor.

  25. I'm trying to use #Predicate to check if an optional date is in today's date. Normally I'd use Calendar's isDateInToday but that's not supported. Has anybody managed to achieve something similar?