nebeker

joined 9 months ago
[–] nebeker@programming.dev 1 points 4 months ago (1 children)

I’m inferring based on the deprecation of YEAR(4) and the conversion time window that obviously needs to be updated at some point.

[–] nebeker@programming.dev 3 points 4 months ago (3 children)

To answer the part of your question I think is most fun, there is a standard for SQL. There are many dialects of SQL, but you’ll often hear of “ANSI SQL.” The latest version is SQL:2023.

Looking at the MySQL manual entry for the YEAR type, I think we can conclude two things:

  1. The developers consider the possibility of deprecating and removing support for time data type features;

  2. They use “reasonable defaults” for conversions of 2 digit years, based on the current year.

The good news is it sounds like this issue is being taken into account. I’m sure the conversion window will be adjusted in future version and the data type may be changed or deprecated altogether. I wouldn’t be surprised if they added a YEAR2 though. T-SQL has a datetime2, after all.

[–] nebeker@programming.dev 1 points 5 months ago (1 children)

One of my main concerns with this is the potential for making a lot of separate calls to the DB for a complex data structure. Then again there are trade offs to any architecture.

[–] nebeker@programming.dev 1 points 5 months ago* (last edited 5 months ago) (3 children)

The insert on their Getting Started guide.

let new_post = NewPost { title, body };

diesel::insert_into(posts::table)
    .values(&new_post)
    .returning(Post::as_returning())
    .get_result(conn)
    .expect("Error saving new post")

Of course the other possibility is this guide is very low on abstractions.

[–] nebeker@programming.dev 7 points 5 months ago (5 children)

Just learning. I threw together a little CRUD API in Rocket the other day.

Now I’m playing around with Diesel. I don’t love the intermediate New types, coming from EF Core. Is that because Rust ~~~~doesn’t really have constructors?

view more: ‹ prev next ›