Author: way0utwest

  • Information Schema Strangeness

    There was a Slack thread at Redgate recently where a developer was showing some code where they decided to use the “extra” column from the information_schema.columns view. They were making decisions on how to detect certain metadata about a column based on the data in this column. Apparently, the data in here is overloaded for different options that might be set on a table.

    This caught my eye because I had no idea there was a column named “extra” in this view. I flipped over to SSMS and decided to check what was being stored in here. To my surprise, there was no “extra” column. As I dug in a little deeper in the thread, I realized the developer was talking about Information_schema.columns in a MySQL database.

    That was a surprise to me. While I know different platforms will add features and functionality to their databases, I thought the information_schema views were consistent across platforms. They should give you a set of information you can count on. Apparently, that’s not true. You can count on some things, but not all, which means that these aren’t consistent structures.

    Perhaps it doesn’t matter. It seems every product out there will extend the SQL “standard” where they see fit, adding features or functions that suit particular use cases. Commercial vendors do this for profit, and OSS projects likely do this because an individual wants a change. That has resulted in a wide variety of database platforms that meet different needs and solve different problems.

    It would be nice if we could write SQL code and be sure it would run on SQL Server, Oracle, Snowflake, PostgreSQL, or any platform. And in many cases, we can. Lots of basic queries are the same. However, what would be the point? I certainly don’t want more people in management wanting to switch from one platform to the other, just because they feel like it. I’d imagine that we’d thrash between platforms every time a senior developer or VP decided a system should run on their favorite platform.

    A base standard is good, like a base class in programming. However, they aren’t always as useful as they seem, and extending them to meet needs is better for us all. I don’t need a standard implementation of the SQL language or the information_schema views, it was just a surprise to realize that this actually how the platforms are coded.

    Note: If you find this interesting, I had a discussion recently with a few others in a webinar.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • PASS Data Community Summit 2023 Registration is Open

    You can register today for the 2023 PASS Data Community Summit. This year the event is in Seattle, Nov 14-17, and in-person only. The event was a lot of fun last year, with many great sessions and lots of networking with fellow data professionals.

    I’m looking forward to this year’s event. I have submitted a session, though I am hoping for less of a load this year. Last year I had a session, hosted a panel, MC’d two lightning talk hours, was a part of two keynotes, and I’m sure I’m forgetting something. This year I hope to have a few less commitments and see more sessions and friends.

    There is a lot to learn, and this is a great chance to talk with many of the SQL Server developers from Microsoft. With the event in Seattle, I expect a lot of them to attend. It’s also the chance to talk to many of the experts in the community. People like Erik Darling, Allan Hirt, Glenn Berry, and more.

    This is the cheapest rate you can get now. They’ll be a few price bumps, and there might be some discount codes, but you can register for a three day conference for less now. Talk to your boss, get some funding, make a case for the ROI as well as suggestion that sending you helps retention.

    I hope to see you in Seattle this November.

  • Goal Progress for March 2023

    The grade for March is also D. Details below, but just not making a lot of progress in these areas. In fact, I find myself not motivated to work on goals very much. That’s a bit sad, but it’s also where I am in life.

    So far I have for 2023:

    • Jan – D
    • Feb – D
    • Mar – D

    I set goals at the beginning of the year, and I’m tracking my progress in these updates during 2022.

    Reviewing Goals

    The last month has been hectic. Both life outside of work and work have had me tackling lots of little tasks, which is distracting and reduces my energy for focused work. As a result, I haven’t been doing much on these goals.

    I think I’m slightly overloaded, and worried about burnout, so I’m going to ignore goals for Q2.

    Reading

    Two books on the list: marketing and coaching. I haven’t picked a marketing book, but I picked Wolfpack for coaching. With one started and one not, this is an F.

    Progress:

    Career

    My goals:

    • Set up a tracking system based on the book for my efforts with customers
    • Track and calculate my scores to help me better approach how I work with customers.
    • Review this with my boss and with someone in sales

    Rating: B

    I have been tracking my interactions with customers here. There haven’t been a lot, but it is interesting to stop and think about how this is going. I have chatted with my boss and gotten a little feedback.

    Community

    Here are the goals I set.

    • 2 speaking engagements for community (RMOUG Training Days complete. SQL Bits complete)
    • Reach out to 10 SQL Sat groups that did not run an event in 2022 and motivate them for 2023. This should be at least 2 emails to each person/group.
    • Reach out to all 2022 organizers and ask about plans for 2023
    • Start coding a tool for converting schedules to HTML.
    • Hold office hours once in Q1
    • Send 3 monthly SQL Saturday updates to the community

    Rating: D

    I did complete another community (unpaid) speaking engagement. I’ve reached out to a few SQL Saturday groups and we have a few more events on the schedule, but I haven’t had a lot of energy to do this and the limited responses are discouraging.

    Yes, I get discouraged.

    Haven’t started a tool, didn’t hold office hours, two updates sent.

    Personal

    My goals:

    • Use my Power BI report for stats
    • Update the Power BI report based on feedback from athletes
    • Build 6 wooden coasters – I haven’t made enough time for my hobby here, so I’m going to start small. We need more coasters (as noticed over the holidays), so I want to build 6. Same style, different.

    Rating: D

    I haven’t updated the Power BI report. In fact, I found a couple errors in calculations since DAX is a weakness of mine. As a result, I pulled down some pages. I also think my data model is slightly broken and needs work. No time spent on here.

    It’s been cold, and when it isn’t, I’ve had other things to tackle, so no time on wood projects for me. I feel bad about this, but I also know I have too many hobbies. With my Duolingo language stuff, guitar, and then coaching, not a lot of time to spend here.

  • Living With Broken Software

    I travel quite a bit every year. Over 20 trips in 2022 and five trips in the first quarter of 2023. To make life easier, I have a few routines that I use to ensure that travel goes smoothly and I don’t forget things. One of those routines is using a parking service near the airport.

    This company used to have a fairly manual process, though it improved over the years. The pandemic forced them to move to more contactless service, which I appreciated. I could make a reservation online, get a QR code, and use that to both enter and exit the facility without interacting with anyone or handling money. A bit safer, but the big win for me was that this process was quicker for me move into and out of the lot.

    This service worked great in 2021, but sometime in the spring of 2022, I was making a reservation on the mobile app on the way to the airport. After completing the form, I clicked submit and got an error. I wasn’t sure what to do, so I double-checked everything I’d typed and resubmitted.

    Again, an error.

    I tried a third time, feeling a bit frustrated. I’d stopped for coffee and needed to start moving to the airport. For some reason, I decided to check my email. To my surprise, I found a confirmation of the reservation. Actually, I found three, which necessitated me asking for refunds for the two I didn’t need, while then trying to ensure I actually used the correct QR code to get in and out.

    Since then, I’ve used this mobile app multiple times to make reservations, and it always errors but sends a confirmation. I’ve sent a note to the company, but nothing has changed. The web app doesn’t seem to want to work correctly either but has different problems. I’ve tried a couple of other services, but I like this one. I just need to remember to make one reservation, ignore the error, and check my email.

    The tech is broken somewhere. Yet it works. It’s mildly annoying for me, perhaps much more annoying to others. This might dissuade new customers from using the service, though the parking lot seems fairly full most of the time. It’s the kind of thing that I, as a software developer, would want to fix.

    It’s also the kind of thing I could see management not caring about, and instead asking me to focus on new features or other bugs that are preventing customers from using the service.

    There is often more work queued up for software than there are time or resources to tackle them. When anyone is building software, they are constantly making choices about priorities and focus. What do I work on? What should be done first? What bugs need fixing and what bugs can we live with? Working for a software company has helped me keep perspective on the larger picture for a business.

    At the same time, I feel the frustration of a customer when things don’t work as I’d want them to work. Especially when an error is involved. This seems like it should be an easy fix, either catch the error and do something, or at least swallow it from the customer perspective. However, I have no idea how widespread this error is, or if I’m the only one for whom it doesn’t work. A good DevOps process would have instrumentation and monitoring to learn the scope, scale, and criticality of this, and other, bugs.

    Either way, it’s been alternately annoying and humorous to me. It works, and I live with it, sometimes amused that it’s still occurring. Perhaps I’ll even miss seeing the message when or if it gets fixed.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.