Feeds, issues, packages and code source about emulation and pograming, of VENENUX proyects, Debian related distros and massenkoh!

mysql to sybase : ISNULL vs. COALESCE

In MySQL, and also Transact-SQL (Sybase or SQLServer), you can use both ISNULL and COALESCE to use a default in case you have NULL values:
select IFNULL('pepe', 123);

For right interaction with proxy-tables in SAP Sybase, must use better than null simple check:

USE COALESCE: due is ANSI standard. So if you think you might have to port the code to another DBMS, it’s a safer bet. Works as espected in both sybase and mysql, also another stupid like micosoft.

AVOIT ISNULL: due in MySQL returns boolean depends of configuration an version. This boolean if the result are miscinterpreted can be trheated as "0" char and think if zero value. Sybase does not assume "question" behavior, whientime MySQL assumes a "question" like "this fiel are null "or not" and return "true" (yes its null) or false (no ther'n).

The problem resides in that coalesce it for experts...
sybase> select IFNULL('pepe', 123);

mysql> select IFNULL('pepe', 123);

here with coalesce in mysql expected are good:
sybase> select COALESCE('pepe', 123);

mysql> select COALESCE('pepe', 123), ;


SCHEME vs REAL DB: how to change on fly codeigniter DB with one config

Codeigniter has methos to access and manage CURRENT configured database.

SPANISH version of this : https://groups.google.com/forum/m/#!topic/venenuxsarisari/jTP0zhLQHOY

There's no method to change on the fly the "current selected db group", u must create one group per database and select it on the load, such as: 


where configdb1 its a stored array of database settings for connecting.

There's a hack 2way to dinamically choose database on the fly in the controller with one configuration.

1) configure a database group array but only in the config.php file
2) load all the varables and extrac the array of u'r db configuratio
3) change the "database" key value to the new
4) re - load the database library with the "changed" settings

a example quick code:

1) go to application/config.php :

$config['sysdb'] =  array(
'database'=>'', /* this will be changed "on the fly" in controler */

2) now in u'r controller made "each time u want to change" a database name with same connections parameters:

$configdbfly = $this->config->config['sysdb'];
$configdbfly['database']='sysdbadminis'; /*cambiamos de db*/
IMPORTANT: the undocumented "$this->config->config" are subject to change and could not be available at the lasted version, but the item can be acceced manually.

ISO burn and creating, how use in console Record CD Record DVD drive


ISO: quemar y crearla, principios basicos -
ISO: burning and creating, basic issues
For CD/DVD/BRD recording or burn, we commonly used K3B, Brasero, GnomeBaker, SimpleBurn or Xfburn, but in some situations we need use command line or more limited environment need use the console, this will try to covert that situations.
Covering in this article:
  • Burn a disc for a selected o amount of files
  • Burn a disc, from a precreated iso file with the files
Para grabar CD/DVD/BRD, comunmente usamos K3B, Brasero, GnomeBaker, simpleBurn o Xfburn, pero en algunas situaciones, necesitamos usar lineas de comandos o entornos mas limitados necesitan el uso de la consola, aquí se cubrira dicha situaciones.
Cubierto en este articulo:
  • Quemar un disco de un archivo unico o muchos
  • Quemar un disco de una imagen ISO con archivos


apt-get install genisoimage woodim


apt-get install genisoimage woodim

Burn files, need and image ISO firts: CREATE A ISO

Quemar discos, necesita hacer una ISO: CREAR UN ISO

An ISO file its a container for the CD or DVD or BRD discs into the computer o directories of their PC, to make it, easy, we need three things, the origin or the things/files that we will burnd in disc, target or where and a name fpr the iso image:
In server enviroments, or minimal configurations, GUI Xorg are not common, so the command line for make it are:

Un archivo ISO es un contenedor para los discos CD, DVD o BRD en la computadora o directoris de la PC, mara hacerlos, facil,necesitamos tres cosas, el origen o de que cosas/archivos
quemaremos o grabaremos, el destino o donde y que nombre tendrala imagen iso:
En servidores, o configuraciones minimas, GUI Xorg no esta comunmente, el comando para consola para fabricarla es:

