|
From: <cre...@us...> - 2006-10-10 19:30:15
|
Revision: 1550
http://svn.sourceforge.net/frontierkernel/?rev=1550&view=rev
Author: creecode
Date: 2006-10-10 12:30:06 -0700 (Tue, 10 Oct 2006)
Log Message:
-----------
added sqlite verbs.
Added Paths:
-----------
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/clearQuery
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/close
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/compileQuery
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/easyQuery
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/escapeQuotes
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumn
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnCount
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnDouble
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnInt
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnName
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnText
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnType
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRow
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRowColumnNames
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableNames
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableSchema
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/open
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/resetQuery
ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/stepQuery
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/clearQuery
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/clearQuery (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/clearQuery 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.clearQuery
+
+on clearQuery ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.clearQuery )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/close
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/close (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/close 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.close
+
+on close ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.close )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/compileQuery
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/compileQuery (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/compileQuery 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.compileQuery
+
+on compileQuery ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.compileQuery )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/easyQuery
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/easyQuery (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/easyQuery 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,27 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.easyQuery
+
+on easyQuery ( dbID, queryString, maxRows=0 ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ local ( compiledQuery, dataset = {}, row, rowCount = 0 );
+ on isNum ( s ) {
+ for i = 1 to string.length ( s ) {
+ ch = string.mid ( s, i, 1 );
+ if ( ch < '0' ) or ( ch > '9' ) {
+ return false}};
+ return true};
+ if not isNum ( maxRows ) {
+ scriptError ( "sqlite.easyQuery requires a numeric value for maxRows." )};
+ compiledQuery = sqlite.compileQuery ( dbID, queryString );
+ loop {
+ result = sqlite.stepQuery ( compiledQuery );
+ if result != 100 { // SQLite's code for more rows
+ break};
+ ++rowCount;
+ if ( maxRows > 0 ) and ( rowCount > maxRows ) {
+ break};
+ row = sqlite.getRow ( compiledQuery );
+ dataset[rowCount] = row};
+ sqlite.clearQuery ( compiledQuery );
+ return dataset}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/escapeQuotes
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/escapeQuotes (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/escapeQuotes 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.escapeQuotes
+
+on escapeQuotes ( s ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ return ( string.replaceAll ( s, "'", "''" ) )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumn
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumn (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumn 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumn
+
+on getColumn ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumn )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnCount
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnCount (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnCount 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumnCount
+
+on getColumnCount ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumnCount )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnDouble
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnDouble (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnDouble 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumnDouble
+
+on getColumnDouble ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumnDouble )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnInt
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnInt (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnInt 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumnInt
+
+on getColumnInt ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumnInt )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnName
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnName (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnName 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumnName
+
+on getColumnName ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumnName )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnText
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnText (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnText 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumnText
+
+on getColumnText ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumnText )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnType
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnType (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getColumnType 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getColumnType
+
+on getColumnType ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getColumnType )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRow
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRow (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRow 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getRow
+
+on getRow ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.getRow )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRowColumnNames
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRowColumnNames (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getRowColumnNames 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,11 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getRowColumnNames
+
+on getRowColumnNames ( queryID ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ local ( i, count, resultList = {} );
+ count = sqlite.getColumnCount ( queryID );
+ for i = 1 to count {
+ resultList [ i ] = sqlite.getColumnName ( queryID, i )};
+ return ( resultList )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableNames
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableNames (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableNames 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,24 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getTableNames
+
+on getTableNames ( dbID, type = "table" ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ «Specialized query that returns a list of tables in a database using sqlite_master
+ «special database query
+ local ( compiledQuery, query, result, rowCount = 1, rowList );
+ local ( dataset = {} );
+ if type != "table" and type != "index" and type != "view" and type != "trigger" {
+ scriptError ( "SQLite sqlite_master types must be table, index, view, or trigger." );
+ return ( false )};
+ query = "SELECT name FROM sqlite_master WHERE type='" + type + "' ORDER BY name";
+ compiledQuery = sqlite.compileQuery ( dbID, query );
+ loop {
+ result = sqlite.stepQuery ( compiledQuery );
+ if result != 100 { // SQLite's code for more rows
+ break};
+ rowList = sqlite.getRow ( compiledQuery ); // we assume the list to be one element for this query
+ dataset [ rowCount ] = rowList [ 1 ];
+ ++rowCount};
+ sqlite.clearQuery ( compiledQuery );
+ return ( dataset )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableSchema
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableSchema (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/getTableSchema 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,15 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.getTableSchema
+
+on getTableSchema ( dbID, table ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ «Specialized query that returns a list of tables in a database using sqlite_master
+ «special database query
+ local ( compiledQuery, query, result, schema );
+ query = "select sql from sqlite_master where name='" + table + "'";
+ compiledQuery = sqlite.compileQuery ( dbID, query );
+ result = sqlite.stepQuery ( compiledQuery );
+ schema = sqlite.getColumnText ( compiledQuery, 1 );
+ sqlite.clearQuery ( compiledQuery );
+ return ( schema )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/open
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/open (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/open 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.open
+
+on open ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.open )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/resetQuery
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/resetQuery (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/resetQuery 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.resetQuery
+
+on resetQuery ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.resetQuery )}
\ No newline at end of file
Added: ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/stepQuery
===================================================================
--- ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/stepQuery (rev 0)
+++ ODBs/trunk/frontierRoot/system/verbs/builtins/sqlite/stepQuery 2006-10-10 19:30:06 UTC (rev 1550)
@@ -0,0 +1,7 @@
+FrontierVcsFile:2:scpt:system.verbs.builtins.sqlite.stepQuery
+
+on stepQuery ( x ) {
+ «Changes
+ «10/10/06; 11:44:50 AM by DG
+ «created
+ kernel ( sqlite.stepQuery )}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|