Monday, December 08, 2014
Firebird 3.0 Beta 1 release is available for testing
Firebird Project announces the first Beta release of Firebird 3.0, the next major version of the Firebird relational database, which is now available for testing.
This Beta release demonstrates the features and improvements currently under development by the Firebird development team. Our users are appreciated giving it a try and providing feedback to the development mailing list. Apparent bugs can be reported directly to the bugtracker.
Beta releases are not encouraged for production usage or any other goals that require a stable system. They are, however, recommended for those users who want to help in identifying issues and bottlenecks thus allowing to progress faster through the Beta/RC stages towards the final release.
Please read the Release Notes carefully before installing and testing this Beta release.
Friday, November 21, 2014
Node.JS and Firebird driver (node-firebird-libfbclient) installing on Amazon EC2 instance
Here are the notes on Installing node.js module for firebird
I assume Firebird was installed from source or from tar.gz and in a linux instance
create firebird db and test table in /tmp/nodedb.fdb with isql or isql-fb
Then write the test.js script to connect to it
you can observe that the id is auto incremented if you run it multiple time
also in the name you can put later the
browser or the ip in one of the columns
We build now the version for the web modifying the hello world version adding the firebird database glue
you can run it with
I assume Firebird was installed from source or from tar.gz and in a linux instance
wget https://nodejs.org/dist/v4.6.0/node-v4.6.0.tar.gz tar -zxvf node-v4.6.0.tar.gz cd node-v4.6.* ./configure sudo make installNext is time to install the firebird module (Firebird was installed from source in /opt/firebird2.5.x)
git clone git://github.com/xdenser/node-firebird-libfbclient.git cd node-firebird-lib export PATH=$PATH:/opt/firebird2.5.x/binfbclient/ npm -g install
create firebird db and test table in /tmp/nodedb.fdb with isql or isql-fb
SQL>CREATE DATABASE "localhost:/tmp/nodedb.fdb" user 'SYSDBA' password '*********'; SQL> CREATE TABLE TEST (ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20)); SQL> create generator gen_test_id; SQL> SET GENERATOR gen_test_id TO 10; SQL> set term !! ; SQL> CREATE TRIGGER TEST_BI FOR TEST CON> ACTIVE BEFORE INSERT POSITION 0 CON> AS CON> BEGIN CON> if (NEW.ID is NULL) then NEW.ID = GEN_ID(GEN_TEST_ID, 1); CON> END!! SQL> set term ; !!
Then write the test.js script to connect to it
you can observe that the id is auto incremented if you run it multiple time
node test.js [ { ID: 5, NAME: 'new one' }, { ID: 11, NAME: 'new one' }, { ID: 12, NAME: 'new one' }, { ID: 13, NAME: 'new one' }, { ID: 14, NAME: 'new one' } ]
also in the name you can put later the
browser or the ip in one of the columns
We build now the version for the web modifying the hello world version adding the firebird database glue
you can run it with
node firebird_example.js
Rails On Firebird - status and follow the guide
Rails On Firebird - you need to check that Firebird active record adapter and ruby driver are installed
Install Rails 4.x :
Be aware about indentation
cat config/database.yml
Edit the project Gemfile and add the activerecord-fb-adapter gem:
so i did these commands while following the official guide
http://localhost:3000/
I have created the table and one sequence in firebird db
I have ran the scaffold again to generate the posts model/view/controller
started the server
Of course I have modified the route and added an link as in tutorial and now i can add and modify blog posts
note: in new rails route is defined this way in config/routes.rb
http://localhost:3000/posts
Follow the normal ActiveRecord conventions for table names, primary key columns, etc. The one “extra” you’ll need for Firebird is that you’ll have to create a generator for any tables that require a sequence-based primary key. The default naming convention is TABLENAME_SEQ. So if you have a users table, you would need to create a corresponding USERS_SEQ generator
You don't need to create before insert triggers ! rails reads the value from sequence and then increments it in ruby code, Yay!
Install Rails 4.x :
gem install railsGenerate a new Firebird Rails application
rails new firebird_appdelete the generated database.yml sqlite config and use the one from bellow
Be aware about indentation
cat config/database.yml
Edit the project Gemfile and add the activerecord-fb-adapter gem:
gem 'activerecord-fb-adapter'Then run:
bundle update
rails generate scaffold Client name:string address:string email:string remark:text
rake db:migrateI have re-read the ruby guide
so i did these commands while following the official guide
rake db:createbut database was already created in flamerobin
script/generate controller home index vi app/views/home/index.html.erband write something there, start the server with
rails sand now you can see something in browser
http://localhost:3000/
I have created the table and one sequence in firebird db
CREATE TABLE posts ( id BIGINT NOT NULL PRIMARY KEY, name VARCHAR(255), title VARCHAR(255), content VARCHAR(255), timestamps timestamp ); CREATE sequence POSTS_SEQ;
I have ran the scaffold again to generate the posts model/view/controller
script/generate scaffold Post name:string title:string content:textand then
started the server
rails s
Of course I have modified the route and added an link as in tutorial and now i can add and modify blog posts
note: in new rails route is defined this way in config/routes.rb
map.root :controller => "home"
http://localhost:3000/posts
Follow the normal ActiveRecord conventions for table names, primary key columns, etc. The one “extra” you’ll need for Firebird is that you’ll have to create a generator for any tables that require a sequence-based primary key. The default naming convention is TABLENAME_SEQ. So if you have a users table, you would need to create a corresponding USERS_SEQ generator
You don't need to create before insert triggers ! rails reads the value from sequence and then increments it in ruby code, Yay!
Wednesday, July 09, 2014
Installing Android x86 4.4 on my eeepc with qemu
In fact is an re-install , i had 4.3 in dual boot with debian sid on my eeepc and i wanted to do an upgrade , the issue is that i don't have a usb stick to boot from it so i took another route
I have installed qemu and then downloaded the 4.4 iso from android x86 site and started this way to detect partitions on the main drive
format the partition already prepared in my case 15G /dev/sda4 also do not install grub if you want to modify it manually from debian partition
After the install is finished you need to test it first that it works i mount /dev/sda4 to see the dir structure
menuentry "Android-x86 4.4" {
set root=(hd0,4) linux /android-4.4-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-4.4-RC2 DATA= initrd /android-4.4-RC2/initrd.img
}
and restart choose the new android version
I have installed qemu and then downloaded the 4.4 iso from android x86 site and started this way to detect partitions on the main drive
qemu -boot d -cdrom android-x86-4.4-RC2.iso -hda /dev/sda
format the partition already prepared in my case 15G /dev/sda4 also do not install grub if you want to modify it manually from debian partition
After the install is finished you need to test it first that it works i mount /dev/sda4 to see the dir structure
mount /dev/sda4 /mnt ls /mnt/ android-4.4-RC2 lost+foundso i have modified /etc/grub.d/40_custom this way
menuentry "Android-x86 4.4" {
set root=(hd0,4) linux /android-4.4-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-4.4-RC2 DATA= initrd /android-4.4-RC2/initrd.img
}
sudo update-grub2
and restart choose the new android version
Monday, May 19, 2014
Fire Ruby - howto start with Firebird and Ruby on Ubuntu / Debian
This howto is about installing firebird ruby driver on Ubuntu or any Debian based distro
you might need some firebird dependencies and if you need the stable Firebird server Firebird 2.5 guide to install it
The very basic firebird package to build only the driver is firebird2.5-dev
Then you need to install ruby and the recommended rails way is to use rbenv
Alternate way is to build install our gem (latest build-able is located here )
You will get something like this in terminal :
Now is time to install it using the gem command
Please read the README.
here is how i tested on my machine
Here is part of the example i ran on my pc
And here are the results for my ruby test
What is next class ? RoR on Firebird
you might need some firebird dependencies and if you need the stable Firebird server Firebird 2.5 guide to install it
The very basic firebird package to build only the driver is firebird2.5-dev
sudo apt-get install firebird2.5-dev git-coreand choose yes when asked
Then you need to install ruby and the recommended rails way is to use rbenv
rbenv install 2.1.2 rbenv global 2.1.2 ruby -vBest way is to install it from gem
gem install fb
Alternate way is to build install our gem (latest build-able is located here )
git clone https://github.com/rowland/fb.git cd fb/ gem build fb.gemspec
You will get something like this in terminal :
Successfully built RubyGem Name: fb Version: 0.*.* File: fb-0.*.*.gem
Now is time to install it using the gem command
gem install fb-0.*.*.gem
Please read the README.
here is how i tested on my machine
Here is part of the example i ran on my pc
pico test.rb
And here are the results for my ruby test
ruby test.rb ID: 0, Name: John 0 ID: 9, Name: John 9
What is next class ? RoR on Firebird
Monday, March 31, 2014
Compiling Linux Kernel Vanilla - Ubuntu/Debian way
Here is my guide on Compiling x.xx.x Vanilla Final - Ubuntu/Debian using the Debian way
This article is about compiling a kernel on Ubuntu systems. It describes how to build a custom kernel using the latest unmodified kernel sources from www.kernel.org (vanilla kernel) so that you are independent from the kernels supplied by your distribution.
Install the Required packages for building it
make-kpkg clean
you can install the headers too from /usr/src/linux-headers-3.*.*-*
in my case i can show you how the packages are named
I also created a python script http://github.com/mariuz/kernelcompile
that can be used like this
This article is about compiling a kernel on Ubuntu systems. It describes how to build a custom kernel using the latest unmodified kernel sources from www.kernel.org (vanilla kernel) so that you are independent from the kernels supplied by your distribution.
Install the Required packages for building it
apt-get install git-core kernel-package fakeroot build-essential ncurses-devThen download latest kernel version
cd /usr/src
sudo su wget --continue http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.xx.x.tar.bz2 tar jxvf linux-*.*.*.tar.bz2 cd linux-*.*.* $ cp /boot/config-`uname -r` ./.config $ make menuconfig
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-vanillaice kernel_image kernel_headers cd .. dpkg -i linux-image-*.*.*
dpkg -i linux-headers-*.*.*sudo shutdown -r now
you can install the headers too from /usr/src/linux-headers-3.*.*-*
in my case i can show you how the packages are named
ls *.deb linux-image-*.*.*-vanillaice_4.4.*-vanillaice-10.00.Custom_amd64.deb linux-headers-*.*.*-vanillaice_4.4.*-vanillaice-10.00.Custom_amd64.deb
I also created a python script http://github.com/mariuz/kernelcompile
that can be used like this
git clone https://mariuz@github.com/mariuz/kernelcompile.git
cd kernelcompile sudo ./kernel-compile.py
Labels:
debian,
kernel vanilla,
linux 3.x.x,
python,
ubuntu
Friday, March 14, 2014
php5 and firebird pdo on ubuntu / debian
The recommendd method is to use the official php5 source from ubuntu or debian and build only the pdo firebird extension and install it
You need to build the pdo extension from php from ubuntu source code here is the source for php package (apt-get source will do the job for any release)
Check to have in php.ini to have the next lines also with phpinfo() function
you can also check in apache if all is correct
by creating a page in /var/www/pdo_info.php
with this content
then in the browser press F3 and search PDO
to check if all is ok with the driver then create one small example that loads the driver and then is connecting to the database server
after the driver is loaded now you can use the pdo as usual , here is the fetch example
sudo apt-get install php5-dev firebird2.5-dev php-pear devscripts debget
You need to build the pdo extension from php from ubuntu source code here is the source for php package (apt-get source will do the job for any release)
apt-get source php5 cd php5-* cd ext/pdo_firebird phpize sudo ln -s /usr/include/php5 /usr/include/php ./configure make sudo make install
Check to have in php.ini to have the next lines also with phpinfo() function
sudo pico/vi /etc/php5/conf.d/pdo.ini # configuration for php PDO module extension=pdo.so extension=pdo_firebird.so php -i | grep PDO PDO PDO support => enabled PDO drivers => firebird PDO_Firebird PDO Driver for Firebird/InterBase => enabled
you can also check in apache if all is correct
by creating a page in /var/www/pdo_info.php
with this content
then in the browser press F3 and search PDO
to check if all is ok with the driver then create one small example that loads the driver and then is connecting to the database server
after the driver is loaded now you can use the pdo as usual , here is the fetch example
Subscribe to:
Posts (Atom)