/usr/bin/genisoimage -volid image-iso-name -sysid LINUX
-iso-level 2 -R -o /home/user/image.iso /home/user/filestoburn
  • with -graft-points, we say that uses character move certain names by using escape "/" or a EOL inside. Recommended always use that option.
  • with -iso-level 2 tells iso-long names put on file, including spaces, as just look at linux. (if not used, it will be only 8.3 as was in older MSDOS) with -sysid LINUX from where came the origin, needed to burn! 
  • with -volid the iso file will attach the name to image-iso-name of the iso image. Same as identified the isousbdrive or partition drive in any media.
  • with -o /home/user/image.iso say that the file was created in the home of "user" name and image iso extension. Its the detination place inside the pc.
  • with the -R system of the image files will be read correctly in Linux. 
  • with -print-size will give us information resulting from the size, needed to burn after the iso. 
  • /home/user/filestoburn at the end of this, which is a directory with the files that will be in the iso image. 
  • The option-print-size will not make the iso image. The option-print-size does not  make the iso, only calculates the size and spits, namely that the ultimate gonna be the console to the characters of the file size, or errors or anything, just the size after anything. Its commonly used to calculate if result iso will “fit” into the disc if (as will 700M for CD, 4.4G for DVD or 16G for BRD)
  • con -graft-points le decimos que use caracter de escape al pasar ciertos  nombres com "/" o fin de linea en ellos, Recomendable siempre usar esto. 
  • con -iso-level 2 decimos que ponga nombres largos en los archivos, que incluye espacios tal como se ven en linux. (si no la usa, solo sera 8.3 como en MSDOS)

  • con -sysid LINUX decimos de donde vino el origen, necesario para quemar! 
  • con -volid asignamos el nombre del archivo iso a image-iso-name de la imagen iso. Esto es lo mismo que poner un nombre a un pendrive o a una particion.
  • con -o /home/user/image.iso decimos que el archivo se creara en el home del "user" de nombre image y extension iso. Es el lugar destino donde se creara el archivo en la pc.
  • con -R el systema de ficheros de la imagen sera leido en linux correctamente. 
  • con -print-size se nos dara informacion del tamano resultante, necesario para despues quemar la iso.
  • /home/user/filestoburn esta al final, que es un directorio con los ficheros que estaran en la imagen iso. 
  • La opcion -print-size no hara la iso. la opcion -print-size no hace la iso, solo calcula el tamano y lo escupe, es decir, lo ultimo que saldra a la consola sera los caracteres del tamano del archivo, ni errores ni nada, solo el tamano despues de cualquier cosa. Es usada para saber si “cabra” en el disco a grabar (que son en 700M CD, 4.4G DVD o 16G BRD)



Once we have the iso file with the archives that need to put into a disc, now we need to “burn” or record the iso file into a real phisical disc such a CD, a DVD or BRD, previously u must verify the size (read the last topic in previus lines)
NOTE: for record a DVD the disc drive must have capacity to record DVD, of coure if record DVD can record CD also, and so same for BRD too.
Using woodin the iso conatiner file will be recorded into the phisical disc if the Disc Drive can be record disc.
Una vez que tenemos el archivo iso con los ficheros que necesitamos poner en un disco, ahora tenemos que “quemar” o grabar el archivo iso en un disco real fisico como un CD, un DVD
o BRD, previamente debe verificar el tamano (leer la ultima linea anteriores)
NOTA: para grabar un DVD la unidad debe tener capacidad de grabar DVD, por supuesto si graba DVD puede grabar CD, e igual
para BRD tambien.
Usando woodim el archivo iso sera grabado en el disco fisico si la unidad puede grabar discos.

