ifcSQL is on github

ifcSQL is able to manage multiple schemas and multiple models or building component libraries in a single database.

Now it is open source on github: See IfcSharp/IfcSQL (github.com)

These are the capabilities of ifcSQL:

1 Like

Amazing work!

Would it be appropriate to rename this to IfcMSSQL? SQL unfortunately is not compatible between vendors and this IfcSQL only applies to the proprietary MSSQL vendor? It will not work for MySQL, PostgreSQL for example from my understanding.

It would be good if buildingSMART had an initiative such that a RBDMS solution worked across both proprietary and non-proprietary vendors.

2 Likes

Thank you for your feedback, @Moult !

I think, the following aspects make (in this case) the difference between the different database vendors:

    • The use of schemata (as namespace)
    • The use of user defined types
    • Case sentitive names of tables and views (maybe)
    • UTF-8 for multilingual text (maybe)

All of these aspects were chosen for mastering complexity. That’s the philosophy behind. Gathering all possible methods for making complexity simple.

Sure, you can rename

  • ifcInstance.Entity to
  • dbo.ifcInstance_Entity or
  • ifcInstance_Entity or
  • IFCINSTANCE_ENTITY

But it’s a step back from the best possible.

The same with user defined types:
A type like ifcInstance.Id allows you to change the base-type (for example) from int to bigint for all occurrences in the database schema in a single step.

Maybe a matrix of capabilities from the different database vendors will help, to get an overview.

Agreed, it would be good to define a matrix of capabilities, and decide how to gracefully switch between SQL vendors, to make IfcSQL truly agnostic and not tied to a single proprietary vendor.