|
|
��� �������� �������� �� ��������� ������: English Deutsch Francais Nederlands Russian Turkce |
������������ � ���������� ���������������:
Run Time Access - ��� ����������, ������� ��������� ���
�������� ��������� ������ � ����� ��������� ��� �������
���� ������ PosgreSQL ��� ��� ����� � ����������� ��������
������� (����� ��, ��� � /proc). ������������� RTA �������� ������
������ ������ ��� ������� ��������� ����� ����������� �����������,
�����, ��� web, shell, SNMP, ��� framebuffer.
|
������, � ��� ���� ��������� � ������� � ������� ��������. ��������� � ������ ��������� ���:
struct mydata { char note[20]; int count; } struct mydata mytable[] = { { "Sticky note", 100 }, { "Music note", 200 }, { "No note", 300 }, }; |
���� �� �������� ���� ��������� � ����������� Run Time Access, �� ������� ��������� � ������������� ���������� ������ ��������� �� ��������� ������ ��� �� ������ ���������. ���� ������ ����� ��������� ���, ��� ���� �� ��� ���� � ���� ������ PostgreSQL. ��������� ������������ ��, ��� �� ������ ������������ Bash � psql, ���������� PostgreSQL ��� ��������� ������, ����� ������������� � ������ ������ � ����� ���������.
# myprogram & # psql -c "UPDATE mytable SET note = 'A note' LIMIT 1" UPDATE 1 # psql -c "SELECT * FROM mytable" note | count ------------+------- A note | 100 Music note | 200 No note | 300 #
��� ������ ��������� ����� RTA �����, ��� ������������ ���������� RTA � ����� ������������ �� ������ ������� �� ������������� RTA.
������������ UNIX ������� � �������� ����������� ��������� ��� ���������������� ������ � /etc/application.conf, � ��� ����������������� ������ - � /var/log/application.log. ���� �������� ������, ��������, ������������ ��� ����������� ��������, ������� �������� �� ������������ � ���������������� ������������ ���������������� ����������. ������������ ������ ������ �������, ������ ��� ������ ��� ����� ��������� ����� ������������� ���������������� �����������, � �� ����� ����� ������ �� ���� ����������� ������������ �������������, ���������� � ����������� � �������� �� ����� ��� ������. �� ��� ���������� - ��� ������ �� ����� ����������.
�������� ������� ��������� �� ������ ����� ���������������� ����������� � �� - ������������ - �� � ��������� ����������� ����� ��������� ����� ����� �����������. ��� ��� ����� ������� - ��� �������� ���������������� ���������� �� �������, ��������� ����� ��������, � ������� ���������������� ���������� ��������� ����� ��������. ��� ��������� ���������� ����������� ��� �������������, � ���������� ����� ��������� ������������, ��� ��� ������ ����� ����� ���� �������� ����������. ��� ����� ����������� ��������� ����:
���� ����������������� ���������� �������� web, ��������� ������, framebuffer, SNMP, ���������� � LCD, LDAP, ������ Windows, � ������ ���������� �� ������. ���������� ����� API � �������� ��� ���� ���������������� ����������� ��� �� ������� �����. �� ����� API � ��������?
RTA �������� ��� ������������� ���� ������ PostgreSQL ��� ����� API � ��������. ������������, ��������� � ���������� �������� � ������� ��������, ������� ��������� � API, ��� ������� � �� PostgreSQL. ��������� ����������������� ���������� ��������, ��� �������, �������������� � �� PostgreSQL. ���� ������ ����� ��� ������� ������������:
���������� RTA - ��� ����, ������� ��������� ���� ������� ��� ������� ������ �������� ������ � ��������� PostgreSQL. ����������� ����������, ������������� RTA ������ ��������� ���-������ ���:
����� �� �������� ��� management interface, ��� ��� �� ������������ ��� ���������, ���������� � ������������. �������� �� ��, ��� ������� ������ ���� ���������, �� ������ �������, ��� �� ������ ����� ����� ����������� ��� ������ ����������, � ��� ��� ������������ ����� ����� ������ � ����������.
PostgreSQL ���������� TCP � �������� ������������� ���������, ������� ����������, ����� ���� ���������� ����� ����������� � TCP ������ � ��������� ���������� �� ��������� ���������������� �����������. ��� �����, ���������� �� ��������� ���������� ���������� � RTA ��� ������ ������������ dbcommand(). ����� ������, ��������������� ��� �������� �������, ��������� � ������, ������������ �� dbcommand().
��� RTA ������, ����� ������� ��������? �� ������ ������� ��.
�� �������� RTA � ����� �������� �� ����������� ������ ������� ������������ rta_add_table(). �������� TBLDEF ��������� �������, � ��������� COLDEF ��������� �������. ��� ������, ������� ���������� ��� �������� ������� � ���������� RTA.
������ � ��� ���� ��������� �� ������� ����� 20 � �����, � �� ������
�������������� ������� � ����� ������ �����������. �� ������ ����������
��������� � ������� ��������� �������:
struct myrow { char note[20]; int count; }; struct myrow mytable[5];
������ ���� ��������� myrow �������� �������� � ������� ���� ������. ��� ���������� �������� RTA ��� �������, � ����� ������� �� ���������, ��� ��� ������, ��� �������� �� ������ ������ � ������� �� �� �� ������. �� ����� ����� ���������� callback-������������, ���������� ����� ������� ������� �/��� ����� ����, ��� �� �������. ��� ������ ������� �� ����� ������������, ��� count �������� ������ ��� ������ � ��� �� �����, ����� do_note() ���������� ����� ���������� ������ � ���� note. �� ������� ������ �� COLDEF, ������� �������� � TBLDEF, � ����� �� ����� COLDEF ��� ������� ����� ���������.
COLDEF mycols[] = { { "atable", // table name for SQL "note", // column name for SQL RTA_STR, // data type of column/field 20, // width of column in bytes 0, // offset from start of row 0, // bitwise OR of boolean flags (void (*)()) 0, // called before read do_note(), // called after write "The last field of a column definition is a string " "to describe the column. You might want to explain " "what the data in the column means and how it is " "used."}, { "atable", // table name for SQL "count", // column name for SQL RTA_INT, // data type of column/field sizeof(int), // width of column in bytes offsetof(myrow, count), // offset from start of row RTA_READONLY, // bitwise OR of boolean flags (void (*)()) 0, // called before read (void (*)()) 0, // called after write "If your tables are the interface between the user " "interfaces and the service, then the comments in " "column and table definitions form the functional " "specification for your project and may be the best " "documentation available to the developers." };
Callback-������� ����� ���� ��������� ����������, ������� ���� ����������. �� ������ �������� ������ ��������� � ������� ������� ��� ��������� ��� ���������������� ������ ����������.
�� ��������� RTA � �������� ����� �������� �� ����� �������, ����� ������ ������, ������ �������� COLDEFS ��� �������� ��������, ����� ��������, ��� save-����� ���� �� ������, ����� ��������� ������� ���� ����������, � ������ ��� �������� �������. ���� ������� �������� ����������� �������� ��������, �� ����� ��������� ����� � ����� ����� � �������. ���� ������� ������������ ����� ������� ������, �� ����� RTA ���������, ����� ��������� �� ����� �� ����� ������ � ���������.
TBLDEF mytableDef = { "atable", // table name mytable, // address of table sizeof(myrow), // length of each row 5, // number of rows (void *) NULL, // iterator function (void *) NULL, // iterator callback data mycols, // Column definitions sizeof(mycols / sizeof(COLDEF), // # columns "", // save file name "A complete description of the table." };
�������, �� ��������, ����� ��� �������, ������� SQL, ���� ����� ��, ��� � �� ��� � ���������. ������ ���������� �� mytable � atable ������ ����� ��������, ��� ����� �� ������ ���� �����������.
���� ���� ������������� ���, �� ������ ������ �������� RTA � ����� �������.
rta_add_table(&mytableDef);
��� ���. ����� ������������ RTA ��� ���� ��������� ������������ ��� ��������� (COLDEFS � TBLDEF) � ��� ������������ (dbcommand() � rta_add_table()).
������������� ��� ��������, ����� ���� ��� ������������� � ���, ��� �������� RTA. ��� �� ������ ����������� ��� ��������� ������� ������. ������ ������� ������, ������ �������� RTA API � �������� ������ ��������� �� ����� RTA (www.runtimeaccess.com).
��� ������ �� ���������� ������� ��� ������������� � ����� ����������, RTA ���������� ����� ����� ���������� ������. ��� ����� ���������� �� ��� - ��� rta_tables � rta_columns, �������, �������, �������� ��������� ��� ��������� � �������� ���� ������ � ��������, ������������ ����. ��� ��� ���������� ��������� �������. ��������� ������� ������ �� ��, ��� ls ������ ��� �������� ������� � getnext() ������ ��� SNMP.
����� �� ������, ������������ � RTA �������� ��������� PHP-���������, ������������ ��������� ������� ��� ��������� ����� RTA-������ � ���� web-��������. ����� ������ ������������ ��������, � ������� �� ��� ������� ���������� ������ 20 ����� ���� �������. ���� � ������� ���� ������������� ����, �� ������ �������� �� ������, ����� ������� ���� �������������� ��� ���� ������. ��� ��� ������� � �������������� ���������� ������ � ��������, ��������� � ��������� ��������. ����� ������ ��������� �� ��������� ���������:
�������� ��� ������ ���������� ��������� ��� ���������� ���������� RTA ������� ����.
�������� ������ RTA
|
������, ���� ��� ������ ������ ��� ���������� ���� ������ LinuxFocus, ����� ������, ������ ���� ������ ����� ����� ������ �� ��������� ����������, ���������� �� RTA web-������� � �����-�����, ����������. ������� ������ - ��� ������ �� mytable.
Run Time Access - ��� ����������, ������� ��������� ����������� ��������� ��� ��������� ����������������� ����������, ���������� � ����������� ������� PostgreSQL (libpq), � ����� ����������� ��� �������. RTA - ��� ���������, � �� ���� ������. ������� �� ���������� ������ ��� SQL �������: SELECT � UPDATE.
�������� ��� ������� SELECT:
SELECT column_list FROM table [where_clause] [limit_clause]
column_list - ������ ���� ��������, ����������� ��������. where_clause - ������ ���������, ����������� ������� AND. ��������� ���������: =, |=, >=, <=, >, � <. limit_clause ����� ����� [LIMIT i] [OFFSET j], ��� i - ������������ ����� ������������ ����� � �� ���������� j ����� ����� ������� ������. ��������� ������� ����� ������ ���������� ���������.
SELECT * FROM rta_tables SELECT notes, count FROM atable WHERE count > 0 SELECT count FROM atable WHERE count > 0 AND notes = "Hi Mom!" SELECT count FROM atable LIMIT 1 OFFSET 3
��������� LIMIT � 1 � ����������� OFFSET - ��� ������ �������� ������������� ������. ��������� ������ ������������ ���� �� C (mytable[3].count).
��������� ������� UPDATE:
UPDATE table SET update_list [where_clause] [limit_clause]
UPDATE atable SET notes = "Not in use" WHERE count = 0 UPDATE rta_dbg SET trace = 1 UPDATE ethers SET mask = "255.255.255.0", addr = "192.168.1.10" WHERE name = "eth0"
RTA ���������� ����������������� ����� ��� � �������, ��� � � ������ ��������, ���� ����� ������� ���������� ������� ������� ��� ���� ����������������� ���� SQL.
�� ������ ������� RTA � ��� web-����� www.runtimeaccess.com (RTA ��������� ��� ��������� LGPL). ������ ��������� � ������ ������ RTA ��� ����������. ��������� ������ RTA ���������� ����� �������� PostgreSQL, ��������� � PostgreSQL ������ 7.4. ����������� ����������� ������������ Linux ���������� ������ 7.3. ���� �� ������ ������������ ������ ������ RTA ��� ��������� �������. ����� �������� ��������� ����������� � ����������, �� ������ ������������ ��������� ������.
����� ������������ �� ������ �������� ��������� ����������:
./doc # a copy of the RTA web site ./empd # a prototype deamon built with RTA ./src # source files for the RTA library ./table_editor # PHP source for the table editor ./test # source for a sample application ./util # utilities used in writing RTA
��������� Graham Phillips, RTA ������ 1.0 ����� ��������� autoconf. Graham ���������� RTA �� Linux �� Mac OS X, Windows � Free BSD. ��������� ����� 1.0 �� ������ ������� RTA ��������
./configure make make install # (as root)
���������� �������� librtadb.so � ��������� ������������ ����� � /usr/local/lib. ����� ������������ RTA �� ������ �������� ��� ���������� � /etc/ld.so.conf � �������� ldconfig, ��� �� ������ �������� ��� ���������� � ���� ������ ����������:
export LD_LIBRARY_PATH=/usr/local/lib
���������� �������� ������������ ���� RTA, rta.h, � /usr/local/include
Make �������� �������� ��������� � ���������� test � �� ������ ��������� ���� ���������, ������� � ���������� test � �������� ./app &. ������� netstat -nat ������ �������� ���������, ��������� ���� 8888. ������ �� ������ ��������� psql � �������� SQL ������� ������ ��������� ����������.
cd test ./app & psql -h localhost -p 8888 Welcome to psql 7.4.1, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit # select name from rta_tables; name ------------- rta_tables rta_columns rta_dbg rta_stat mytable UIConns (6 rows)
� �� �����, ����� ��� �������� ��� ����� �� ���������� � ���� ������, �� ����� ���� ��� �� ���. �� ���������, ��� �� ������ ������������ ������ ��� �������: SELECT � UPDATE.
������������ ��������� �������� ����������������� ���������� �� ������ ��������������� ������� ��������� � ������� ���������� ��������������, �����������, ������� � ������������.
� ����� ������ ��������������, ���������� ���������� ��� ������ ��� ��� ��������������, ��� ������ ���������� � �������� ����� ��, �� �������� ��� ��� ����������. ������������ �������, ����������� ��� ���������� ������ ���������� ��� ������ � ��������� ���������� ������ ����������. ������� ����� ����������� ���������� �������������� ������������ ������ ����������.
�� ����� ����������� ����������� ������ - ��� ��, ��� ������� �������� ������ � ��, � ���� ������� �������� ��. ���������� �� � ������ �������������, ��� �� ������ ���������� ������ ��-��������� � �����-���������, � ��� ����� ���������� ����������, ��� ����� ������ ������ �������� ������� �� �����. �.�. ���������� ����� Postgres � PHP, Tcl/Tk, Perl � "C", ���� ������������ ����� ������������ ���������� ���������� ��� ������.
������� �������� ������� � �����, ������ ��� �������� �� � ������ ����� ����� ����������� ������ ��������. ��������, �������� �� ����� ��������� ���� ��������� �� ������ � ��������� Postgres ��, ������� ����� ����� �� �������, ��� ����� ����� �����. �������� ������ ����� ���� ����� � ����� ������, �.�. ����� ������� �������� �������, ����� ����������� ��, � ����� ��������� ��������� ��������� � ���������� �� ����� ������ �����. ����������� ������������� ������������� ���������� ��������� ��� ������� �������� ����������� ������� �������, ��� ������ ������ ������� � ������������ ���������.
����������� ������ �������� ����� ���� ��������� � RTA. ��� �������� ������������� ������ ����������� ������ ���������������� ���������� � ��������� � ���������� �� ����� ������ ���������. ��������� �� �� ������ ��������, ��� �� ������� ����� ������ �������� ��: SNMP, ��������� ������, web, LDAP � ������ ����� ����������. ��� �������� ����� ����� ��� ��� ���� (�����!) ���� ��������� ���������� �� �� �����.
RTA ���������� ��������� ������ �������������, ������� �� ������ �������� ����� � ������:
��� ������ ����������� ����� ������� �������� � ���������� RTA � �� �����������. �� web-����� RTA ���� FAQ, ������ �������� API � ��������� �������� ���������� ��������.
��� RTA ����� ���������� ���� ��������� ������ � ���� ������ � ���� ������, ����� ��� ����� ���������� ��, ��� ����� � ����������� �������� �������. ( ������������� ������ File System in Userspace (FUSE) by Miklos Szeredi.) �� Web-����� ������ ���������� � ���, ��� ������������ ��������� �������� �������.
|
Webpages maintained by the LinuxFocus Editor team
© Bob Smith, FDL LinuxFocus.org |
Translation information:
|
2004-06-01, generated by lfparser version 2.43