User:Arny

From Free Pascal wiki

Full name: Arny Kromić

Forum nickname: TurboRascal

IRC nick (freenode): halfword

Country: Croatia

Writings

From Forum to Wiki

We often get very useful answers on the Forum, for the topics which don't exist or are currently unclear on the Wiki. I'll try writing all the stuff I get as answers to my (and not only mine) questions here. So far done:

ToDo list for later

RDBMS choices

Cross-Platform solutions:

Universal Recommendations (Open Source)

A little reminder what are different RDBMS-es good for:

  • SQLite: embedded database, best for applications that should never need a client-server (multiuser) mode. Also easy on resources. Choose for an easy on resources single-user application (single-tier).
  • Firebird: good for applications which may work in client-server mode with a FB server, but also works as embedded database if only single-user mode is needed, which simplifies installation and use. Also quite a capable RDMS, especially for one that can also work embedded. Choose if you wish to easily switch between single user (single-tier) and client-server (two-tier) mode, and you need a featureful RDBMS,
  • PostgreSQL: quite a powerful server-oriented RDBMS, has many server-side features, also has native support for distributed databases. Chose if you need a client-server (two- or more tier) application, especially if you can benefit from distributed database and/or rich server-side features.

Universal Recommendations (proprietary)

RDBMS-es below are quite powerful, but are proprietary and can be mighty expensive. Use if you need guaranteed performance and stability under heavy load and extremely large database sizes (Good paid support could be found for open-source solutions though). All that usually comes at a hefty price...

  • Oracle
  • IBM DB2

Special Cases

  • MySQL: many people's favorite, but seems to get deprecated in the last years because of licensing issues and lack of certain features. It is often used for web applications, so it's best used for those that support MySQL only or are especially optimized for it. Of course, if you're already proficient at it and it's your favorite, you might probably use it for anything.
  • MicrosoftSQL: Another proprietary RDBMS, also quite capable, but it's Windows-only. So, you might use if you'll only have Windows servers, but you need features of proprietary RDBMS-es.

My Fixes ToDo list (currently on hold)

Test snapshots from the Fixes branch so to also provide Fixes releases. They would be weekly or monthly, depending on how much time I can afford. In general, I can test on Win-32 and Linux-AMD64. If necessary, I could also test on Win-x64 and Linux-x86. The OS I don't have access to is MacOS, so it would be nice if someone with a Mac would volunteer eventually ;).

The first thing I need to do is complete a testing checklist. The (some obvious) requirements for a build are:

  • Can be compiled by an earlier version (I believe Snapshots already satisfy this)
  • Can be recompiled by itself out of the box
  • Can be recompiled to install all included packages (which don't require external components)
  • Can compile projects and get working executables (include compiling new, newly saved and old projects)

Any other additions to the list would be welcome!

What about:

--BigChimp 10:58, 31 August 2012 (UTC)

Thanks, this could be useful if I (or someone else) really does it... --Turbo Rascal 16:46, 4 October 2012 (UTC)
Well, I do automatically recompile fpc and run database tests on Jenkins and store the results in... another database. Haven't set up a publishing mechansim though. See [[1]] --BigChimp 09:28, 19 March 2013 (UTC)