17/22/2016 peter 2 * Implement stapi interface to cassandra. 3 44/28/2016 karl 5 * Fix "return" in code bodies for stapi shared memory and postgres-backed speedtables. 6 * Version bump to 1.9.1 7 804/04/2016 peter 9 * Redo lockfile code to avoid issues with tcl's "rename". 10 1104/03/2016 peter 12 * Cache root directory associated with a name, so subsequent names get 13 matched to files in the same directory. 14 1503/30/2016 peter 16 * Update test framework to work without rivet/DIO 17 Env vars PG_DB ST_PREFIX STAPI_PREFIX 18 1903/27/2016 peter 20 * Fix for missing SQL code in gen_refresh_ctable_sql 21 2207/21/2012 peter 23 * Add detach option for sockets for shared memory speedtables. 24 2507/09/2012 karl 26 * Provide a variable ::stapi::cache_table_columns that if set (default 1), 27 caches the results of ::stapi::get_columns to get all the field names 28 and data types of each field for a specified table. Should greatly 29 reduce contention for pg_class, pg_attribute and pg_type when lots 30 of children are using stapi to connect to lots of tables. 31 3206/29/2012 karl 33 * When a stapi table has a key comprised of more than one field, 34 generate a coalesce(field,'') so that where one or more of the 35 compound key fields are null, you'll still get a reasonable compound 36 key, rather than a null. 37 3806/20/2012 karl 39 * Make -fields work properly for sql-based stapi searches. 40 4106/18/2012 karl 42 * Add support to stapi postgres tables for speedtable search 43 options -array and -array_get 44 4506/11/2012 karl 46 * Factor a gen_refresh_ctable_sql proc out of refresh_ctable. 47 48 * Cache the base fetch sql once read from the stapi definition. 49 50 * Use gmt-based clock comparison when generating time-column-based 51 table updates, presuming sql fields are "timestamp without time zone", 52 which they really should be. 53 5406/10/2012 karl 55 * Standardize "if" statements to be bracketed, normalize some formatting 56 and introduce some space around various phrases in the code. 57 58 * Make ::stapi::open_raw_ctable bypass skip all the build checking 59 if a matching c_$name-style table-creating command already exists. 60 6106/09/2012 karl 62 * Rename create_ctable_definition to create_speedtable_definition and 63 gen_ctable_sql_select to gen_speedtable_sql_select. Since only 64 stapi and some new code I'm working with use it, it's not impactful. 65 66 * Make create_speedtable_definition and, thereby, init_ctable, generate 67 the new-style "speedtables" opener rather than the old-style 68 "CExtension" one, capitalizing the first letter for compliance 69 (and it was uppercased anyway by the underlying software). 70 71 Document the new commands in the doc.txt. 72 7306/08/2012 karl 74 * Factor a stapi::create_ctable_definition proc out of stapi::init_ctable. 75 76 * Factor a stapi::gen_ctable_sql_select proc out of stapi::init_ctable. 77 7808/25/2011 bovine 79 * Improved URL escapement issues with unsafe characters stapi/display 80 8103/08/2011 bovine 82 * Add unified autoconf (TEA) system for all of speedtables (issue 15) 83 84 * Release as version 1.8.2 85 8603/07/2011 bovine 87 * Release as version 1.8 88 893/12/2010 peter 90 Default ::stapi::debugging to 0 (change to 1 to enable debug messages) 91 922/22/2010 karl 93 In open_cached, store the time column properly in the time_column array 94 so that refresh_ctable will only pull updated rows. 95 967/1/2009 peter 97 Make the read_tabsep and write_tabsep in stapi/server use escape 98 quoting. 99 1006/18/2009 karl 101 Make the "refresh_ctable" proc's "time_col" argument optional, bringing 102 the behavior of refresh_ctable in line with the documentation. 103 1043/24/2009 karl 105 Add support for the PostgreSQL "int8" data type by mapping it to 106 ctable's "wide". 107 108 Add support for the PostgreSQL "numeric" data type by mapping it to 109 ctable's "double". This probably needs improvement. 110 1112/28/2009 karl 112 Add new proc to st_postgres, better_get_columns, which returns triples 113 of all the columns of a table... their name, real SQL type (not 114 postgresql internal type as with get_columns), and whether the column 115 is defined "not null" or not. 116 117 Switch to parsing native SQL data type definitions rather than 118 internal PostgreSQL ones when extracting ctable definition 119 info by querying metadata about a SQL table definition. We can 120 now handle pretty much all native PostgreSQL data types in ctables. 121 122 Add comment headers to procs in many places. 123 124 Deconstipate the code by adding blank lines around "if" and "foreach" 125 bodies, a blank line between variable definitions and the code, etc. 126 1272/2/2009 karl 128 Add support for the PostgreSQL "name" and "text" data types by mapping 129 them to ctable's "varstring". 130 131 Add support for the PostgreSQL "oid" data type by mapping it to ctable's 132 "int". 133 134 Change the mapping for the PostgreSQL "int2" data type from the ctable 135 "int" to the ctable "short" type. 136 137 Change the mapping for the PostgreSQL "bool" data type from the ctable 138 "varstring" to the ctable "boolean", a huge win for booleans, dropping 139 their per-row overhead from a point, a length, and allocated memory 140 to a single bit. 141 1429/18/2008 peter 143 Split half of "sql_ctable_get" into "sql_create_sql" and use that from 144 "sql_ctable_agwn" instead of calling "sql_ctable_get", so that we can 145 distinguish "no data" from "empty list". 146 1479/17/2008 peter 148 Added "-nocomplain" option to sql_get_one_tuple to allow for ctable 149 array_get_with_nulls to return "" for a missing key rather than 150 erroring out. 151 1523/25/2008 153 Several fixes in key handling in STDisplay 154 1553/04/2008 peter 156 Make "List" the default for STDisplay. 157 15812/14/2007 karl 159 * Install by default to /usr/local/lib not /usr/fa/lib. 160 16110/4/2007 peter 162 Remove optimizer completely, it's been moved to speedtables. 163 164 Extract this ChangeLog from CVS. 165 1668/10/2007 peter 167 stapi front end for shared tables 168 169 ::stapi::connect shared://port/table ?-build build_path? 170 171 Can accept "localhost:port", for consistency. 172 1737/18/2007 peter 174 Bulk rename "sttp" to "stapi". 175 1767/11/2007 peter 177 Don't call remote ctable from inside remote ctable code block. o_O 178 1797/11/2007 peter 180 * Made sttp consistent with ctables, if there's no simple key then it 181 simulates the ctables "_key" field. 182 1837/10/2007 peter 184 Removed "perform" and "fetch" and dependencies on it to simplify the 185 API and make it easier to implement in ctables. 186 Removed the array versions of "store" and "makekey" for the same reason. 187 1887/9/2007 peter 189 Support new ctable "key" command. 190 1916/7/2007 peter 192 Document the extensions to search and reference the optimizer. 193 1942/28/2007 peter 195 Merging "sttpx" into "sttp" - it's silly having an "extended" version 196 of something that's not even released. :) 197 1982/6/2007 peter 199 Remove dependance on sc_postgres. 200 2011/24/2007 peter 202 Splitting speedcache into sttp[_server|_client|_display] 203 2041/22/2007 peter 205 Working STDisplay with "sql:" URLs. 206 2071/19/2007 peter 208 Working sql: URLs. 209 2101/18/2007 peter 211 Hack reduction: remove CableAware glue from connect_ctable, create 212 ::scache::register and move the glue to glue.tcl as connect_cache. 213 Get rid of "/var/tmp/speedcache", if you don't specify a cache 214 location it'll use the local directory. 215 2161/15/2007 peter 217 ctable connection wrapper: 218 ::scache::connect URL ?options? 219 220 URL formats: 221 ctable://... 222 cttp URI 223 sql://user:passwd@host:db/table/... 224 direct SQL connection Not implemented 225 local:///ctable 226 reference to already-opened ctable 227 228 more to come. 229 230 Q: should "ctable:" be "cttp:"? 231 232 2331/5/2007 peter 234 Import from CableAware. 235 236 Remove the "helper" routine for generating the ctable from sql because 237 it's based on the cable-aware cache.cfg file format. 238 Replaced with a "glue" routine in glue.tcl, and a routine for creating 239 the column-list format for a ctable from the sql database and 240 optional arguments. 241 242