summaryrefslogtreecommitdiffstats
path: root/infrastructure/framework-src/modules/sqlbase/sqlbase.js
diff options
context:
space:
mode:
Diffstat (limited to 'infrastructure/framework-src/modules/sqlbase/sqlbase.js')
-rw-r--r--infrastructure/framework-src/modules/sqlbase/sqlbase.js205
1 files changed, 0 insertions, 205 deletions
diff --git a/infrastructure/framework-src/modules/sqlbase/sqlbase.js b/infrastructure/framework-src/modules/sqlbase/sqlbase.js
deleted file mode 100644
index 3df1a0f..0000000
--- a/infrastructure/framework-src/modules/sqlbase/sqlbase.js
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS-IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import("jsutils.*");
-import("sqlbase.sqlcommon");
-import("fastJSON");
-import("timer");
-
-jimport("java.lang.System.out.println");
-
-function _sqlbase() {
- return sqlcommon.getSqlBase();
-}
-
-/**
- * Creates a SQL table suitable for storing a mapping from String to JSON value.
- * Maximum key length is 128 characters. Has no effect if the table already exists.
- */
-function createJSONTable(tableName) {
- _sqlbase().createJSONTable(String(tableName));
-}
-
-/**
- * Retrieves a JavaScript object or value from a table. Returns undefined
- * if there is no mapping for the given string key. Requires that the table
- * exist.
- */
-function getJSON(tableName, stringKey) {
- var result = _sqlbase().getJSON(String(tableName), String(stringKey));
- if (result) {
-
- return fastJSON.parse(String(result))['x'];
-
- /* performance-testing JSON
- var obj1 = timer.time("JSON.parse (json2)", function() {
- return JSON.parse(String(result))['x'];
- });
- var obj2 = timer.time("JSON.parse (fastJSON)", function() {
- return fastJSON.parse(String(result))['x'];
- });
- return obj2;
- */
- }
- return undefined;
-}
-
-function getAllJSON(tableName, start, count) {
- var result = _sqlbase().getAllJSON(String(tableName), Number(start), Number(count));
- return Array.prototype.map.call(result, function(x) {
- return {id: x.id(), value: fastJSON.parse(String(x.value()))['x']};
- })
-}
-
-function getAllJSONKeys(tableName) {
- var result = _sqlbase().getAllJSONKeys(String(tableName));
- return Array.prototype.map.call(result, function(x) { return String(x); });
-}
-
-/**
- * Assigns a JavaScript object or primitive value to a string key in a table.
- * Maximum key length is 128 characters. Requires that the table exist.
- */
-function putJSON(tableName, stringKey, objectOrValue) {
- var obj = ({x:objectOrValue});
-
- var json = fastJSON.stringify(obj);
-
- /* performance-testing JSON
-
- var json1 = timer.time("JSON.stringify (json2)", function() {
- return JSON.stringify(obj);
- });
- var json2 = timer.time("JSON.stringify (fastJSON)", function() {
- return fastJSON.stringify(obj);
- });
-
- if (json1 != json2) {
- println("json strings do not match!");
- println("\n\n");
- println(json1);
- println("\n");
- println(json2);
- println("\n\n");
- }*/
-
- _sqlbase().putJSON(String(tableName), String(stringKey), json);
-}
-
-/**
- * Removes the mapping for a string key from a table. Requires that the table
- * exist.
- */
-function deleteJSON(tableName, stringKey) {
- _sqlbase().deleteJSON(String(tableName), String(stringKey));
-}
-
-/**
- * Creates a SQL table suitable for storing a mapping from (key,n) to string.
- * The mapping may be sparse, but storage is most efficient when n are consecutive.
- * The "length" of the array is not stored and must be externally maintained.
- * Maximum key length is 128 characters. This call has no effect if the table
- * already exists.
- */
-function createStringArrayTable(tableName) {
- _sqlbase().createStringArrayTable(String(tableName));
-}
-
-/**
- * Assigns a string value to a (key,n) pair in a StringArray table. Maximum key length
- * is 128 characters. Requires that the table exist.
- */
-function putStringArrayElement(tableName, stringKey, n, value) {
- _sqlbase().putStringArrayElement(String(tableName), String(stringKey),
- Number(n), String(value));
-}
-
-/**
- * Equivalent to a series of consecutive puts of the elements of valueArray, with the first
- * one going to n=startN, the second to n=startN+1, and so on, but much more efficient.
- */
-function putConsecutiveStringArrayElements(tableName, stringKey, startN, valueArray) {
- var putter = _sqlbase().putMultipleStringArrayElements(String(tableName), String(stringKey));
- for(var i=0;i<valueArray.length;i++) {
- putter.put(Number(startN)+i, String(valueArray[i]));
- }
- putter.finish();
-}
-
-/**
- * Equivalent to a series of puts of the (key,value) entries of the JavaScript object
- * nToValue, using as few database operations as possible.
- */
-function putDictStringArrayElements(tableName, stringKey, nToValue) {
- var nArray = [];
- for(var n in nToValue) {
- nArray.push(n);
- }
- nArray.sort(function(a,b) { return Number(a) - Number(b); });
-
- var putter = _sqlbase().putMultipleStringArrayElements(String(tableName), String(stringKey));
- nArray.forEach(function(n) {
- putter.put(Number(n), String(nToValue[n]));
- });
- putter.finish();
-}
-
-/**
- * Retrieves a string value from a StringArray table. Returns undefined
- * if there is no mapping for the given (key,n) pair. Requires that the table
- * exist.
- */
-function getStringArrayElement(tableName, stringKey, n) {
- var result = _sqlbase().getStringArrayElement(String(tableName),
- String(stringKey), Number(n));
- if (result) {
- return String(result);
- }
- return undefined;
-}
-
-/**
- * Retrieves all values from the database page that contains the mapping for n.
- * Properties are added to destMap for n, if present in the database, and any other
- * numeric entries in the same page. No return value.
- */
-function getPageStringArrayElements(tableName, stringKey, n, destMap) {
- var array = _sqlbase().getPageStringArrayElements(String(tableName), String(stringKey), n);
- for(var i=0;i<array.length;i++) {
- var entry = array[i];
- destMap[entry.index()] = String(entry.value());
- }
-}
-
-/**
- * Removes the mapping for a (key,n) pair from a StringArray table. Requires that the table
- * exist.
- */
-function deleteStringArrayElement(tableName, stringKey, n) {
- _sqlbase().putStringArrayElement(String(tableName), String(stringKey), Number(n), null);
-}
-
-/**
- * Removes all mappings and metadata associated with a given key in a table.
- */
-function clearStringArray(tableName, stringKey) {
- _sqlbase().clearStringArray(String(tableName), stringKey);
-}
-
-function getStringArrayAllKeys(tableName) {
- var result = _sqlbase().getStringArrayAllKeys(String(tableName));
- return Array.prototype.map.call(result, function(x) { return String(x); });
-}