<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Philippe Makowski's blog</title><link href="https://pmakowski.ibphoenix.fr/" rel="alternate"></link><link href="https://pmakowski.ibphoenix.fr/feed/atom.xml" rel="self"></link><id>https://pmakowski.ibphoenix.fr/</id><updated>2024-02-22T08:00:00+01:00</updated><entry><title>Notes sur les outils numériques pour la randonnée</title><link href="https://pmakowski.ibphoenix.fr/outils-numeriques-randonnee.html" rel="alternate"></link><published>2024-02-22T08:00:00+01:00</published><updated>2024-02-22T08:00:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2024-02-22:/outils-numeriques-randonnee.html</id><summary type="html">&lt;p&gt;Une petite note sur les outils numériques pour la randonnée.
Ce n'est pas exhaustif, car l'offre est maintenant vraiment très large.&lt;/p&gt;
&lt;p&gt;D'abord un mot sur les rendus cartographiques :&lt;/p&gt;
&lt;p&gt;En France nous avons les rendus de l'IGN:&lt;/p&gt;
&lt;p&gt;Si vous allez sur &lt;a class="reference external" href="https://www.geoportail.gouv.fr/"&gt;Géoportail&lt;/a&gt; vous avez le choix : photographies aérienne, Plan IGN, Plan …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Une petite note sur les outils numériques pour la randonnée.
Ce n'est pas exhaustif, car l'offre est maintenant vraiment très large.&lt;/p&gt;
&lt;p&gt;D'abord un mot sur les rendus cartographiques :&lt;/p&gt;
&lt;p&gt;En France nous avons les rendus de l'IGN:&lt;/p&gt;
&lt;p&gt;Si vous allez sur &lt;a class="reference external" href="https://www.geoportail.gouv.fr/"&gt;Géoportail&lt;/a&gt; vous avez le choix : photographies aérienne, Plan IGN, Plan IGN personnalisable, Topographique, Classique, OpenStreetMap monde, Esri topographic...&lt;/p&gt;
&lt;p&gt;Pour la rando, en général on préfère Topographique. Mais il est intéressant de voir les autres couches, car les informations et les chemins indiqués ne sont pas les même.
Une option indispensable en hiver, c'est la carte des pentes (Données thématiques, description du territoire, carte des pentes ou développement durable, risques, cartes des pentes)&lt;/p&gt;
&lt;p&gt;Vous pouvez faire, des mesures, importer un gpx, calculer un itinéraire.&lt;/p&gt;
&lt;p&gt;Vous avez aussi les données et rendus d'OpenstreetMap.&lt;/p&gt;
&lt;p&gt;OpenStreetMap sont des données collaboratives, un peu comme Wikipédia.&lt;/p&gt;
&lt;p&gt;En fonction des pays et des lieux, les données sont plus ou moins complètes, en France, c'est souvent très bon, même en montagne.&lt;/p&gt;
&lt;p&gt;Les données d'OpenStreetMap sont utilisées par Garmin pour les cartes qu'ils fournissent sur leurs GPS.&lt;/p&gt;
&lt;p&gt;Il existe différents rendus des données d'OpenStreetMap.&lt;/p&gt;
&lt;p&gt;Vous pouvez en les voir sur :
&lt;a class="reference external" href="https://www.openstreetmap.org"&gt;www.openstreetmap.org&lt;/a&gt;, &lt;a class="reference external" href="https://opentopomap.org"&gt;opentopomap.org&lt;/a&gt; et d'autres.&lt;/p&gt;
&lt;p&gt;Le projet &lt;a class="reference external" href="https://umap.openstreetmap.fr/fr/"&gt;umap.openstreetmap.fr&lt;/a&gt; vous permet de créer vos propres cartes, y créer des tracés gpx.&lt;/p&gt;
&lt;p&gt;Comme outils en ligne pour créer des tracés gpx vous avez :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://gpx.studio/"&gt;gpx.studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://www.vttrack.fr/"&gt;vttrack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://snowmap.fr"&gt;snowmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.visugpx.com/"&gt;visugpx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;et d'autres&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour l'hiver &lt;a class="reference external" href="https://snowmap.fr"&gt;snowmap&lt;/a&gt; est très bien car il regroupe tous les informations en un seul endroit, cartes, enneigement, BERA, Pentes.&lt;/p&gt;
&lt;p&gt;C'est complémentaire avec l'outil de &lt;a class="reference external" href="https://www.camptocamp.org/yeti"&gt;Camptocamp Yeti&lt;/a&gt; qui est très bien.&lt;/p&gt;
&lt;p&gt;Si vous avez un GPS Garmin, vous pouvez télécharger des cartes depuis&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://garmin.opentopomap.org/"&gt;garmin.opentopomap.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.freizeitkarte-osm.de/garmin/en/index.html"&gt;freizeitkarte-osm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://blog.utagawavtt.com/fr/blog/carte-gps-vtt-gratuite"&gt;blog.utagawavtt.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;et spécifiquement pour les Pyrénées, la carte faite par les espagnols (mais qui est rarement mise à jour, en tous cas pas depuis 2020) &lt;a class="reference external" href="https://topopirineos.blogspot.com/"&gt;topopirineos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note : sur la page consacrée à l'outil QMapShack sur le &lt;a class="reference external" href="https://blog.utagawavtt.com/fr/blog/qmapshack-alternative-land"&gt;blog utagawavtt&lt;/a&gt; vous trouverez d'autres liens
pour récuperer des cartes au format Garmin.&lt;/p&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;Personnellement, je n'utilise pas &lt;a class="reference external" href="https://github.com/Maproom/qmapshack/wiki"&gt;QMapShack&lt;/a&gt; , car j'utilise iPhiGénie sur mon ordinateur et mon smartphone. Mais par contre, pour voir rapidement une trace gpx,&lt;/dt&gt;
&lt;dd&gt;j'utilise &lt;a class="reference external" href="http://www.gpxsee.org/"&gt;GPXSee&lt;/a&gt;, qui peut lui aussi utiliser des cartes au format Garmin, et donc fonctionner sans connexion Internet.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Concernant les outils sur smartphone.&lt;/p&gt;
&lt;p&gt;Vous avez les outils qui permettent d'avoir les cartes IGN avec un abonnement:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://ignrando.fr/fr/appli-randonnee-ignrando"&gt;IGNrando&lt;/a&gt; (sans abonnement vous avez quand même une carte IGN &amp;quot;Plan IGN&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.iphigen.ie/"&gt;iPhiGénie&lt;/a&gt; qui existe aussi sur PC (Windows et Linux) et sur MAC&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://ignrando.fr/fr/ewalk"&gt;E-walk&lt;/a&gt; que je ne connais pas&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://ignrando.fr/fr/application-twonav"&gt;TwoNav&lt;/a&gt; qui existe aussi pour les GPS TwoNav et qui on une suite logicielle que fonctionne aussi sur PC Windows et MAC&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.visugpx.com/"&gt;VisuGPX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://get.whympr.com/"&gt;Whympr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.openrunner.com//"&gt;OpenRunner&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et peut être d'autres (par exemple &lt;a class="reference external" href="https://www.ffrandonnee.fr/s-informer/faq/marando?page=1"&gt;MaRando&lt;/a&gt;, qui est l'application de la Fédération française de randonnées).&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://www.komoot.com"&gt;Komoot&lt;/a&gt; semble intéressant aussi, mais il n'a pas les cartes IGN.&lt;/p&gt;
&lt;p&gt;Si vous voulez un outil simple, gratuit avec des cartes hors ligne pour suivre un tracé GPX sur Smartphone, je vous conseille &lt;a class="reference external" href="https://comaps.app"&gt;CoMaps&lt;/a&gt; ou  &lt;a class="reference external" href="https://organicmaps.app/fr/"&gt;Organic Maps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Un des moyens pour évaluer la dificulté d'un parcours, est d'utiliser l'indice IPB : &lt;a class="reference external" href="https://www.ibpindex.com/ibpindex/analyser.php?LAN=fr"&gt;Calculer son indice d’effort&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dernier point, si vous voulez signaler un problème sur un sentier, utilisez &lt;a class="reference external" href="https://sentinelles.sportsdenature.fr/"&gt;Suricate&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il y a encore pleins de choses à dire, par exemple comment contribuer à OpenStreetMap, comment la FFRandonnée dialogue avec l'IGN, etc ...&lt;/p&gt;
</content><category term="News"></category><category term="blog"></category></entry><entry><title>Ressources atelier hygiène numérique</title><link href="https://pmakowski.ibphoenix.fr/ressources-atelier-hygiene-numerique.html" rel="alternate"></link><published>2023-11-24T08:00:00+01:00</published><updated>2023-11-24T08:00:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2023-11-24:/ressources-atelier-hygiene-numerique.html</id><summary type="html">&lt;p&gt;Énormément de nos informations personnelles finissent par se retrouver publiées quelque part, que ce soit par nous-mêmes ou par d’autres personnes, que ce soit parce qu’on nous y incite — c’est un peu le fond de commerce du web 2.0 —, parce que les technologies laissent des traces …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Énormément de nos informations personnelles finissent par se retrouver publiées quelque part, que ce soit par nous-mêmes ou par d’autres personnes, que ce soit parce qu’on nous y incite — c’est un peu le fond de commerce du web 2.0 —, parce que les technologies laissent des traces, ou simplement parce qu’on ne fait pas attention.&lt;/p&gt;
&lt;p&gt;Nous pouvons tous collectivement accroître notre devoir de vigilance.&lt;/p&gt;
&lt;p&gt;Il y a des outils et des usages appropriés. Et souvent la question n’est finalement pas tant « doit-on utiliser ou pas ces technologies ? », mais plutôt « quand et comment les utiliser (ou pas) ? »&lt;/p&gt;
&lt;p&gt;En plus de la possible surveillance étatique, une personne peut aussi être la cible d’entreprises commerciales et de pirates informatiques mal intentionnés.&lt;/p&gt;
&lt;p&gt;La section de l'Ariège de la LDH propose des ateliers pour découvrir, pas à pas, des outils visant à mieux maîtriser les informations exposées, protéger la vie privée et les  libertés fondamentales.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les ateliers auront lieu :&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le premier vendredi du mois (à partir du 6 octobre 2023) de 18h30 à 20h00&lt;/p&gt;
&lt;p&gt;au LÉO Lagrange de Foix&lt;/p&gt;
&lt;p&gt;16, rue Noël Peyrevidal 09000 FOIX&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Venez avec votre ordinateur, votre ordiphone, et même si vous voulez repartir avec Tails, venez avec une clé usb vierge d'au moins 8 Go.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ressources&lt;/strong&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://nothing2hide.org/fr/"&gt;Nothing2Hide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://guide.boum.org/"&gt;Guide d’Autodéfense Numérique&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://boutique.ldh-france.org/publications/2-guide-de-survie-des-aventuriers-dinternet.html"&gt;Guide de Survie à destination des aventuriers d’Internet LDH&lt;/a&gt; et &lt;a class="reference external" href="https://www.ritimo.org/Guide-de-survie-des-aventures-sur-Internet"&gt;Boutique Ritimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://totem-project.org/fr/index.html#portfolio"&gt;Totem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nations Unis Résolution adoptée par l’Assemblée générale le 16 décembre 2020 &lt;a class="reference external" href="(https://undocs.org/fr/A/RES/75/176"&gt;Le droit à la vie privée à l’ère du numérique&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Agence Française de Développement &lt;a class="reference external" href="https://www.afd.fr/sites/afd/files/2023-05-11-06-45/rapport-libertes-numeriques-pays-francophones-afrique.pdf"&gt;Rapport sur les libertés numériques dans les pays francophones d’Afrique&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://phishingquiz.withgoogle.com/"&gt;Phishing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.cybermalveillance.gouv.fr/bonnes-pratiques"&gt;Bonnes pratiques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://secnumacademie.gouv.fr/"&gt;Mooc Anssi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://exodus-privacy.eu.org/fr/"&gt;Exodus Privacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="(https://tails.net/index.fr.html"&gt;Tails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.qubes-os.org/"&gt;Qubes OS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://myactivity.google.com/"&gt;Données Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://e.foundation/fr/"&gt;e foundation&lt;/a&gt; et &lt;a class="reference external" href="https://murena.com/fr/"&gt;murena&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://framasoft.org/fr/"&gt;Framasoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.chatons.org/"&gt;Les Chatons&lt;/a&gt; Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires.&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://riseup.net/fr/security"&gt;RiseUp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://mullvad.net/fr"&gt;Mullvad VPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://proton.me/"&gt;Proton&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><category term="News"></category><category term="blog"></category></entry><entry><title>Firebird 3.0 for Centos 7, Mageia and Fedora</title><link href="https://pmakowski.ibphoenix.fr/firebird-30-for-centos-7.html" rel="alternate"></link><published>2016-04-26T16:30:00+02:00</published><updated>2016-04-26T16:30:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2016-04-26:/firebird-30-for-centos-7.html</id><summary type="html">&lt;p&gt;Firebird 3.0 is officially there and I packaged it for CentOS 7,
Mageia and Fedora.&lt;/p&gt;
&lt;p&gt;The packages for Mageia are in Mageia repositories for &lt;a class="reference external" href="http://madb.mageia.org/package/show/application/0/release/cauldron/name/firebird"&gt;Mageia Cauldron&lt;/a&gt; (the version
that will become soon Mageia 6). To not break Libre Office that still rely on Firebird 2.5 embeded,
I made …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Firebird 3.0 is officially there and I packaged it for CentOS 7,
Mageia and Fedora.&lt;/p&gt;
&lt;p&gt;The packages for Mageia are in Mageia repositories for &lt;a class="reference external" href="http://madb.mageia.org/package/show/application/0/release/cauldron/name/firebird"&gt;Mageia Cauldron&lt;/a&gt; (the version
that will become soon Mageia 6). To not break Libre Office that still rely on Firebird 2.5 embeded,
I made a separate package for &lt;a class="reference external" href="http://madb.mageia.org/package/show/application/0/release/cauldron/name/libfbembed2"&gt;libfbembed2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The packages for CentOS 7 and Fedora 23 are in &lt;a class="reference external" href="https://copr.fedorainfracloud.org/coprs/makowski/firebird/"&gt;my Fedora Copr repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will update it regulary so you could have Firebird 3.0
packages in CentOS 7.&lt;/p&gt;
&lt;p&gt;Official Epel for CentOS 7 will stay with Firebird 2.5.&lt;/p&gt;
&lt;p&gt;Unfortunately, Firebird 3.0 don't build yet with gcc 6, as you can see in &lt;a class="reference external" href="http://tracker.firebirdsql.org/browse/CORE-5099"&gt;CORE-5099&lt;/a&gt;, so
no Firebird 3.0 yet for Fedora 24.&lt;/p&gt;
</content><category term="Firebird other"></category><category term="mageia"></category></entry><entry><title>Firebird 3 RC2 for Centos 7</title><link href="https://pmakowski.ibphoenix.fr/firebird-3-rc2-for-centos-7.html" rel="alternate"></link><published>2016-03-03T16:30:00+01:00</published><updated>2016-03-03T16:30:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2016-03-03:/firebird-3-rc2-for-centos-7.html</id><summary type="html">&lt;p&gt;I just finished the Firebird 3.0 RC2 packages for CentOS 7.&lt;/p&gt;
&lt;p&gt;Hope that it would help us to have more people testing this RC2.&lt;/p&gt;
&lt;p&gt;The packages are in &lt;a class="reference external" href="https://copr.fedorainfracloud.org/coprs/makowski/firebird/"&gt;my Fedora Copr repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will update it regulary so you could have Firebird 3.0
packages in CentOS 7.&lt;/p&gt;
&lt;p&gt;Official …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I just finished the Firebird 3.0 RC2 packages for CentOS 7.&lt;/p&gt;
&lt;p&gt;Hope that it would help us to have more people testing this RC2.&lt;/p&gt;
&lt;p&gt;The packages are in &lt;a class="reference external" href="https://copr.fedorainfracloud.org/coprs/makowski/firebird/"&gt;my Fedora Copr repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will update it regulary so you could have Firebird 3.0
packages in CentOS 7.&lt;/p&gt;
&lt;p&gt;Official Epel for CentOS 7 will stay with Firebird 2.5.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>News from the packaging front</title><link href="https://pmakowski.ibphoenix.fr/mageia-news-from-packaging.html" rel="alternate"></link><published>2016-02-27T08:00:00+01:00</published><updated>2016-02-27T08:00:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2016-02-27:/mageia-news-from-packaging.html</id><summary type="html">&lt;p&gt;In Mageia 5 I packaged &lt;a class="reference external" href="https://www.mopidy.com//"&gt;Mopidy&lt;/a&gt; ,
so now that Mageia have a arm port, you can make a Mageia music
box with a Raspberry Pi and Mopidys.&lt;/p&gt;
&lt;p&gt;I use my self an old netbook for that with an &lt;a class="reference external" href="http://www.audiophonics.fr/fr/appareils-hifi-dac/audiophonics-usabre-usb-dac-24bit96khz-sa9023es9023-v2-p-8932.html"&gt;U-Sabre Mini USB DAC&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;For Mageia 6 I packaged a backup tool …&lt;/p&gt;</summary><content type="html">&lt;p&gt;In Mageia 5 I packaged &lt;a class="reference external" href="https://www.mopidy.com//"&gt;Mopidy&lt;/a&gt; ,
so now that Mageia have a arm port, you can make a Mageia music
box with a Raspberry Pi and Mopidys.&lt;/p&gt;
&lt;p&gt;I use my self an old netbook for that with an &lt;a class="reference external" href="http://www.audiophonics.fr/fr/appareils-hifi-dac/audiophonics-usabre-usb-dac-24bit96khz-sa9023es9023-v2-p-8932.html"&gt;U-Sabre Mini USB DAC&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;For Mageia 6 I packaged a backup tool : &lt;a class="reference external" href="https://borgbackup.readthedocs.org/en/stable/index.html"&gt;BorgBackup&lt;/a&gt; .
some friends use it with success, so I tried it and adopted it.
I have my own local backport in Mageia 5, and now my main computer is backuped with BorgBackup.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://slides.com/thomaswaldmann/borg-6#/"&gt;Here&lt;/a&gt; you can read some slides about BorgBackup.&lt;/p&gt;
</content><category term="Mageia"></category><category term="mageia"></category></entry><entry><title>Philippe's Blog is back</title><link href="https://pmakowski.ibphoenix.fr/im-back.html" rel="alternate"></link><published>2016-01-10T16:00:00+01:00</published><updated>2016-01-10T16:00:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2016-01-10:/im-back.html</id><content type="html">&lt;p&gt;After a while with my personal blog off, I decided to start a new one.&lt;/p&gt;
&lt;p&gt;This new blog uses &lt;a class="reference external" href="http://blog.getpelican.com/"&gt;Pelican&lt;/a&gt; , a static site generator powered by Python.&lt;/p&gt;
&lt;p&gt;I will use this blog to talk about things that I'm working on. Most of time will be personal projects.&lt;/p&gt;
</content><category term="News"></category><category term="blog"></category></entry><entry><title>Mageia 5 Cinnamon with Fedora chroot</title><link href="https://pmakowski.ibphoenix.fr/mageia-5-cinnamon-with-fedora-chroot.html" rel="alternate"></link><published>2015-03-18T20:15:00+01:00</published><updated>2015-03-18T20:15:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2015-03-18:/mageia-5-cinnamon-with-fedora-chroot.html</id><summary type="html">&lt;p&gt;I moved my main home computer to Mageia 5 (it was under Fedora before).&lt;/p&gt;
&lt;p&gt;I choose Cinnamon because I have it on my laptop and I like it.&lt;/p&gt;
&lt;p&gt;Since I have to maintain my Fedora packages (Firebird related), I
choosed tocreate a Fedora 21 chroot.&lt;/p&gt;
&lt;p&gt;Here what I did under …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I moved my main home computer to Mageia 5 (it was under Fedora before).&lt;/p&gt;
&lt;p&gt;I choose Cinnamon because I have it on my laptop and I like it.&lt;/p&gt;
&lt;p&gt;Since I have to maintain my Fedora packages (Firebird related), I
choosed tocreate a Fedora 21 chroot.&lt;/p&gt;
&lt;p&gt;Here what I did under Mageia 5 :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# urpmi yum python-lzma&lt;/span&gt;
&lt;span class="c1"&gt;# mkdir -p /var/local/chroot/fedora/var/lib/rpm&lt;/span&gt;
&lt;span class="c1"&gt;# rpm --root /var/local/chroot/fedora --initdb&lt;/span&gt;
&lt;span class="c1"&gt;# cd /tmp/&lt;/span&gt;
&lt;span class="c1"&gt;# wget ftp://195.220.108.108/linux/fedora/linux/releases/21/Everything/x86_64/os/Packages/f/fedora-release-21-2.noarch.rpm&lt;/span&gt;
&lt;span class="c1"&gt;# wget ftp://195.220.108.108/linux/fedora/linux/releases/21/Everything/x86_64/os/Packages/f/fedora-repos-21-2.noarch.rpm&lt;/span&gt;
&lt;span class="c1"&gt;# rpm -ivh --nodeps --root /var/local/chroot/fedora fedora*rpm&lt;/span&gt;
&lt;span class="c1"&gt;# for f in /var/local/chroot/fedora/etc/yum.repos.d/*; do  sed -i &amp;#39;s/$basearch/x86_64/g;&amp;#39; $f; done&lt;/span&gt;
&lt;span class="c1"&gt;# ln -s /var/local/chroot/fedora/etc/pki/rpm-gpg/ /etc/pki/rpm-gpg&lt;/span&gt;
&lt;span class="c1"&gt;# yum --installroot=/var/local/chroot/fedora repolist all&lt;/span&gt;
&lt;span class="c1"&gt;# yum --installroot=/var/local/chroot/fedora groupinstall Core# urpmi schroot&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Configure the chroot in schroot :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/etc/schroot/chroot.d/fedora
&lt;span class="o"&gt;[&lt;/span&gt;fedora&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="nv"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Fedora&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;21&lt;/span&gt;
&lt;span class="nv"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;directory
&lt;span class="nv"&gt;directory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/local/chroot/fedora
&lt;span class="nv"&gt;users&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;philippe
&lt;span class="nv"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;wheel
root-groups&lt;span class="o"&gt;=&lt;/span&gt;root,wheel
&lt;span class="nv"&gt;aliases&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;default
preserve-environment&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Finally, we do some customizations to make the Fedora system schroot
friendly&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;
&lt;span class="normal"&gt;8&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# echo fedora21 &amp;gt; /var/local/chroot/fedora/etc/debian_chroot&lt;/span&gt;
&lt;span class="c1"&gt;# cat &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; &amp;gt; /var/local/chroot/fedora/etc/profile.d/debian_chroot.sh&lt;/span&gt;
&lt;span class="c1"&gt;# set variable identifying the chroot you work in (used in the prompt below)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-z&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;debian_chroot&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-r&lt;span class="w"&gt; &lt;/span&gt;/etc/debian_chroot&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;then&lt;/span&gt;
&lt;span class="nv"&gt;debian_chroot&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/etc/debian_chroot&lt;span class="k"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;fi&lt;/span&gt;&lt;span class="c1"&gt;# set a fancy prompt (non-color, overwrite the one in /etc/profile)&lt;/span&gt;
&lt;span class="nv"&gt;PS1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;${debian_chroot:+($debian_chroot)}\u@\h:\w\$ &amp;#39;&lt;/span&gt;
EOF
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Test :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;philippe@callandor&lt;span class="w"&gt; &lt;/span&gt;~$&lt;span class="w"&gt; &lt;/span&gt;schroot&lt;span class="w"&gt; &lt;/span&gt;-c&lt;span class="w"&gt; &lt;/span&gt;fedora
&lt;span class="o"&gt;(&lt;/span&gt;fedora&lt;span class="o"&gt;)&lt;/span&gt;philippe@callandor:~$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/etc/fedora-release
Fedora&lt;span class="w"&gt; &lt;/span&gt;release&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;21&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;Twenty&lt;span class="w"&gt; &lt;/span&gt;One&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;All is ok, I can now set up the Fedora packager tools with a &lt;tt class="docutils literal"&gt;yum &lt;span class="pre"&gt;installfedora-packager&lt;/span&gt;&lt;/tt&gt;
and &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;fedora-packager-setup&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;
</content><category term="Mageia"></category><category term="mageia"></category></entry><entry><title>Mageia 4 on time for Fosdem and …</title><link href="https://pmakowski.ibphoenix.fr/mageia-4-on-time-for-fosdem-and.html" rel="alternate"></link><published>2014-02-02T18:30:00+01:00</published><updated>2014-02-02T18:30:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2014-02-02:/mageia-4-on-time-for-fosdem-and.html</id><summary type="html">&lt;p&gt;Anne has announced that&amp;nbsp;&lt;a class="reference external" href="http://www.mageia.org"&gt;Mageia&lt;/a&gt; 4 is
&lt;a class="reference external" href="http://blog.mageia.org/en/2014/02/01/new-year-new-resolutions-and-a-new-mageia-heres-mageia-4/"&gt;now available&lt;/a&gt;
just on time for Fosdem !&lt;/p&gt;
&lt;p&gt;I updated all the computers at home without any trouble (two under
GnomeShell, one under KDE, and the last one now under Cinnamon).&lt;/p&gt;
&lt;p&gt;We did a full review of the Python stack, now Mageia provide byte …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Anne has announced that&amp;nbsp;&lt;a class="reference external" href="http://www.mageia.org"&gt;Mageia&lt;/a&gt; 4 is
&lt;a class="reference external" href="http://blog.mageia.org/en/2014/02/01/new-year-new-resolutions-and-a-new-mageia-heres-mageia-4/"&gt;now available&lt;/a&gt;
just on time for Fosdem !&lt;/p&gt;
&lt;p&gt;I updated all the computers at home without any trouble (two under
GnomeShell, one under KDE, and the last one now under Cinnamon).&lt;/p&gt;
&lt;p&gt;We did a full review of the Python stack, now Mageia provide byte
compiledPython modules, and as you can see in the Mageia Applications
Database, &lt;a class="reference external" href="http://mageia.madb.org/package/comparison/withrelease/4/release/3/application/0"&gt;here&lt;/a&gt;
there are a lot of new Python and Python 3 modules.&lt;/p&gt;
&lt;p&gt;I'm also really happy that Bruno packaged
&lt;a class="reference external" href="http://docs.ansible.com/"&gt;Ansible&lt;/a&gt; my favorite IT automation
tool, with aurpmi module.&lt;/p&gt;
&lt;p&gt;Mageia have also new scientific, engineering softwares like OpenFoam,
Su2,Paraview, ...&lt;/p&gt;
&lt;p&gt;For the next months, I will try to give more time to the Security team
tohelp them for security updates, and also the Sysadmin team to work on
an Mageiaversion of the Fedora tool fedmsg , because it
seems we need somthting like that for our infrastructure.&lt;/p&gt;
&lt;p&gt;Thanks again, all Mageia's contributors !&lt;/p&gt;
</content><category term="Mageia"></category><category term="mageia"></category></entry><entry><title>Firebird transactions settings</title><link href="https://pmakowski.ibphoenix.fr/firebird-transactions-settings.html" rel="alternate"></link><published>2012-02-28T07:35:00+01:00</published><updated>2012-02-28T07:35:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2012-02-28:/firebird-transactions-settings.html</id><summary type="html">&lt;p&gt;From the support list, by Ann Harrison, as a reminder :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;isc_tpb_consistency can cause performance problems due the fact
that it's locking tables and possibly excluding concurrent access.&lt;/li&gt;
&lt;li&gt;isc_tpb_concurrency is the design center for Firebird. Readers
don't blockwriters, writers don't block readers, and both get a
consistent view of thedatabase.&lt;/li&gt;
&lt;li&gt;iisc_tpb_read_committed …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;From the support list, by Ann Harrison, as a reminder :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;isc_tpb_consistency can cause performance problems due the fact
that it's locking tables and possibly excluding concurrent access.&lt;/li&gt;
&lt;li&gt;isc_tpb_concurrency is the design center for Firebird. Readers
don't blockwriters, writers don't block readers, and both get a
consistent view of thedatabase.&lt;/li&gt;
&lt;li&gt;iisc_tpb_read_committed + isc_tpb_rec_version +
isc_tbp_read_only giveinconsistent results and occasionally
produces an error on a blob read*, but unlike other modes, it does
not block garbage collection so it's a good mode for long running read
transactions that don't have to get the &amp;quot;right&amp;quot; answer.&lt;/li&gt;
&lt;li&gt;isc_tpb_read_committeed + isc_tpb_rec_version has the same
performance asisc_tpb_concurrency, but gets inconsistent results -
the same query run twice in the same transaction may return different
rows.&lt;/li&gt;
&lt;li&gt;isc_tpb_read_committed + isc_tpb_no_rec_version +
isc_tpb_wait is slowerthan other modes because it will wait for a
change to be commited rather than reading the newest committed
version. Like all variants ofisc_tpb_read_committed, it does not
produce consistent results.&lt;/li&gt;
&lt;li&gt;isc_tpb_read_committed + isc_tpb_no_rec_version +
isc_tpb_no_wait gives lots and lots of deadlock errors because
every time a reader encounters a record that's being changed, it
returns an error.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Good luck, Ann&lt;/div&gt;
&lt;div class="line"&gt;* If you have the bad luck to read a record version which includes a
blob and someone else changes the record version and the blob, and that
transaction commits, and somebody else comes by and garbage collects
the record version and blob before you get around to reading the blob,
you'll get an error. Doesn't happen in other modes.&lt;/div&gt;
&lt;/div&gt;
</content><category term="Firebird other"></category></entry><entry><title>Mageia 1 a Firebird friendly new distribution</title><link href="https://pmakowski.ibphoenix.fr/mageia-1-a-firebird-friendly-new-distribution.html" rel="alternate"></link><published>2011-06-07T21:41:00+02:00</published><updated>2011-06-07T21:41:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2011-06-07:/mageia-1-a-firebird-friendly-new-distribution.html</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="http://www.mageia.org/en/"&gt;Mageia&lt;/a&gt; 1 is there :
&lt;a class="reference external" href="http://blog.mageia.org/en/"&gt;http://blog.mageia.org/en/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is a community driven project and a
&lt;a class="reference external" href="http://www.firebirdsql.org/"&gt;Firebird&lt;/a&gt; friendly distribution
with Firebird2.5.0, PHP, PHP-pdo, Perl, Ruby drivers, Rails adapter,
Flamerobin, and Pythondrivers (kinterbasdb and firebirdsql).&lt;/p&gt;
&lt;p&gt;I'm really happy to have now Mageia on my computer, and being one …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a class="reference external" href="http://www.mageia.org/en/"&gt;Mageia&lt;/a&gt; 1 is there :
&lt;a class="reference external" href="http://blog.mageia.org/en/"&gt;http://blog.mageia.org/en/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is a community driven project and a
&lt;a class="reference external" href="http://www.firebirdsql.org/"&gt;Firebird&lt;/a&gt; friendly distribution
with Firebird2.5.0, PHP, PHP-pdo, Perl, Ruby drivers, Rails adapter,
Flamerobin, and Pythondrivers (kinterbasdb and firebirdsql).&lt;/p&gt;
&lt;p&gt;I'm really happy to have now Mageia on my computer, and being one of
thepackagers.&lt;/p&gt;
&lt;p&gt;For people wanting to use Firebird under Gnu/Linux, Mageia can be a
reallygood choice.&lt;/p&gt;
&lt;p&gt;The community is active, and in next months will decide what will be
thefuture. Like Firebird, Mageia organisation is community-driven; no
commercialmanagement can dictate the path Mageia will take.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://www.mageia.org/fr/downloads/"&gt;Download it&lt;/a&gt;,try it !&lt;/p&gt;
&lt;p&gt;PS&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Some friends of mine created &lt;a class="reference external" href="http://hupstream.com/fr/"&gt;Hupstream&lt;/a&gt;&amp;nbsp; a company providing
commercialservices (like &lt;a class="reference external" href="http://www.ibphoenix.com/"&gt;IBphoenix&lt;/a&gt; for Firebird) with or
around Mageia software, tools or project .&lt;/p&gt;
&lt;p&gt;So you can imagine Firebird under Mageia with professional support
withIBPhoenix and Hupstream if you want !&lt;/p&gt;
&lt;/blockquote&gt;
</content><category term="Mageia"></category><category term="mageia"></category></entry><entry><title>Windows Firebird Classic and cache</title><link href="https://pmakowski.ibphoenix.fr/windows-firebird-classic-and-cache.html" rel="alternate"></link><published>2011-04-29T07:31:00+02:00</published><updated>2011-04-29T07:31:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2011-04-29:/windows-firebird-classic-and-cache.html</id><summary type="html">&lt;p&gt;From the Firebird support list, posted by Sean Leyne :&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;We have over 60 production Firebird servers running Windows, some
servers with 100s of database connections.&lt;/div&gt;
&lt;div class="line"&gt;What you need to remember is:&lt;/div&gt;
&lt;div class="line"&gt;- Each database connection starts a new server process, so more
RAM memory is needed/used&lt;/div&gt;
&lt;div class="line"&gt;- Each database page cache …&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;From the Firebird support list, posted by Sean Leyne :&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;We have over 60 production Firebird servers running Windows, some
servers with 100s of database connections.&lt;/div&gt;
&lt;div class="line"&gt;What you need to remember is:&lt;/div&gt;
&lt;div class="line"&gt;- Each database connection starts a new server process, so more
RAM memory is needed/used&lt;/div&gt;
&lt;div class="line"&gt;- Each database page cache setting should be kept low, improve
performance by reduce the amount of synchronization which occurs
between the Firebirdprocesses&lt;/div&gt;
&lt;div class="line"&gt;- 64 bit versions of Windows (very true with 2008) have a poor
algorithm for managing OS page cache, which can result in an
excessive amount of cachepaging, which severely impacts
performance. There are some utilities available (SET_CACHE.EXE)
which can set the cache size to definable level (we usually set it
to 70% of available RAM).&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird on Linux and ICU &gt; 4.2</title><link href="https://pmakowski.ibphoenix.fr/firebird-on-linux-and-icu-42.html" rel="alternate"></link><published>2011-04-26T08:46:00+02:00</published><updated>2011-04-26T08:46:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2011-04-26:/firebird-on-linux-and-icu-42.html</id><summary type="html">&lt;p&gt;There was a bug in Firebird that did not handle well icu &amp;gt; 4.2
see( &lt;a class="reference external" href="http://tracker.firebirdsql.org/browse/CORE-3447"&gt;http://tracker.firebirdsql.org/browse/CORE-3447&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;2.1.4 and 2.5.0 packages in distributions were affected (Debian,
Fedora,Mandriva, Mageia) because they are using icu 4.4&lt;/p&gt;
&lt;p&gt;Adriano fixed it and in these …&lt;/p&gt;</summary><content type="html">&lt;p&gt;There was a bug in Firebird that did not handle well icu &amp;gt; 4.2
see( &lt;a class="reference external" href="http://tracker.firebirdsql.org/browse/CORE-3447"&gt;http://tracker.firebirdsql.org/browse/CORE-3447&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;2.1.4 and 2.5.0 packages in distributions were affected (Debian,
Fedora,Mandriva, Mageia) because they are using icu 4.4&lt;/p&gt;
&lt;p&gt;Adriano fixed it and in these various distro updates are on the way&lt;/p&gt;
&lt;p&gt;I know that some of you are using Centos 5.&lt;/p&gt;
&lt;p&gt;The problem with Centos 5, is that you can’t have Firebird 2.5
from EPEL repository. Centos 6 will give you the possibility to have Firebird
2.5 from EPEL6 repository, but seems that Centos6 take a long time to come.&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;a class="reference external" href="https://www.centos.org/modules/newbb/viewtopic.php?topic_id=25878"&gt;https://www.centos.org/modules/newbb/viewtopic.php?topic_id=25878&lt;/a&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;a class="reference external" href="http://wiki.centos.org/QaWiki/6/AuditStatus"&gt;http://wiki.centos.org/QaWiki/6/AuditStatus&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can try to use Scientific Linux instead
(&lt;a class="reference external" href="http://www.scientificlinux.org/"&gt;http://www.scientificlinux.org&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;As Centos, the base SL distribution is basically Enterprise Linux
(RHEL), recompiled from source, and Scientific Linux 6.0 was released
on March 3, 2011&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>News from the packaging front</title><link href="https://pmakowski.ibphoenix.fr/news-from-the-packaging-front.html" rel="alternate"></link><published>2010-12-22T21:30:00+01:00</published><updated>2010-12-22T21:30:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2010-12-22:/news-from-the-packaging-front.html</id><summary type="html">&lt;p&gt;I just finished the Firebird 2.5 packages for Mandriva&lt;/p&gt;
&lt;p&gt;They are available in Cooker and in Contrib/backports for 2010.1
and 2010.2&lt;/p&gt;
&lt;p&gt;Doing this work, I saw that I made a mistake in Fedora packages, so they
areupdated in Rawhide and EPEL6&lt;/p&gt;
&lt;p&gt;I also updated my Fedora …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I just finished the Firebird 2.5 packages for Mandriva&lt;/p&gt;
&lt;p&gt;They are available in Cooker and in Contrib/backports for 2010.1
and 2010.2&lt;/p&gt;
&lt;p&gt;Doing this work, I saw that I made a mistake in Fedora packages, so they
areupdated in Rawhide and EPEL6&lt;/p&gt;
&lt;p&gt;I also updated my Fedora 14 repo (&lt;a class="reference external" href="http://repos.fedorapeople.org/repos/makowski/firebird/"&gt;http://repos.fedorapeople.org/repos/makowski/firebird/&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;good having doing that before the end of the year !&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Mageia : a new GNU Linux distribution</title><link href="https://pmakowski.ibphoenix.fr/mageia-a-new-gnu-linux-distribution.html" rel="alternate"></link><published>2010-09-22T06:55:00+02:00</published><updated>2010-09-22T06:55:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2010-09-22:/mageia-a-new-gnu-linux-distribution.html</id><summary type="html">&lt;p&gt;A new GNU Linux distribution is born : Mageia, a Mandriva Linux fork.&lt;/p&gt;
&lt;p&gt;So why speak about this here ?&lt;/p&gt;
&lt;p&gt;First, Firebird packages need a maintainer and as I am the one in
Mandriva,I will do the same in Mageia&lt;/p&gt;
&lt;p&gt;Second, this story remind me a little the Firebird story&lt;/p&gt;
&lt;p&gt;Third …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A new GNU Linux distribution is born : Mageia, a Mandriva Linux fork.&lt;/p&gt;
&lt;p&gt;So why speak about this here ?&lt;/p&gt;
&lt;p&gt;First, Firebird packages need a maintainer and as I am the one in
Mandriva,I will do the same in Mageia&lt;/p&gt;
&lt;p&gt;Second, this story remind me a little the Firebird story&lt;/p&gt;
&lt;p&gt;Third I'm enthusiast to contribute (may be more than only Firebird
relatedpackages) to a such challenging adventure, and in this one, there
are peoplethat I really trust.&lt;/p&gt;
&lt;p&gt;Long live Mageia :
&lt;a class="reference external" href="http://www.mageia.org/"&gt;http://www.mageia.org/&lt;/a&gt;&lt;/p&gt;
</content><category term="Mageia"></category><category term="mageia"></category></entry><entry><title>Thanks for DOR !</title><link href="https://pmakowski.ibphoenix.fr/thanks-for-dor.html" rel="alternate"></link><published>2010-04-27T16:26:00+02:00</published><updated>2010-04-27T16:26:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2010-04-27:/thanks-for-dor.html</id><summary type="html">&lt;p&gt;Henri Gourverst (UIB creator) set up anew powerful tool :
&lt;a class="reference external" href="http://www.delphionrails.com"&gt;DelphiOnRails&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The powerfull association of DOR and Firebird help me to build a nice
new AppServer.&lt;/p&gt;
&lt;p&gt;The simplicity of coding with DOR help me to focus on database structure
and efficient&amp;nbsp;queries.&lt;/p&gt;
&lt;p&gt;This AppServer will be soon deployed in various location …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Henri Gourverst (UIB creator) set up anew powerful tool :
&lt;a class="reference external" href="http://www.delphionrails.com"&gt;DelphiOnRails&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The powerfull association of DOR and Firebird help me to build a nice
new AppServer.&lt;/p&gt;
&lt;p&gt;The simplicity of coding with DOR help me to focus on database structure
and efficient&amp;nbsp;queries.&lt;/p&gt;
&lt;p&gt;This AppServer will be soon deployed in various location in France,
and with the low&amp;nbsp;level of maintenance need, the light network protocol
used it will be deployed on large&amp;nbsp;and small business units
without trouble.&lt;/p&gt;
&lt;p&gt;The clients software will not use Lua (choice of the vendor), instead
there are two&amp;nbsp;clients one in C# and another in PHP integrated to a
webserver.&lt;/p&gt;
&lt;p&gt;So thanks again Henri, long live to DOR.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird’s 10th birthday a bunch of conferences</title><link href="https://pmakowski.ibphoenix.fr/firebirds-10th-birthday-a-bunch-of-conferences.html" rel="alternate"></link><published>2010-04-20T08:51:00+02:00</published><updated>2010-04-20T08:51:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2010-04-20:/firebirds-10th-birthday-a-bunch-of-conferences.html</id><summary type="html">&lt;p&gt;Dear Firebird Foundation members, dear Firebird users,&lt;/p&gt;
&lt;p&gt;To celebrate the Firebird’s 10th birthday and the launch of Firebird
2.5, theFirebird Foudation Committee invite you to setup and participate
to a worldwidebunch of conferences.&lt;/p&gt;
&lt;p&gt;The idea is to set up conferences every where there is a Firebird
Community, tohave …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Dear Firebird Foundation members, dear Firebird users,&lt;/p&gt;
&lt;p&gt;To celebrate the Firebird’s 10th birthday and the launch of Firebird
2.5, theFirebird Foudation Committee invite you to setup and participate
to a worldwidebunch of conferences.&lt;/p&gt;
&lt;p&gt;The idea is to set up conferences every where there is a Firebird
Community, tohave at least 10 conferences to celebrate the 10th
birthday.&lt;/p&gt;
&lt;p&gt;These conferences can have various format, from an half day to three
days, thecontent can be advance topics made by core developpers, but
also Firebird showcase, information about the project it self, Firebird
tools show case, speakabout Firebird 2.5 new features, etc …&lt;/p&gt;
&lt;p&gt;To day we have :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;A one day conference in Ukraine On Friday, April 23, 2010&lt;/li&gt;
&lt;li&gt;Firebird Developers Day in Brazil, in July&lt;/li&gt;
&lt;li&gt;A three days combined HK-Software/Firebird conference in Bremen,
Germany inNovember&lt;/li&gt;
&lt;li&gt;Sarajevo,France, Italy, Czech Republic, Russia are planned&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It would be nice to have events in countries where we have Firebird
users andwhere we never had a conference before (Poland, USA, Canada,
Australia, SouthAfrica, etc )&lt;/p&gt;
&lt;p&gt;We the coordinate effort with the Mind the Bird campaign, we already
havematerial that can be useful (slides, webinars recording)&lt;/p&gt;
&lt;p&gt;We are working on a “10th anniversary event package” organizers could
use ascore content ( with for example a speech/presentation about
Firebird from dayone to present and with future plans). It would help
organizers that don’t haveany local FB developer(s) and can’t afford to
invite one.&lt;/p&gt;
&lt;p&gt;We need now volunteers :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;to take in charge such event in their country&lt;/li&gt;
&lt;li&gt;content writers&lt;/li&gt;
&lt;li&gt;sponsors hunters&lt;/li&gt;
&lt;li&gt;speakers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Soon some web pages will be setup to inform and popularize this
initiative.&lt;/p&gt;
&lt;p&gt;So please, anyone ready to help, please subscribe to the dedicated
mailinglist&amp;nbsp;&lt;a class="reference external" href="https://lists.firebirdsql.org/cgi-bin/mailman/listinfo/fbconference"&gt;https://lists.firebirdsql.org/cgi-bin/mailman/listinfo/fbconference&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So we can coordinate our efforts.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Philippe Makowski&lt;/div&gt;
&lt;div class="line"&gt;Firebird Foundation&lt;/div&gt;
&lt;/div&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird 10th anniversary</title><link href="https://pmakowski.ibphoenix.fr/firebird-10th-anniversary.html" rel="alternate"></link><published>2010-03-29T21:39:00+02:00</published><updated>2010-03-29T21:39:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2010-03-29:/firebird-10th-anniversary.html</id><summary type="html">&lt;p&gt;When I became Firebird Foundation President, I did not thought
about the Firebird 10th anniversary.&lt;/p&gt;
&lt;p&gt;This anniversary and the coming soon new major version of Firebird seems
to boost the Firebird Community, that's a good point.&lt;/p&gt;
&lt;p&gt;But it give me more work as President, because I try to help
things …&lt;/p&gt;</summary><content type="html">&lt;p&gt;When I became Firebird Foundation President, I did not thought
about the Firebird 10th anniversary.&lt;/p&gt;
&lt;p&gt;This anniversary and the coming soon new major version of Firebird seems
to boost the Firebird Community, that's a good point.&lt;/p&gt;
&lt;p&gt;But it give me more work as President, because I try to help
things append.&lt;/p&gt;
&lt;p&gt;On the last Firebird Conference at Bergamo, I asked &lt;a class="reference external" href="http://www.firebirdsql.org/ffoundation/docs/FF-Bergamo-2008.pdf"&gt;&amp;quot;Do we nee a second
wind ?&amp;quot;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I think now that some part of our Project organization have to change,
to help more people being involved.&lt;/p&gt;
&lt;p&gt;Even if we are a smaller project, may be we can look at the way
Fedoraproject is managed, I like the various way they offer to
&lt;a class="reference external" href="https://fedoraproject.org/en/join-fedora"&gt;join&lt;/a&gt;&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird in OpenSuse</title><link href="https://pmakowski.ibphoenix.fr/firebird-in-opensuse.html" rel="alternate"></link><published>2009-09-02T07:03:00+02:00</published><updated>2009-09-02T07:03:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2009-09-02:/firebird-in-opensuse.html</id><summary type="html">&lt;p&gt;yesterday I received this notification :&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Hello packager,&lt;/div&gt;
&lt;div class="line"&gt;This is just FYI. &amp;nbsp;Your package was checked in in
distribution&amp;quot;stable&amp;quot;&lt;/div&gt;
&lt;div class="line"&gt;here is the log from ci_new_pac /work/src/done/STABLE/firebird
-&amp;gt; stable&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;So, good news for Firebird and OpenSuse users, Firebird package will be
in official repository for new OpenSuse 11 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;yesterday I received this notification :&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Hello packager,&lt;/div&gt;
&lt;div class="line"&gt;This is just FYI. &amp;nbsp;Your package was checked in in
distribution&amp;quot;stable&amp;quot;&lt;/div&gt;
&lt;div class="line"&gt;here is the log from ci_new_pac /work/src/done/STABLE/firebird
-&amp;gt; stable&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;So, good news for Firebird and OpenSuse users, Firebird package will be
in official repository for new OpenSuse 11.2&lt;/p&gt;
&lt;p&gt;For people wanting to test it, it is in the Factory
repository(&lt;a class="reference external" href="http://download.opensuse.org/factory/repo/oss/"&gt;http://download.opensuse.org/factory/repo/oss/&lt;/a&gt;):&lt;/p&gt;
&lt;pre class="literal-block"&gt;
zypper info firebird
Dépot: openSUSE Factory (OSS)
Nom: firebird
Version: 2.1.3.18185.0-1.1
Arch: i586
Fabricant: openSUSE
Installé: Non
État: non installée
Taille une fois installé : 3,4 M
Résumé: SQL relational database management system
Description:This package contains common files between
firebird-classic and firebird-superserver.
You will need this if you want to use either one.
&lt;/pre&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird packages for Fedora, Centos, RHEL</title><link href="https://pmakowski.ibphoenix.fr/firebird-packages-for-fedora-centos-rhel.html" rel="alternate"></link><published>2009-05-05T21:32:00+02:00</published><updated>2009-05-05T21:32:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2009-05-05:/firebird-packages-for-fedora-centos-rhel.html</id><summary type="html">&lt;p&gt;It's official now, I'm the maintainer of Firebird packages for Fedora
and Epel (Centos and RHEL packages) and Firebird packages get pushed into
Fedora repositories.&lt;/p&gt;
&lt;p&gt;The good news for Firebird users is that they can get Firebird 2.1.2
from Fedora official repositories.&lt;/p&gt;
&lt;p&gt;Flamerobin and Kinterbasdb (the Python driver …&lt;/p&gt;</summary><content type="html">&lt;p&gt;It's official now, I'm the maintainer of Firebird packages for Fedora
and Epel (Centos and RHEL packages) and Firebird packages get pushed into
Fedora repositories.&lt;/p&gt;
&lt;p&gt;The good news for Firebird users is that they can get Firebird 2.1.2
from Fedora official repositories.&lt;/p&gt;
&lt;p&gt;Flamerobin and Kinterbasdb (the Python driver for Firebird) will
follow soon, as the PHP module.&lt;/p&gt;
&lt;p&gt;The &amp;quot;bad&amp;quot; news is that it give me some more work, and I will have
to resolved the futur bugs if they are some (and I guess there will be
since I rewrote a new spec file).
I'm not used to, as a Q/A team member of the Firebird project, I'm
more used to check and raise bugs than solving them ;)&lt;/p&gt;
&lt;p&gt;Stop kidding, I did not used Fedora before (usualy I use Mandriva
and Debian), but I'm proud to become a member of this community, working
with them is pleasant, and I learned a lot doing that.&lt;/p&gt;
&lt;p&gt;So I'll try to do my best for all Firebird, Fedora, Centos users.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Lost connections</title><link href="https://pmakowski.ibphoenix.fr/lost-connections.html" rel="alternate"></link><published>2009-04-29T06:54:00+02:00</published><updated>2009-04-29T06:54:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2009-04-29:/lost-connections.html</id><summary type="html">&lt;p&gt;Last months I saw in various support lists and forum questions about
lost connections and Firebird&lt;/p&gt;
&lt;p&gt;As said in &lt;tt class="docutils literal"&gt;firebird.conf&lt;/tt&gt; :&lt;/p&gt;
&lt;pre class="literal-block"&gt;
Normally,Firebird uses SO_KEEPALIVE socket option to keep track of
active connections. If you do not like default 2-hour keepalive timeout
then adjust your server OS settings appropriately.
&lt;/pre&gt;
&lt;p&gt;I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last months I saw in various support lists and forum questions about
lost connections and Firebird&lt;/p&gt;
&lt;p&gt;As said in &lt;tt class="docutils literal"&gt;firebird.conf&lt;/tt&gt; :&lt;/p&gt;
&lt;pre class="literal-block"&gt;
Normally,Firebird uses SO_KEEPALIVE socket option to keep track of
active connections. If you do not like default 2-hour keepalive timeout
then adjust your server OS settings appropriately.
&lt;/pre&gt;
&lt;p&gt;I found a good web page explaining how to setup these values for various
OS, so here is the link :&amp;nbsp;&lt;a class="reference external" href="http://www.gnugk.org/keepalive.html"&gt;http://www.gnugk.org/keepalive.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that MacOsX behaviour is the same as FreeBSD&lt;/p&gt;
&lt;p&gt;When Firebird 2.5 will be there, with monitoring tables, it will be
possible to kill connections if need.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>From the Firebird support list : semaphores exhausted</title><link href="https://pmakowski.ibphoenix.fr/from-the-firebird-support-list-semaphores-exhausted.html" rel="alternate"></link><published>2009-03-05T18:49:00+01:00</published><updated>2009-03-05T18:49:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2009-03-05:/from-the-firebird-support-list-semaphores-exhausted.html</id><summary type="html">&lt;p&gt;Running FirebirdCS-2.1.1.17910-0.amd64 under Linux Fedora core 9 version
2.6.27.15-78.2.23.fc9.x86_64&lt;/p&gt;
&lt;p&gt;When thedatabase is under a high load (i.e. over 100 connections) where
each connection is doing queries and updates, then merely executing
&lt;tt class="docutils literal"&gt;select &lt;span class="pre"&gt;count(*)&lt;/span&gt; from mon$attachments&lt;/tt&gt; causes several …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Running FirebirdCS-2.1.1.17910-0.amd64 under Linux Fedora core 9 version
2.6.27.15-78.2.23.fc9.x86_64&lt;/p&gt;
&lt;p&gt;When thedatabase is under a high load (i.e. over 100 connections) where
each connection is doing queries and updates, then merely executing
&lt;tt class="docutils literal"&gt;select &lt;span class="pre"&gt;count(*)&lt;/span&gt; from mon$attachments&lt;/tt&gt; causes several of the
connections&amp;nbsp;to die. Client apps report &lt;tt class="docutils literal"&gt;error reading data from the connection&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Sorted the problem by upping both the kernel semaphore settings and
the &lt;tt class="docutils literal"&gt;firebird.conf&lt;/tt&gt; setting:&lt;/p&gt;
&lt;p&gt;respectively:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
kernel.sem=&amp;quot;1024 64000 1024 512&amp;quot;
&lt;/pre&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;pre class="literal-block"&gt;
LockSemCount= 512
&lt;/pre&gt;
&lt;p&gt;This allows 300 concurrent connections to exist, and for the MON$
queries&amp;nbsp;to succeed.&lt;/p&gt;
&lt;p&gt;Note :&lt;/p&gt;
&lt;p&gt;The Kernel can be configured dynamically. Check the current settings
with:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
# cat/proc/sys/kernel/sem
250 &amp;nbsp;32000 &amp;nbsp; 32 &amp;nbsp; &amp;nbsp;128
&lt;/pre&gt;
&lt;p&gt;To increase the values put something like this in &lt;tt class="docutils literal"&gt;/etc/sysctl.conf&lt;/tt&gt;:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
#&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SEMMSL&amp;nbsp; SEMMNS&amp;nbsp; SEMOPM&amp;nbsp;SEMMNI
kernel.sem =1024&amp;nbsp; &amp;nbsp; 32000 &amp;nbsp; 256 &amp;nbsp; &amp;nbsp; 1024
&lt;/pre&gt;
&lt;p&gt;To apply the settings reboot or call &lt;tt class="docutils literal"&gt;sysctl &lt;span class="pre"&gt;-p&lt;/span&gt;&lt;/tt&gt;. Then check the new
settings:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
# cat/proc/sys/kernel/sem
1024 &amp;nbsp;32000 &amp;nbsp; &amp;nbsp;256 &amp;nbsp; &amp;nbsp;1024
&lt;/pre&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird 2.1.2 on Mips 64</title><link href="https://pmakowski.ibphoenix.fr/firebird-212-on-mips-64.html" rel="alternate"></link><published>2009-01-30T20:03:00+01:00</published><updated>2009-01-30T20:03:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2009-01-30:/firebird-212-on-mips-64.html</id><summary type="html">&lt;p&gt;Yesterday I get a small nice box, a
&lt;a class="reference external" href="http://www.gdium.com/en/product/liberty1000"&gt;Gdium&lt;/a&gt; that
havea&amp;nbsp;900 Mhz 64bits
&lt;a class="reference external" href="http://en.wikipedia.org/wiki/Loongson"&gt;Loongson&lt;/a&gt; CPU&lt;/p&gt;
&lt;p&gt;It comes with a Mandriva Linux.&lt;/p&gt;
&lt;p&gt;I built Firebird 2.1.2 on it, the only point is that I built it with
systemICU :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;./autogen.sh&lt;span class="w"&gt; &lt;/span&gt;--with-system-icu
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Bingo, I get a fresh build …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Yesterday I get a small nice box, a
&lt;a class="reference external" href="http://www.gdium.com/en/product/liberty1000"&gt;Gdium&lt;/a&gt; that
havea&amp;nbsp;900 Mhz 64bits
&lt;a class="reference external" href="http://en.wikipedia.org/wiki/Loongson"&gt;Loongson&lt;/a&gt; CPU&lt;/p&gt;
&lt;p&gt;It comes with a Mandriva Linux.&lt;/p&gt;
&lt;p&gt;I built Firebird 2.1.2 on it, the only point is that I built it with
systemICU :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;./autogen.sh&lt;span class="w"&gt; &lt;/span&gt;--with-system-icu
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Bingo, I get a fresh build Firebird 2.1.2 Classic, and some minutes
after a Superserver.&lt;/p&gt;
&lt;p&gt;Next step, setting up the qmtest suite and the Python driver&lt;/p&gt;
&lt;p&gt;No problem to build the Python driver (latest version
&lt;a class="reference external" href="http://downloads.sourceforge.net/firebird/kinterbasdb-3.3.0.tar.bz2"&gt;kinterbasdb-3.3.0&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;And nice, qmtests results are ok&lt;/p&gt;
&lt;p&gt;Next step was Flamerobin 0.9.0 : no problem all is ok&lt;/p&gt;
&lt;p&gt;Mandriva guys can add Firebird rpms to the mips repository&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Firebird and Suse</title><link href="https://pmakowski.ibphoenix.fr/firebird-and-suse.html" rel="alternate"></link><published>2008-05-29T20:15:00+02:00</published><updated>2008-05-29T20:15:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-05-29:/firebird-and-suse.html</id><summary type="html">&lt;p&gt;May, 20th in the opensuse packaging mailing list, Michal Marek posted
the following :&lt;/p&gt;
&lt;blockquote&gt;
We have a firebird (the opensource SQLdatabase) package in the
server:database buildservice project
(&lt;a class="reference external" href="https://build.opensuse.org/package/show?package=firebird&amp;amp;project=server%3Adatabase"&gt;https://build.opensuse.org/package/show?package=firebird&amp;amp;project=server%3Adatabase&lt;/a&gt; ).Unfortunately,
this package isn't maintained since some time, which is a
pity …&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;May, 20th in the opensuse packaging mailing list, Michal Marek posted
the following :&lt;/p&gt;
&lt;blockquote&gt;
We have a firebird (the opensource SQLdatabase) package in the
server:database buildservice project
(&lt;a class="reference external" href="https://build.opensuse.org/package/show?package=firebird&amp;amp;project=server%3Adatabase"&gt;https://build.opensuse.org/package/show?package=firebird&amp;amp;project=server%3Adatabase&lt;/a&gt; ).Unfortunately,
this package isn't maintained since some time, which is a
pity,because the server:database repository is offered as a
community repository inYaST and is advertised as the &amp;quot;Latest updates
for database software includingFirebird and MySQL&amp;quot;.&lt;/blockquote&gt;
&lt;p&gt;Since I helped Mandriva to do their packages for Firebird, I jumped
and with Michal, we made things happen&lt;/p&gt;
&lt;p&gt;Users of Opensuse 10.0,10.1,10.3 and future 11.0 but also SLE 10 can
now just use the &lt;tt class="docutils literal"&gt;server:database&lt;/tt&gt; repository &amp;nbsp;and get Firebird 2.0.4&lt;/p&gt;
&lt;p&gt;As soon as the Firebird Project will publish Firebird 2.1.1, packages
will be there too.&lt;/p&gt;
&lt;p&gt;It was a pleasure to work with Michal for that, and gave me the
opportunity to try Open Suse.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Heavy load under MacOs X</title><link href="https://pmakowski.ibphoenix.fr/heavy-load-under-macos-x.html" rel="alternate"></link><published>2008-04-15T10:15:00+02:00</published><updated>2008-04-15T10:15:00+02:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-04-15:/heavy-load-under-macos-x.html</id><summary type="html">&lt;p&gt;During the test phase of Firebird 2.1, I played with two new features
: global temporary table and monitoring tables.&lt;/p&gt;
&lt;p&gt;I never stressed Firebird on MacOs X before, and when I tried to do
300 concurrent connections each one using a temporary table and a select
from monitoring tables, my …&lt;/p&gt;</summary><content type="html">&lt;p&gt;During the test phase of Firebird 2.1, I played with two new features
: global temporary table and monitoring tables.&lt;/p&gt;
&lt;p&gt;I never stressed Firebird on MacOs X before, and when I tried to do
300 concurrent connections each one using a temporary table and a select
from monitoring tables, my Firebird Classic get into trouble with bad
messages in the &lt;tt class="docutils literal"&gt;firebird.log&lt;/tt&gt; :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Can't load INTL
module'/Library/Frameworks/Firebird.framework/Resources/English.lproj/var/intl/fbintl.dylib'&lt;/p&gt;
&lt;p&gt;Fatal lock manager error: inconsistent lock table version number;
found 144,expected 16, errno: 35&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In fact, as Paul Beach suggested, it was not Firebird that have
problem,but I did not have enough ressources for Firebird and Launchd&lt;/p&gt;
&lt;p&gt;So digging Internet, I found advices for other RDBMS, and I change
somesystem value by creating two new configurations files :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/etc/sysctl.conf
kern.sysv.shmmax&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10485760&lt;/span&gt;
kern.sysv.shmmin&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
kern.sysv.shmmni&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;32&lt;/span&gt;
kern.sysv.shmseg&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;8&lt;/span&gt;
kern.sysv.shmall&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4096&lt;/span&gt;
kern.maxproc&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2068&lt;/span&gt;
kern.maxprocperuid&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2068&lt;/span&gt;
$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/etc/launchd.conf
limit&lt;span class="w"&gt; &lt;/span&gt;maxproc&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2068&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2068&lt;/span&gt;
limit&lt;span class="w"&gt; &lt;/span&gt;maxfiles&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;10240&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;10240&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;With these values, no problem, all tests were ok.&lt;/p&gt;
&lt;p&gt;I think that we can use lowest values.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Recalculer la sélectivitité des index</title><link href="https://pmakowski.ibphoenix.fr/recalculer-la-selectivitite-des-index.html" rel="alternate"></link><published>2008-03-09T16:34:00+01:00</published><updated>2008-03-09T16:34:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-03-09:/recalculer-la-selectivitite-des-index.html</id><summary type="html">&lt;p&gt;Quelques fois il peut être utile de forcer le moteur à recalculer
la sélectivité des index afin de permettre à l'optimiseur de choisir des
meilleurs plans de requête et donc de faire les traitements plus
rapidement&lt;/p&gt;
&lt;p&gt;Voici une procédure permettant de recalculer la selectivité de tous
les index&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2 …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Quelques fois il peut être utile de forcer le moteur à recalculer
la sélectivité des index afin de permettre à l'optimiseur de choisir des
meilleurs plans de requête et donc de faire les traitements plus
rapidement&lt;/p&gt;
&lt;p&gt;Voici une procédure permettant de recalculer la selectivité de tous
les index&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TERM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;PROCEDURE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SP_CALCSELECTIVITY&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;DECLARE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;VARIABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IDX&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;DECLARE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;VARIABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;STMT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;75&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="k"&gt;FOR&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RDB$INDEX_NAME&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RDB$INDICES&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;INTO&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;IDX&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="k"&gt;DO&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="n"&gt;STMT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;SET STATISTICS INDEX &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;IDX&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;EXECUTE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;STATEMENT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;STMT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;END&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;^&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TERM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;^&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Ensuite il suffit de faire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;EXECUTE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;PROCEDURE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SP_CALCSELECTIVITY&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Bien sûr il est préférable de faire cela à un moment où le serveur n'est
pas trop occupé.&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Comment convertir en majuscule les lettres accentuées</title><link href="https://pmakowski.ibphoenix.fr/comment-convertir-en-majuscule-les-lettres-accentuees-fr.html" rel="alternate"></link><published>2008-03-09T16:33:00+01:00</published><updated>2008-03-09T16:33:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-03-09:/comment-convertir-en-majuscule-les-lettres-accentuees-fr.html</id><summary type="html">&lt;p&gt;Si on utilise &lt;tt class="docutils literal"&gt;ISO8859_1&lt;/tt&gt; comme jeu de caractères, on peut choisir
comment convertir en majuscule les lettres accentuées
par exemple :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;CAST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aeiouéèàüûôë&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHARACTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ISO8859_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;C_NP&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;CAST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aeiouéèàüûôë&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHARACTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ISO8859_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLLATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FR_FR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;C_FR_FR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;CAST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aeiouéèàüûôë …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Si on utilise &lt;tt class="docutils literal"&gt;ISO8859_1&lt;/tt&gt; comme jeu de caractères, on peut choisir
comment convertir en majuscule les lettres accentuées
par exemple :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;CAST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aeiouéèàüûôë&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHARACTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ISO8859_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;C_NP&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;CAST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aeiouéèàüûôë&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHARACTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ISO8859_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLLATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FR_FR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;C_FR_FR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;CAST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aeiouéèàüûôë&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHARACTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ISO8859_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLLATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FR_CA&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;C_FR_CA&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RDB$DATABASE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;donne comme résultat :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;C_NP&lt;/span&gt;&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;C_FR_FR&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;C_FR_CA&lt;/span&gt;
&lt;span class="c1"&gt;--------------------------------------&lt;/span&gt;
&lt;span class="n"&gt;AEIOUéèàüûôë&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AEIOUEEAUUOE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AEIOUÉÈÀÜÛÔË&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
</content><category term="Firebird other"></category></entry><entry><title>Détecter et supprimer des doublons</title><link href="https://pmakowski.ibphoenix.fr/detecter-et-supprimer-des-doublons-fr.html" rel="alternate"></link><published>2008-03-09T16:33:00+01:00</published><updated>2008-03-09T16:33:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-03-09:/detecter-et-supprimer-des-doublons-fr.html</id><summary type="html">&lt;p&gt;Il arrive quelques fois que l'on soit obliger de détecter ou supprimer
desdoublons dans des tables sur un champ particulier.
Cela peut devenir une opération très longue et gourmande en
ressources.Heureusement on peut utiliser pour améliorer les
traitements &lt;tt class="docutils literal"&gt;rdb$db_key&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Ce qui donne :&lt;/p&gt;
&lt;p&gt;pour juste les lister :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2 …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Il arrive quelques fois que l'on soit obliger de détecter ou supprimer
desdoublons dans des tables sur un champ particulier.
Cela peut devenir une opération très longue et gourmande en
ressources.Heureusement on peut utiliser pour améliorer les
traitements &lt;tt class="docutils literal"&gt;rdb$db_key&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Ce qui donne :&lt;/p&gt;
&lt;p&gt;pour juste les lister :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;some_value&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;your_table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;your_table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wherec0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;some_value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;some_value&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rdb$db_key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rdb$db_key&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;pour les supprimer sans les lister&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;your_table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rdb$db_key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rdb$db_key&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;your_table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;join&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;your_table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;some_value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;some_value&lt;/span&gt;
&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="k"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rdb$db_key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rdb$db_key&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Le champ &lt;tt class="docutils literal"&gt;some_value&lt;/tt&gt; étant celui où l'on ne veux pas de doublon&lt;/p&gt;
&lt;p&gt;Pour plus de renseignements sur &lt;tt class="docutils literal"&gt;rdb$db_key&lt;/tt&gt;, lisez :
&amp;nbsp;&lt;a class="reference external" href="http://www.cvalde.net/document/mysteriousDbKey.htm"&gt;http://www.cvalde.net/document/mysteriousDbKey.htm&lt;/a&gt;&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Vues système SQL-92</title><link href="https://pmakowski.ibphoenix.fr/vues-systeme-sql-92-fr.html" rel="alternate"></link><published>2008-03-09T16:32:00+01:00</published><updated>2008-03-09T16:32:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-03-09:/vues-systeme-sql-92-fr.html</id><summary type="html">&lt;p&gt;Voici quelques définitions de vues système conformes à la norme SQL-92:&lt;/p&gt;
&lt;p&gt;Lister les contraintes CHECK&lt;/p&gt;
&lt;pre class="literal-block"&gt;
CREATE VIEW CHECK_CONSTRAINTS (CONSTRAINT_NAME,CHECK_CLAUSE) AS
 SELECT RDB$CONSTRAINT_NAME, RDB$TRIGGER_SOURCE
 FROM RDB$CHECK_CONSTRAINTS RC, RDB$TRIGGERS RT
 WHERE RT.RDB$TRIGGER_NAME = RC.RDB$TRIGGER_NAME;
&lt;/pre&gt;
&lt;p&gt;Lister les colonnes utilisées par des clé primaires et des …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Voici quelques définitions de vues système conformes à la norme SQL-92:&lt;/p&gt;
&lt;p&gt;Lister les contraintes CHECK&lt;/p&gt;
&lt;pre class="literal-block"&gt;
CREATE VIEW CHECK_CONSTRAINTS (CONSTRAINT_NAME,CHECK_CLAUSE) AS
 SELECT RDB$CONSTRAINT_NAME, RDB$TRIGGER_SOURCE
 FROM RDB$CHECK_CONSTRAINTS RC, RDB$TRIGGERS RT
 WHERE RT.RDB$TRIGGER_NAME = RC.RDB$TRIGGER_NAME;
&lt;/pre&gt;
&lt;p&gt;Lister les colonnes utilisées par des clé primaires et des
contraintes d'unicité ainsi que celle qui définissent des clés étrangères&lt;/p&gt;
&lt;pre class="literal-block"&gt;
CREATE VIEW CONSTRAINTS_COLUMN_USAGE (TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME) AS
 SELECT RDB$RELATION_NAME, RDB$FIELD_NAME, RDB$CONSTRAINT_NAME
 FROM RDB$RELATION_CONSTRAINTS RC, RDB$INDEX_SEGMENTS RI
 WHERE RI.RDB$INDEX_NAME = RC.RDB$INDEX_NAME;
&lt;/pre&gt;
&lt;p&gt;Lister les contraintes référentielles&lt;/p&gt;
&lt;pre class="literal-block"&gt;
CREATE VIEW REFERENTIAL_CONSTRAINTS (CONSTRAINT_NAME,UNIQUE_CONSTRAINT_NAME,MATCH_OPTION,UPDATE_RULE,DELETE_RULE ) AS
 SELECT RDB$CONSTRAINT_NAME, RDB$CONST_NAME_UQ, RDB$MATCH_OPTION, RDB$UPDATE_RULE, RDB$DELETE_RULE
 FROM RDB$REF_CONSTRAINTS;
&lt;/pre&gt;
&lt;p&gt;Lister les contraintes au niveau table&lt;/p&gt;
&lt;pre class="literal-block"&gt;
CREATE VIEW TABLE_CONSTRAINTS (CONSTRAINT_NAME,TABLE_NAME,CONSTRAINT_TYPE,IS_DEFERRABLE,INITIALLY_DEFERRED) AS
 SELECT RDB$CONSTRAINT_NAME, RDB$RELATION_NAME, RDB$CONSTRAINT_TYPE, RDB$DEFERRABLE, RDB$INITIALLY_DEFERRED
 FROM RDB$RELATION_CONSTRAINTS;
&lt;/pre&gt;
</content><category term="Firebird other"></category></entry><entry><title>Trouver les enregistrements absent d'une table entre deux bases de données</title><link href="https://pmakowski.ibphoenix.fr/trouver-les-enregistrements-absent-dune-table-entre-deux-bases-de-donnees-fr.html" rel="alternate"></link><published>2008-03-09T16:31:00+01:00</published><updated>2008-03-09T16:31:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-03-09:/trouver-les-enregistrements-absent-dune-table-entre-deux-bases-de-donnees-fr.html</id><summary type="html">&lt;p&gt;Quelques fois, il est utile de comparer deux bases et de trouver
les enregistrements d'une table présents dans une base et absents d'une
autre base.&lt;/p&gt;
&lt;p&gt;Il se trouve que Firebird dispose d'un outil qui permet facilement de
faire des connexions sur deux bases à la fois et des reqêtes sur …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Quelques fois, il est utile de comparer deux bases et de trouver
les enregistrements d'une table présents dans une base et absents d'une
autre base.&lt;/p&gt;
&lt;p&gt;Il se trouve que Firebird dispose d'un outil qui permet facilement de
faire des connexions sur deux bases à la fois et des reqêtes sur ces
deux bases enmême temps.&lt;/p&gt;
&lt;p&gt;L'avantage de QLI (c'est le nom de cet outil) c'est qu'il est livré en
standard avec Firebird, quelque soit la plateforme.&lt;/p&gt;
&lt;p&gt;Voici le problème :&lt;/p&gt;
&lt;p&gt;j'ai une base base_A avec une table T_1, et une autre base base_B
avec la même table T_1 et j'ai besoin de savoir quels sont les
enregistrements présents dans la table T_1 de base_A et absents de la
table T_1 de base_B.&lt;/p&gt;
&lt;p&gt;Ma table T_1 a comme clé primaire les trois champs (A,B,C)&lt;/p&gt;
&lt;p&gt;J'écris donc ce petit script QLI (nommé test.txt):&lt;/p&gt;
&lt;pre class="literal-block"&gt;
ready 127.0.0.1:c:\db\base_A.fdb as src user 'sysdba' password'masterkey'
ready 127.0.0.1:c:\db\base_B.fdb as tgt user 'sysdba' password'masterkey'
for s in src.T_1&amp;nbsp;&amp;nbsp;begin
 if not any c in tgt.T_1 with
  (s.A=c.A and s.B=c.B and s.C=c.C)
 print s.A, s.B, s.C
end
&lt;/pre&gt;
&lt;p&gt;Il n'y a plus qu'à lancer le script avec qli :&lt;/p&gt;
&lt;pre class="literal-block"&gt;
C:\FB2\bin&amp;gt;qli
Welcome to QLI&amp;nbsp;Query Language Interpreter
QLI&amp;gt; &amp;#64;test.txt
&lt;/pre&gt;
</content><category term="Firebird other"></category></entry><entry><title>Using raw device</title><link href="https://pmakowski.ibphoenix.fr/using-raw-device.html" rel="alternate"></link><published>2008-02-15T15:00:00+01:00</published><updated>2008-02-15T15:00:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-02-15:/using-raw-device.html</id><summary type="html">&lt;p&gt;An nice feature come back with Firebird 2.1, we can put databases on
rawdevice&lt;/p&gt;
&lt;p&gt;You can use this feature under all Posix platform&lt;/p&gt;
&lt;p&gt;Under Linux, your device is something like /dev/hdb6, under MacOsX it
is something like /dev/rdisk2s3
To manage this, the best way is to to …&lt;/p&gt;</summary><content type="html">&lt;p&gt;An nice feature come back with Firebird 2.1, we can put databases on
rawdevice&lt;/p&gt;
&lt;p&gt;You can use this feature under all Posix platform&lt;/p&gt;
&lt;p&gt;Under Linux, your device is something like /dev/hdb6, under MacOsX it
is something like /dev/rdisk2s3
To manage this, the best way is to to create a special node for this&lt;/p&gt;
&lt;p&gt;for example my raw device is /dev/hdb6&lt;/p&gt;
&lt;pre class="literal-block"&gt;
# ls -l /dev/hdb6
&lt;/pre&gt;
&lt;p&gt;You will see something like:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
brw-rw---- 1 root disk 3, 70 Feb  9  2006 /dev/hdb6
^                      ^^^^^ - this are major and minor of special file
|
+--------- This letter 'b' means it's block device.
           Therefore first mknod parameter is 'b'.
&lt;/pre&gt;
&lt;p&gt;So I create a new special node for /dev/hdb6 at any point of
myfilesystem.&lt;/p&gt;
&lt;p&gt;Let it for example be /var/firebird/db.&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;cd /var/firebird/dbmknod hdb6 b 3 70chown firebird:firebird hdb6chmod 0660 hdb6&lt;/tt&gt;
Now test it:
&lt;tt class="docutils literal"&gt;db # ls &lt;span class="pre"&gt;-ltotal&lt;/span&gt; &lt;span class="pre"&gt;0brw-rw----&lt;/span&gt; 1 firebird firebird 3, 70 Feb 15 10:27 hdb6&lt;/tt&gt;
Now I can restore my backup db file on this raw device&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;gbak &lt;span class="pre"&gt;-c&lt;/span&gt; mybackup.fbk &lt;span class="pre"&gt;localhost:/var/firebird/db/hdb6&lt;/span&gt; &lt;span class="pre"&gt;-user&lt;/span&gt; &lt;span class="pre"&gt;MYUSER-password&lt;/span&gt; mypass&lt;/tt&gt;
and then after use it as all others databases.&lt;/p&gt;
&lt;p&gt;PS Thanks Alex for your help&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Using context variable</title><link href="https://pmakowski.ibphoenix.fr/using-context-variable.html" rel="alternate"></link><published>2008-02-06T09:23:00+01:00</published><updated>2008-02-06T09:23:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2008-02-06:/using-context-variable.html</id><summary type="html">&lt;p&gt;After running Q/A tests, we use a tool made by Pavel to generate an
htmlreport.&lt;/p&gt;
&lt;p&gt;To have nice report and don't have to give description to the tool
that generate the report, the best solution is to use these context
variable whenyou run tests : &lt;tt class="docutils literal"&gt;run_description&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;run_seq&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;So for …&lt;/p&gt;</summary><content type="html">&lt;p&gt;After running Q/A tests, we use a tool made by Pavel to generate an
htmlreport.&lt;/p&gt;
&lt;p&gt;To have nice report and don't have to give description to the tool
that generate the report, the best solution is to use these context
variable whenyou run tests : &lt;tt class="docutils literal"&gt;run_description&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;run_seq&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;So for example you can run :&lt;/p&gt;
&lt;pre class="literal-block"&gt;
/usr/bin/qmtest run -C ../../context15 -o FCS-glsd-Linux-run4.qmr -c run_description=Linux -c run_seq=4
&lt;/pre&gt;
</content><category term="Firebird Q/A"></category></entry><entry><title>Firebird, files, posix</title><link href="https://pmakowski.ibphoenix.fr/firebird-files-posix.html" rel="alternate"></link><published>2007-12-14T14:17:00+01:00</published><updated>2007-12-14T14:17:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2007-12-14:/firebird-files-posix.html</id><summary type="html">&lt;p&gt;Here some information useful&amp;nbsp; for people coming from the Windows world to
Linux or MacOsX&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Under Linux or MacosX you can do the following (but of course don't do
this on a production database) :&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Connect to a database&lt;/div&gt;
&lt;div class="line"&gt;delete the database file&lt;/div&gt;
&lt;div class="line"&gt;commit to the database&lt;/div&gt;
&lt;div class="line"&gt;close the connection&lt;/div&gt;
&lt;div class="line"&gt;and …&lt;/div&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Here some information useful&amp;nbsp; for people coming from the Windows world to
Linux or MacOsX&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Under Linux or MacosX you can do the following (but of course don't do
this on a production database) :&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Connect to a database&lt;/div&gt;
&lt;div class="line"&gt;delete the database file&lt;/div&gt;
&lt;div class="line"&gt;commit to the database&lt;/div&gt;
&lt;div class="line"&gt;close the connection&lt;/div&gt;
&lt;div class="line"&gt;and then, without any warning, of course, all the work you thought
that was&lt;/div&gt;
&lt;div class="line"&gt;committed is lost, since you have no database anymore&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;or&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Connect to a database&lt;/div&gt;
&lt;div class="line"&gt;rename the database file&lt;/div&gt;
&lt;div class="line"&gt;show database still show&amp;nbsp; the old filename&lt;/div&gt;
&lt;div class="line"&gt;commit some work&lt;/div&gt;
&lt;div class="line"&gt;connect to the new database file&lt;/div&gt;
&lt;div class="line"&gt;magic, all the commit work is in the new database file&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And here (thanks Alex) the explanation :&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;On unix the following behavior was always documented.&lt;/div&gt;
&lt;div class="line"&gt;There is a structure called i-node which exists for each&lt;/div&gt;
&lt;div class="line"&gt;file on the disk. It has a number (1 as for the rule, but may be
more)links&lt;/div&gt;
&lt;div class="line"&gt;from directories, each of them being a name of that file (i.e. one
filecan&lt;/div&gt;
&lt;div class="line"&gt;have many names). You may try to&lt;/div&gt;
&lt;div class="line"&gt;&lt;tt class="docutils literal"&gt;# echo ABC &amp;gt;file1# ln file1 file2# mkdir sub# ln file1 sub/file1&lt;/tt&gt;&lt;/div&gt;
&lt;div class="line"&gt;All names (file1 file2 sub/file1) are names of same file. Each
link increments&lt;/div&gt;
&lt;div class="line"&gt;link count in inode by 1 (i.e. in our sample it will be 3). When we
do:&lt;/div&gt;
&lt;div class="line"&gt;&lt;tt class="docutils literal"&gt;# rm file1&lt;/tt&gt;&lt;/div&gt;
&lt;div class="line"&gt;link count becomes 2. As soon as it becomes 0 file is physically
removed.&lt;/div&gt;
&lt;div class="line"&gt;Now we proceed with the most interesting - opening each file each time&lt;/div&gt;
&lt;div class="line"&gt;increments inode's link count by 1. And closing - decrements.
Thereforeas&lt;/div&gt;
&lt;div class="line"&gt;soon as fbserver opens some DB file, it's link count becomes 2 instead
of 1,&lt;/div&gt;
&lt;div class="line"&gt;and removing it sets link count to 1. But inode is alive and
OK! Therefore&lt;/div&gt;
&lt;div class="line"&gt;you can insert, commit, do what you want - no error happens. But when
DB is&lt;/div&gt;
&lt;div class="line"&gt;detached - link count becomes 0, and file is deleted.&lt;/div&gt;
&lt;div class="line"&gt;Looks like bad feature, but it was designed to support temp files.
When temp&lt;/div&gt;
&lt;div class="line"&gt;file is created, it may be removed at once, while it's descriptor
remaind&lt;/div&gt;
&lt;div class="line"&gt;correct. And you need not care about removing temp files at program
exit (or,&lt;/div&gt;
&lt;div class="line"&gt;moreover, if it exits die to some failure). This is documented
behavior, and&lt;/div&gt;
&lt;div class="line"&gt;if you use unix - you should live with it.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PS thanks Alex for your help&lt;/p&gt;
</content><category term="Firebird other"></category></entry><entry><title>Qmtest clean up for Firebird 2.1</title><link href="https://pmakowski.ibphoenix.fr/qmtest-clean-up-for-firebird-21.html" rel="alternate"></link><published>2007-12-12T21:14:00+01:00</published><updated>2007-12-12T21:14:00+01:00</updated><author><name>Philippe Makowski</name></author><id>tag:pmakowski.ibphoenix.fr,2007-12-12:/qmtest-clean-up-for-firebird-21.html</id><summary type="html">&lt;p&gt;Last days I made a major clean up on our Q/A tests&lt;/p&gt;
&lt;p&gt;Here the convention we use for tests related to registered bugs in
our tracker (Jira) :&lt;/p&gt;
&lt;p&gt;A test is named with the same name as in Jira eg CORE_1108&lt;/p&gt;
&lt;p&gt;If a test exist for a previous Firebird version …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last days I made a major clean up on our Q/A tests&lt;/p&gt;
&lt;p&gt;Here the convention we use for tests related to registered bugs in
our tracker (Jira) :&lt;/p&gt;
&lt;p&gt;A test is named with the same name as in Jira eg CORE_1108&lt;/p&gt;
&lt;p&gt;If a test exist for a previous Firebird version, the new version will
take the same name plus the Firebird version eg CORE_1108-21&lt;/p&gt;
&lt;p&gt;If a test need some variant between platform, we use &lt;em&gt;w&lt;/em&gt; for&amp;nbsp;Windows and
&lt;em&gt;p&lt;/em&gt;&amp;nbsp; for&amp;nbsp; Posix eg&amp;nbsp; CORE_932w and CORE_932p&lt;/p&gt;
&lt;p&gt;For all other tests, not related to bugs, Qmtest manage all simply
by incrementing the number of the test.&lt;/p&gt;
</content><category term="Firebird Q/A"></category></entry></feed>