Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.234.075 Times

SQL::Statement::Embed 1.15

  Date Added: August 12, 2010  |  Visits: 912

SQL::Statement::Embed

Report Broken Link
Printer Friendly Version


Product Homepage
Download (98 downloads)



SQL::Statement::Embed can embed a SQL engine in a DBD or module. SQL::Statement is designed to be easy to embed in other modules and to be especially easy to embed in DBI drivers. It provides a SQL Engine and the other module needs to then provide a data source and a storage mechanism. For example, the DBD::CSV module uses SQL::Statement as an embedded SQL engine by implementing a file-based data source and by using DBI as the user interface. Similarly DBD::Amazon uses SQL::Statement as its SQL engine, provides its own extensions to the supported SQL syntax, and uses on-the-fly searches of Amazon.com as its data source. SQL::Statement is the basis for eight existing DBDs (DBI database drivers). If you have a new data source, you too can create a DBD without having to reinvent the SQL wheel. Its fun, its easy, become a DBD author today! SQL::Statement can be also be embedded without DBI. Well explore that first since developing a DBD uses most of the same methods and techniques. The role of SQL::Statement subclasses SQL::Statement provides a SQL parsing and execution engine. It does not provide a data source or storage mechanism other than in-memory tables. The DBD::File module is a subclass of SQL::Statement that provides access to file-based storage mechanisms. Its quite possible to use things other than files as data souces, in which case we wouldnt use DBD::File, instead wed replace DBD::Files methods with our own. In the examples below, well use DBD::File, replacing only a few methods. SQL::Statement provides SQL parsing and evaluation and DBD::File provides file-based storage. The only thing missing is a data source - what we actually want to store and query. As an example suppose we are going to create a subclass called Foo that will provide as a data source a simple file similar to a passwd file - one record per line, fields separated by colons, with only three fields "username, uid, gid". Consider what needs to happen to perform a SELECT query on our Foo data: * recieve a SQL string * parse the SQL string into a request structure * open the table(s) specified in the request * define column names and postions for the table * read rows from the table * convert the rows from colon-separated format into perl arrays * match the columns and rows against the requested selection criteria * return requested rows and columns to the user To perform operations like INSERT and DELETE, we also need to: * convert rows from perl arrays into colon-separated format * write rows * delete rows SQL::Statement takes care of all of the SQL parsing and evaluation. DBD::File takes care of file opening, reading, writing, and deleting. So the only things Foo is really responsible for are: * define column names and postions for the table * convert rows from colon-separated format into perl arrays * convert rows from perl arrays into colon-separated format In SQL::Statement subclasses these responsibilities are assigned to two objects, a ::Statement object is responsible for opening the table, defining the column names and positions, and for creating new ::Table objects. A ::Table object is responsible for reading, converting, writing, and deleting data..

Requirements: No special requirements
Platforms: Linux
Keyword: Data Data Source Dbd Dbi Embed Engine Libraries Programming Provides Rows Source Sql Engine Sqlstatementembed
Users rating: 0/10

License: Freeware Size: 87.04 KB
USER REVIEWS
More Reviews or Write Review


SQL::STATEMENT::EMBED RELATED
Libraries  -  Persistent::DBI 0.50
Persistent::DBI is an Abstract Persistent Class implemented using a DBI Data Source. SYNOPSIS ### we are a subclass of ... ### use Persistent::DBI; @ISA = qw(Persistent::DBI); ABSTRACT This is an abstract class used by the Persistent...
10.24 KB  
Libraries  -  DBD::RAM 0.072
DBD::RAM is a DBI driver for files and data structures. SYNOPSIS use DBI; my $dbh = DBI->connect(DBI:RAM:,usr,pwd,{RaiseError=>1}); $dbh->func({ table_name => my_phrases, col_names => id,phrase, data_type => PIPE, data_source => [ ],...
29.7 KB  
Libraries  -  Gtk2::Ex::DBITableFilter 0.03
Gtk2::Ex::DBITableFilter is a high level widget to present large amounts of data fetched using DBI. Also provides data filtering capabilities. May be you are dealing with tons of relational data, safely tucked away in an RDBMS, accessible using...
10.24 KB  
Libraries  -  Teroid Data Source Selector 1.0
OLE DB includes a familiar interface for users to select a data source. This interface cannot be invoked directly using ADO.NET or other parts of the .NET framework without using complex interop. Teroid Data Source Selector 1.0 is a Visual...
113 KB  
Database Tools  -  DTM ODBC Manager 1.03.10
DTM ODBC Manager is a free simple and easy-to-use ODBC Data Sources manager. The program allows you to export data source definitions into a file and then restore it on a local or remote system. ODBC Manager is an indispensable tool for DBAs or...
296.87 KB  
Development Editors  -  DTM ODBC DSN List 2011
DTM ODBC DSN List is a free command line tool that enumerates or export to text file the list of ODBC data source names (DSN). The text file generated by the tool is ready to open by MS Excel. There are two output format: brief and full. Also, it...
20.48 KB  
Libraries  -  wwtxt 1.11
Parsing XML and CSS data is rather simple, but most libraries that aim for this simple goal are bloated with a whole lot of other irrelevant additions. The wwtxt library is a very minimalistic library containing just the required parsers (and...
46.08 KB  
Libraries  -  Class::DBI::Query 3.0.15
Class::DBI::Query is a Perl module with deprecated SQL manager for Class::DBI. SYNOPSIS my $sth = Class::DBI::Query ->new({ owner => $class, sqlname => $type, essential => @columns, where_columns => @where_cols, }) ->run($val); This...
102.4 KB  
Libraries  -  DBD::AnyData 0.08
DBD::AnyData is a DBI access to XML, CSV and other formats. SYNOPSIS use DBI; my $dbh = DBI->connect(dbi:AnyData(RaiseError=>1):); $dbh->func( trains, CSV, /users/joe/cars.csv, ad_catalog); $dbh->func( bikes, XML, [$xml_str], ad_import);...
20.48 KB  
Network & Internet  -  The Data Mine 1.0
The Data Mine is a search engine designed to give users an unusually powerful interface. It is designed around human-computer intelligent interaction (making the computer a tool so humans can use their intelligence). The project divides the...
71.68 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB