🐈
zeeSQL
  • zeeSQL, SQL and search by value for Redis. Fast, Simple and Reliable.
  • How to
    • How to choose between QUERY and EXEC
    • know-what-secondary-indexes-are defined
    • How to load zeeSQL in Redis
    • How to check if an index is used in zeeSQL and SQLite
    • know-what-secondary-indexes-are defined
    • create-an-index
    • create-a-view
    • create-a-secondary-index
    • How to create a trigger
    • quickly-ingest-data
    • How to copy a database
    • get-help
    • work-with-dates
    • using-full-text-search
    • work-with-json
    • How to create a new database in zeeSQL
    • How to create a new table in zeeSQL
    • know-what-tables-are-defined
    • know-what-databases-are-defined
    • works-with-boolean
    • How to get zeeSQL
    • How to get JSON output
    • add-multiple-rows
  • blog
    • node
      • Using RediSQL with Node.js
    • JSON on Redis via RediSQL, SQL steroids for Redis
    • golang
      • Using RediSQL with Go(lang)
    • Doubling the performances of RediSQL, SQL steroids for Redis.
    • zeeSQL now runs on SQLite 3.35
    • Query Redis on two attributes
    • RediSQL for analytics
    • Copying RediSQL databases
    • Release 0.9.0 of RediSQL, SQL steroids for Redis
    • Release 0.8.0 of RediSQL, SQL steroids for Redis
    • Release 0.7.0 of RediSQL, SQL steroids for Redis
    • JSON on Redis via RediSQL, SQL steroids for Redis
    • Release 0.6.0 of RediSQL, SQL steroids for Redis
    • python
      • using-redisql-with-python
    • Release 0.5.0 of RediSQL, SQL steroids for Redis
  • References
  • zeeSQL commits to backward compatibility
  • zeeSQL, a solid product for busy developer
  • zeeSQL and secondary indexes, how to search Redis key by value
  • Tutorial
  • Pricing for zeeSQL
  • Why you should migrate from RediSQL to zeeSQL
  • FAQs
  • Motivation
Powered by GitBook
On this page
  • Namespacing the command
  • Which version of the command to use, with or without version namespace?
  • Conclusions

Was this helpful?

zeeSQL commits to backward compatibility

zeeSQL commits to backward compatibility.

Software written to run on zeeSQL version n should be able to run, unchanged on any version greater than n.

Unfortunately, committing so strictly to backward compatibilities, also means that the APIs that zeeSQL exposes are almost immutable, this is not sustainable.

Hence we offer a very reasonable middle ground.

Namespacing the command

Each command of zeeSQL is namespaced also with its major version.

Now, zeeSQL is at version 1, hence all the commands available in ZEESQL, like ZEESQL.CREATE_DB or ZEESQL.EXEC, are also available in ZEESQL.V1. In the specific case, ZEESQL.CRATE_DB is available also as ZEESQL.V1.CREATE_DB and ZESQL.EXEC is also available as ZEESQL.V1.EXEC. This, of course, holds for every single command exposed by zeeSQL.

When zeeSQL version 2 will be released, all the commands in ZEESQL.V1 will stay exactly the same. The code won't change, and they will map one to one to the commands in version 1.

However, when version 2 of zeeSQL will be available, all the commands without the version namespace, ZEESQL.CREATE_DB (for instance) will be the same as ZEESQL.V2.CREATE_DB not of ZEESQL.V1.CREATE_DB.

This schema allows us to move forward with the APIs, fixing mistakes, but will also provide stable backward compatibility guarantees for our users.

Which version of the command to use, with or without version namespace?

What specific command version you should use in your project depends.

If you are not so interested in updates and new features, and the project might become legacy in your organization, in this case, it would be better to use the commands with the namespace. In this way, you can be sure that your code will always work and that you can update zeeSQL for performance or security reasons.

If you are experimenting, are interested in more features, or are betting a lot on zeeSQL tracking the version without the namespace is a good idea as well. This might involve more work in the future, but it will also give access to more features.

Conclusions

Overall, we hope that this commitment to backward compatibility, show how much we care about our users and that our priorities are about selling good software that simplifies our users' life.

Not committing to backward compatibility would have been a short-term choice to quickly get more revenues at the cost of losing the trust of the community.

PreviousReferencesNextzeeSQL, a solid product for busy developer

Last updated 4 years ago

Was this helpful?