@@ -1679,34 +1679,27 @@
1679 1679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return code;
1680 1680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1681 1681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1682 1682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1683 1683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Iterates through a prepared SELECT statement and converts each row
1684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** to a JSON object. If pTgt is not NULL then it must be-a Array
1685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** object and this function will return pTgt. If pTgt is NULL then a
1686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** new Array object is created and returned (owned by the
1687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** caller). Each row of pStmt is converted to an Object and appended
1688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** to the array. If the result set has no rows AND pTgt is NULL then
1689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** NULL is returned.
1684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** to a JSON object. If pTgt is not NULL then this function will
1685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** append the results to pTgt and return cson_array_value(pTgt). If
1686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** pTgt is NULL then a new Array object is created and returned (owned
1687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** by the caller). Each row of pStmt is converted to an Object and
1688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** appended to the array. If the result set has no rows AND pTgt is
1689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** NULL then NULL (not an empty array) is returned.
1690 1690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1691 1691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value * json_stmt_to_array_of_obj(Stmt *pStmt,
1692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_value * pTgt){
1693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_value * v = pTgt;
1694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_array * a = NULL;
1692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cson_array * pTgt){
1693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cson_array * a = pTgt;
1695 1694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char const * warnMsg = NULL;
1696 1695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value * colNamesV = NULL;
1697 1696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_array * colNames = NULL;
1698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(v && !cson_value_is_array(v)){
1699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return NULL;
1700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1701 1697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (SQLITE_ROW==db_step(pStmt)) ){
1702 1698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value * row = NULL;
1703 1699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!a){
1704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!v){
1705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- v = cson_value_new_array();
1706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a = cson_value_get_array(v);
1700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ a = cson_new_array();
1708 1701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert(NULL!=a);
1709 1702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1710 1703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!colNames){
1711 1704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
colNamesV = cson_sqlite3_column_names(pStmt->pStmt);
1712 1705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert(NULL != colNamesV);
@@ -1720,49 +1713,42 @@
1720 1713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
continue;
1721 1714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1722 1715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0 != cson_array_append(a, row) ){
1723 1716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value_free(row);
1724 1717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( 0 && "Alloc error.");
1725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(pTgt != v) {
1726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_value_free(v);
1718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(pTgt != a) {
1719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cson_free_array(a);
1727 1720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1728 1721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return NULL;
1729 1722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1730 1723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1731 1724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value_free(colNamesV);
1732 1725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(warnMsg){
1733 1726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
json_warn( FSL_JSON_W_ROW_TO_JSON_FAILED, warnMsg );
1734 1727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return v;
1728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return cson_array_value(a);
1736 1729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1737 1730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1738 1731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1739 1732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Works just like json_stmt_to_array_of_obj(), but each row in the
1740 1733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** result set is represented as an Array of values instead of an
1741 1734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Object (key/value pairs). If pTgt is NULL and the statement
1742 1735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** has no results then NULL is returned, not an empty array.
1743 1736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1744 1737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value * json_stmt_to_array_of_array(Stmt *pStmt,
1745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_value * pTgt){
1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_value * v = pTgt;
1747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_array * a = NULL;
1748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(v && !cson_value_is_array(v)){
1749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return NULL;
1750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cson_array * pTgt){
1739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cson_array * a = pTgt;
1751 1740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (SQLITE_ROW==db_step(pStmt)) ){
1752 1741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value * row = NULL;
1753 1742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!a){
1754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!v){
1755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- v = cson_value_new_array();
1756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a = cson_value_get_array(v);
1743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ a = cson_new_array();
1758 1744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert(NULL!=a);
1759 1745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1760 1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
row = cson_sqlite3_row_to_array(pStmt->pStmt);
1761 1747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_array_append(a, row);
1762 1748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return v;
1749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return cson_array_value(a);
1764 1750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1765 1751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1766 1752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1767 1753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1768 1754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Executes the given SQL and runs it through
@@ -1771,11 +1757,11 @@
1771 1757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** after preparing the query.
1772 1758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1773 1759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** pTgt has the same semantics as described for
1774 1760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** json_stmt_to_array_of_obj().
1775 1761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cson_value * json_sql_to_array_of_obj(Blob * pSql, cson_value * pTgt,
1762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cson_value * json_sql_to_array_of_obj(Blob * pSql, cson_array * pTgt,
1777 1763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char resetBlob){
1778 1764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q = empty_Stmt;
1779 1765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cson_value * pay = NULL;
1780 1766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( blob_size(pSql) > 0 );
1781 1767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q, "%s", blob_str(pSql));
1782 1768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!