Live data from Hacker News

Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

github.com

661–670 of 756 posts

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#661
post #584

Don’t understand these rewrites. - typically they are behind a single person. That’s usually bad because of spf - typically they are achieved in a very short amount of time, so the author hasn’t acquired any discipline in creating the project. That means it’s unlikely the author is going to stick to the project in the mid and long term - anyone that wants to contribute to the project needs to pay. Needs to pay tokens…

This is very critical of an open source project that the maintainer didn't even post here? "Status: pgrust is not production-ready yet. It is not performance optimized yet." The maintainer is not suggesting you use this for anything yourself. So why do you care about spf or (lol) his "discipline in creating the project"?

The author is free to ignore any and all complaints they consider unfounded. It’s not even like the author is recieving any complaints personally; they have to come here to see any. And if they come here, they will get to read the viewpoint visible from here.

(Repost of https://news.ycombinator.com/item?id=45253509>)

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#662
post #626

If you can do a Rust rewrite with AI, I can create one as well. What makes yours better than mine? Your decade long expertise in database or Rust language? Your reputation? Your proven track record to manage large, complex projects? Your time committed to the project? I don't see any of that. I don't know why anyone would choose this over the actively (community) maintained proper Postgres project.

His project is cool. Students could use it as an example of porting code. Companies could switch to it, if it works. There are hundreds of reasons why people may want it, so it's awesome he's publishing one. Something needs to be done to get interest and then adoption.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#663
post #626

If you can do a Rust rewrite with AI, I can create one as well. What makes yours better than mine? Your decade long expertise in database or Rust language? Your reputation? Your proven track record to manage large, complex projects? Your time committed to the project? I don't see any of that. I don't know why anyone would choose this over the actively (community) maintained proper Postgres project.

Just keep using the proper Postgres project if it makes more sense to you. But notice that this isn't just a strict translation, it actually makes changes (moving from process to thread based design, for instance). Time will tell if people find these changes beneficial or if the original remains preferable.

It's also worth noting, that while you are able to use LLM's to produce your own translation, he's actually done it. There's value in actually putting in the work.

This isn't a unique situation at all. Many Postgres extensions are developed and maintained by a single person, and may therefore be avoided by more conservative users, even if they offer some technical advantages. To each, their own.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#664

Earlier quoted context omitted.

Yeah. I'm gonna have an LLM rewrite Star Wars and then film it. Should be fine, right?

Making a movie that has basically the same plot as a previous movie with slight changes is a common occurrence. The thing you have to be wary of with movies is trademark law. Your Star Wars copy can't use the word "Darth Vader", that's trademarked. It can't use Darth Vader's mask, Darth Vader's suit or Darth Vader's breathing either, all trademarked. And with trademark law the bar to pass is basically "would a reason…

Spaceballs is a parody, which is specifically an exception to the rules; it’s called “fair use”. If Spaceballs was not a comedy, it would not be permitted to exist.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#665
post #626

If you can do a Rust rewrite with AI, I can create one as well. What makes yours better than mine? Your decade long expertise in database or Rust language? Your reputation? Your proven track record to manage large, complex projects? Your time committed to the project? I don't see any of that. I don't know why anyone would choose this over the actively (community) maintained proper Postgres project.

Came here to the same thing. I did something similar (but bolder, it doesn't slavishly copy Postgres and is based on current DB research papers and the like, and other bits I've been exposed to over the years). It has a full TPC-C-esque benchmark suite, replication, embedded v8/JavaScript relations/stored procedures, a giant suite of regression tests, it kicks the crap out of a lot of existing OLTP DB stuff out there…

Author of this project is not that different than you. The only difference is that he is willing to take the risk. If you have an invention and sit on it, nothing will happen.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#666

Earlier quoted context omitted.

C programmer have learned how to deal with memory problems and have whole suites of tools for finding them. Is it cheaper to find them at compile time rather than runtime? Yes. But it’s not an unsolved problem. Memory bugs are a known unknown.

except that lately we've had a ton of CVE related to memory, so in practice it's not exactly right.

Rust itself has CVEs. Which projects are you referring to?

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#667
post #437

Earlier quoted context omitted.

Note that most of the unsafes are confined to the parser which was generated by running c2rust over the Postgres parser. The Postgres parser is itself generated from yacc/bison, so I decided to port it over mechanically rather than idiomatically. If there's particular unsafes that you think are egregious, let me know.

Just wanted to say: I'm thoroughly impressed with how far in the weeds you're replying in this comment section. I'm learning a lot from the threads.

Same. Sorry to see so much hate here.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#668

Earlier quoted context omitted.

IAAL (not legal advice) and I’m not sure the issue is settled. The BSD license only explicitly permits the author “to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement.” By default, the owner of a protected work retains all rights not conveyed to someone else. Changing the license isn’t one of the enumerated activities, and so I think t…

You are not really changing the license of the original work though. You are not impacting what the author or anyone else can do. You are distributing a copy under different, more restrictive terms. A bit like me buying a comic book, then offering to sell it to you under the condition that you never let my brother read it and that you make any future owner agree to the same terms. That's perfectly legal, and there is…

A comic book is a physical object. This analogy doesn’t hold. When you give a comic book to someone, you’re only transferring the copy and its implied license that carries with it. You can set the terms of the physical object, but you can’t change the license of the content within it.

Suppose you get a license to view a copy of a work (streaming or a paid subscription to a newspaper site). Your permission to consume the media begins and ends with the license terms, which allow you to view the work (and, since it’s necessary, to make a transient copy) during the period of the subscription. You don’t get to relicense it to someone else under those terms.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#669

Earlier quoted context omitted.

You are not really changing the license of the original work though. You are not impacting what the author or anyone else can do. You are distributing a copy under different, more restrictive terms. A bit like me buying a comic book, then offering to sell it to you under the condition that you never let my brother read it and that you make any future owner agree to the same terms. That's perfectly legal, and there is…

Your redistribution license only applies to the part you own copyright on. Everything else is still under the original license. You can add AGPL but that doesn't take away the BSD license from the parts you didn't create.

I’m not sure it’s so easily severable in this case.

Re: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

#670

Earlier quoted context omitted.

Do you pick your databases based on how quickly they compile and how many dependencies they have? I normally chose based on factors like performance and reputation for reliability

Reputation for reliability can be directly impacted by thousands of upstream dependencies, though.

True, but internal dependencies aren’t upstream. I care very little how a project is laid out on disk before it’s built unless I’m going to work on the source.
Post reply on HN