Menu

x-db

Wurlde

No está del todo terminado, pero cumple con lo que quería hacer...

La filosofía es la misma, un proceso que está pensado como "extensión shell" para sistemas unix/linux y poder utilizar el resultado con otros comandos (grep, awk, head, tail...)

Incluye también el apartado de 'variables compartidas' (var.set & var.get) que su hermano mayor.

ejemplo de utilización:
$ echo 'databases.list' | nc localhost 9090
$ echo 'databases.create.database test' | nc localhost 9090
$ echo 'databases.list' | nc localhost 9090

$ echo 'test.create.table tabla "campo1" "campo2" "campo3"' | nc localhost 9090

$ echo 'test.list' | nc localhost 9090

$ echo 'test.drop.table tabla' | nc localhost 9090

$ echo 'test.tabla.insert "valor1" "valor2 con espacios" "valor3"' | nc localhost 9090

$ echo 'test.tabla.query "campo1" = "valor1"' | nc localhost 9090

$ echo 'databases.create.database test' | nc localhost 9090;echo 'test.create.table tabla "campo1" "campo2" "campo3"' | nc localhost 9090;echo 'test.tabla.insert "valor1" "valor2 con espacios" "valor3"' | nc localhost 9090;echo 'test.tabla.insert "valor1" "valor2.con.puntos" "valor3"' | nc localhost 9090;echo 'test.tabla.insert "valor1.1" "valor2.1 con espacios" "valor3.1"' | nc localhost 9090

$ echo 'test.tabla.update "campo1" = "valor1" "campo3" "valorX"' | nc localhost 9090

$ echo 'test.tabla.records' | nc localhost 9090

$ echo 'test.tabla.create.index indice "campo1"' | nc localhost 9090
$ echo 'test.tabla.reindex indice' | nc localhost 9090
$ echo 'test.tabla.index.query indice "valor1"' | nc localhost 9090

// databases.list
// databases.create.database <db name="">
// databases.drop.database <db name="">

// <db name>.list
// <db name>.create.table <name> <field> <field> ... <field> (1 to N)
// <db name>.drop.table <name>
// <db name>.<table name>.fields  (query model)
// <db name>.<table name>.indexes (query model)
// <db name>.<table name>.records (select * from <table name>)
// <db name>.<table name>.count   (select count(*) from <table name>)
// <db name>.<table name>.insert "<field>" "<field>" ... "<field>" (1 to N, must be the same field number and order the table has)
// <db name>.<table name>.query <field> <operator> <value>
// <db name>.<table name>.delete <field> <operator> <value>
// <db name>.<table name>.update <field> <operator> <value> <field> <value>
// <db name>.<table name>.create.index <name> "<field>"
// <db name>.<table name>.index.query <name> "<value>"
// <db name>.<table name>.reindex <name>

// notes: <field> and <value> always enclosed within single-quotes