/usr/bin/wodim -gracetime v=2 dev=/dev/scd0 speed=16 -dao
-eject driveropts=burnfree -data /home/user/image.iso
  • with -eject him say that eject the disc to finish recording! with gracetime=2 is that you wait for 2 seconds to start writing a "track" (see below) 
  • The dev=/dev/cdrw0 means burner device that we use (may be /dev/cdrom or /dev/hdc or dependent) 
  • with speed=16 I say burn 16x in nomadays this was configured, today its not posible, was primordial cos lents of Playstations and Dreamcast wil not sufer damages.
  • with -dao with him that the disc will be written so dao, used to booteables discs! The other mode SAO permits continue to writing in same disk, either if are one-write only disc, but its not commonly permited in modern optic drives today.
  • with -v prints all, time what are doing either good or bad, if you know that all this will be good, remove it. Recommended for impatient users that need see were still happened.

  • The dirveropts=burnfree tells it to use it to "buffer underburn" or whatever that means! burning a disc with data-rate data, it is  clear in this case an image. In nomadays this option resulting in bad Playstations or Dreamcast discs copys.
  • at the end of this /home/user/image.iso which is the iso image to burn, can be clear ./image.iso if running from the directory of file.iso. 
  • con -eject le decimos que expulse el disco al terminar de grabar! con gracetime=2 es que espere 2 segundos para comenzar a escribir un "track" (leer mas adelante) 
  • el dev=/dev/cdrw0 significa que quemadora usaremos (puede ser /dev/cdrom, o /dev/hdc o depende) 
  • con speed=16 le digo que queme a 16x en  tiempos pasados esto se configuraba, hoy dia no se puede, primordial para que los lentes de Playsations y Dreamcast no se desgastaran.
  • con -dao le dico que el disco sera escrito en modo dao, usado para discos booteables! El otro modo SAO permite seguir grabando en el mismo disco de una sola grabacion, pero las quemadoras mas modernas comunmente no lo permiten.
  • con -v imprimira todo, en la consola sea bueno o malo, si sabes que todo esta al pelo, quitalo. Recomendado para usuarios impacientes que necesitan saber que esta sucediendo.
  • el dirveropts=burnfree le dice que use eso de "bufer underburn" o que se yo! con data quemara un disco de tipo de datos, claro en este caso es una imagen. En tiempos anteriores esta opcion resultaba in discos Playstation o Dreamcast mal quemados
  • al final esta /home/user/image.iso que es la imagen iso a quemar, claro puede ser ./image.iso si se ejecuta desde el directorio del file.iso.



If the iso file must be checked if the contents are as dessire, or see what are the contents before burnd the data to real disc: Si el archivo iso debe ser revisado si el contenido quedo como se desea, o ver que es el contenido antes de grabarlo a un disco real:

isoinfo -l -R -d -i ./filename.iso | more
  • with -l list with the files, use with care if they are
    many, u will know how filter if u used inux ja ja ja.

  • with -R list only linux files. 
  • with -d read information on the disk, this is the only interesting option. 
  • with -i filename.iso read all this information from the file "filename.iso" if pass -R and there is no linux files, not output anything. The -d and -l options are analogous. The -i and iso name always must be parsed.
  • con -l lista los archivos, usar con cuidado si son muchos, si sabes usar linux sabras como ja ja ja. 
  • con -R lee solo ficheros de linux. 
  • con -d lee la informacion del disco, esta es la unica opcion interesante. 
  • con -i filename.iso todo esto lee la informacion desde el archivo "filename.iso" , si se pasa -R y no existe ficheros linux, no sale nada. si se pasa -d no sirve la opcion -l y viceversa. Siempre debe pasar al final la opcion -i y el nombre del fichero.



Another way to see the contents of the iso file, or better if dont have a burn drive, still can use the iso file, once created or have it, mount as a drive and use it! Otra manera de ver el contenido del iso, o mejor si no se tiene una unidad grabador, se puede usar el iso aun, una vez creado o realizado, montarlo como una unidad y usarlo!

mkdir -p /media/isofile
mount filename.iso /media/isofile -o ro

NOTE: by default can mount simultaneos 8 files in 8 different directories, due only 8 loop nodes are created by udev. Can make more for that read in this blog and old article about it. HERE: https://qgqlochekone.blogspot.com/2010/10/lopp-management-manejo-de-loops.html

NOTA: incialmente puede montarse simultaneo 8 isos en 8 distintos directorios, debido a que solo 8 loop nodos son creados por udev. Puede crear mas, para ello busque una lectura vieja en
este mismo blog. AQUI: https://qgqlochekone.blogspot.com/2010/10/lopp-management-manejo-de-loops.html


That are coverted in another article HERE: https://qgqlochekone.blogspot.com/2008/04/iso-linux-debian-venenux-tools.html
Theres is more related software such Kiso, Acetoneiso,
Furiusisomount, but these programs are for ISO manipulate event burn and see in disc.


Eso esta cubierto en otro articulo AQUI: https://qgqlochekone.blogspot.com/2008/04/iso-linux-debian-venenux-tools.html
Existen mas programas relacionados como Kiso, Acetoneiso, Furiusisomount pero estos programas son para manipular ISO y no verlos.