Project

General

Profile

Statistics
| Revision:

# Date Author Comment
2336 05/22/2012 09:23 PM Aaron Marcuse-Kubitza

sql_gen.py: Added NamedTable. Table: Added to_Table().

2335 05/22/2012 09:06 PM Aaron Marcuse-Kubitza

sql_gen.py: Added section labels for each type of SQL code object

2334 05/22/2012 08:25 PM Aaron Marcuse-Kubitza

sql.py: put_table(): DuplicateKeyException: Fixed bug where dict_subset_right_join() was used instead of dict_subset(), adding spurious None values for columns in the constraint which are not in the input tables

2333 05/22/2012 08:23 PM Aaron Marcuse-Kubitza

sql_gen.py: as_Col(): Don't allow None cols

2332 05/22/2012 08:06 PM Aaron Marcuse-Kubitza

schemas/vegbien.ERD.mwb: Synced with schemas/vegbien.sql

2331 05/22/2012 07:39 PM Aaron Marcuse-Kubitza

sql.py: Removed no longer used clean_name()

2330 05/22/2012 07:38 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): embeddable: Removed clean_name() because the function name is now escaped where it's used

2329 05/22/2012 07:36 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Added support for out_table values that are Table objects

2328 05/22/2012 07:31 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where table for creating the returning column Col object was the already-escaped string, instead of the Table object

2327 05/22/2012 07:24 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where function name and returning col were not being escaped

2326 05/22/2012 07:08 PM Aaron Marcuse-Kubitza

sql.py: put_table(): log_ignore(): Fixed bug where in_col needed to be passed through str() because it's a column object

2325 05/22/2012 07:03 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Fixed bug where the filter_out join should only be used in the insert, not in the select of existing/inserted rows. insert_select() call: Fixed compatibility bug where old versions of Python did not support mixing keyword args and ** args.

2324 05/22/2012 06:32 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Fixed bug where "add_row_num(db, out_pkeys_ref0)" was mistakenly put under the "if row_ct_ref != None" if statement

2323 05/22/2012 06:26 PM Aaron Marcuse-Kubitza

sql_gen.py: Renamed NamedCode to NamedCol to better reflect its specific use

2322 05/22/2012 06:23 PM Aaron Marcuse-Kubitza

sql.py: Removed unnecessary calls to check_name()

2321 05/22/2012 06:22 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where returning col was not being escaped

2320 05/22/2012 06:20 PM Aaron Marcuse-Kubitza

sql.py: add_row_num(): Fixed bug where table name was not being escaped

2319 05/22/2012 06:13 PM Aaron Marcuse-Kubitza

sql.py: run_query_into(): Fixed bug where into table name was not being escaped

2318 05/22/2012 06:07 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where utput column names were not being escaped

2317 05/22/2012 05:57 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Fixed bug where only string columns were being included in the distinct_on, but columns are now always sql_gen.Col instances

2316 05/22/2012 05:53 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Put together varying insert_select() args using dict instead of individual vars

2315 05/22/2012 05:51 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Fixed bug where order_by needed to default to None if distinct_on was used. Fixed bug where cond values were being treated as %s params in addition to being parsed by sql_gen.as_ValueCond().to_str().

2314 05/22/2012 05:40 PM Aaron Marcuse-Kubitza

sql_gen.py: Col: Added to_Col()

2313 05/22/2012 05:31 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Accept sql_gen.Table objects or strings instead of separate table and schema names

2312 05/22/2012 05:10 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Require all in_table_cols to be sql_gen.Col objects

2311 05/22/2012 05:03 PM Aaron Marcuse-Kubitza

sql_gen.py: ValueCond: Unwrap NamedCode objects

2310 05/22/2012 04:55 PM Aaron Marcuse-Kubitza

sql_gen.py: NamedCode: Inherit from Col so that its name can be retrieved using the same attribute as Col's

2309 05/22/2012 04:43 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Debug-log each caught exception

2308 05/22/2012 04:41 PM Aaron Marcuse-Kubitza

exc.py: str_(): Added first_line_only param to return just the first line

2307 05/22/2012 04:26 PM Aaron Marcuse-Kubitza

sql.py: ConstraintException: Changed text of message to specify that a constraint was violated

2306 05/22/2012 04:14 PM Aaron Marcuse-Kubitza

sql.py: Renamed ExceptionWithColumns to ConstraintException and added name field to contain the constraint name, if any

2305 05/22/2012 04:06 PM Aaron Marcuse-Kubitza

sql.py: put_table(): If there are join_cols, don't get output pkeys of inserted rows and instead select all rows (existing and inserted) after the insert

2304 05/22/2012 04:04 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bug where order of right_table_col and left_table_col was reversed when applying as_ValueCond() and as_Col()

2303 05/22/2012 03:33 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Moved things outside of the try clause which should not produce the exceptions

2302 05/22/2012 03:21 PM Aaron Marcuse-Kubitza

sql_gen.py: Code: Extend new strings.DebugPrintable instead of implementing str(), repr() itself

2301 05/22/2012 03:20 PM Aaron Marcuse-Kubitza

strings.py: Added DebugPrintable

2300 05/22/2012 03:17 PM Aaron Marcuse-Kubitza

sql_gen.py: Code: str(): Added class name. Added repr().

2299 05/22/2012 03:16 PM Aaron Marcuse-Kubitza

util.py: Added class_name()

2298 05/22/2012 02:55 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bug in USING syntax where columns were not escaped

2297 05/22/2012 02:48 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Order selects by in_tables0's pkey to avoid undefined orderings on multiple runs of the same query

2296 05/22/2012 02:42 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Removed no longer used esc_name_()

2295 05/22/2012 02:41 PM Aaron Marcuse-Kubitza

sql_gen.py: as_Table() Removed no longer used support for (schema, table) tuples

2294 05/22/2012 02:39 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer used unescape_table() and table2sql_gen()

2293 05/22/2012 02:38 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Removed no longer used table_is_esc

2292 05/22/2012 02:37 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Removed no longer used table_is_esc

2291 05/22/2012 02:34 PM Aaron Marcuse-Kubitza

sql.py: pkey(): Removed no longer used table_is_esc

2290 05/22/2012 02:31 PM Aaron Marcuse-Kubitza

sql.py: cleanup_table(): Switched from table_is_esc to sql_gen.as_Table.to_str()

2289 05/22/2012 02:19 PM Aaron Marcuse-Kubitza

csv2db: Switched to using plain table names rather than table_is_esc

2288 05/22/2012 02:13 PM Aaron Marcuse-Kubitza

bin/map: Switched to using sql_gen rather than table_is_esc

2287 05/22/2012 02:05 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer needed col2sql_gen() and value2sql_gen()

2286 05/22/2012 02:04 PM Aaron Marcuse-Kubitza

sql.py: Replaced sql_gen.value2sql_gen() with sql_gen.as_Col()

2285 05/22/2012 02:00 PM Aaron Marcuse-Kubitza

sql.py: Replaced sql_gen.col2sql_gen() with sql_gen.as_Col()

2284 05/22/2012 01:57 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Inline cond() and don't use sql_gen.as_Col because sql_gen.as_ValueCond.to_str() calls it

2283 05/22/2012 01:54 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer needed cond2sql_gen()

2282 05/22/2012 01:53 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): cond(): Parse conditions using sql_gen-only functions

2281 05/22/2012 01:47 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer needed join2sql_gen()

2280 05/22/2012 01:44 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Switched joins to sql_gen.Join objects. mk_select(): Only accept joins which are sql_gen.Join objects.

2279 05/22/2012 01:38 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Removed no longer used table_is_esc param

2278 05/22/2012 01:36 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Switched joins to sql_gen.Join objects

2277 05/22/2012 01:28 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Switched to using sql_gen.Join.to_str() to render joins to SQL

2276 05/22/2012 01:24 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bugs revealed in first test of function

2275 05/21/2012 11:05 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Turn off table_is_esc when calling sql.put_table() and don't escape out_table

2274 05/21/2012 11:04 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Use sql_gen.table2sql_gen().to_str() to escape the table

2273 05/21/2012 10:57 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): First in_tables table is sql_gen.Table object

2272 05/21/2012 10:49 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Converted row (mapping) values to sql_gen objects

2271 05/21/2012 10:45 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Accept main tables (table0's) that are Table objects. This change requires plain SQL code to be wrapped in a CustomCode object if it should not be unescaped and converted to a Table object.

2270 05/21/2012 10:42 PM Aaron Marcuse-Kubitza

sql_gen.py: as_Table(): Accept tables that are Code objects, not just Table objects

2269 05/21/2012 10:40 PM Aaron Marcuse-Kubitza

sql_gen.py: CustomCode: Fixed bug where needed to inherit from Code

2268 05/21/2012 10:19 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Return a sql_gen.Col object instead of an old-style tuple

2267 05/21/2012 10:00 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Switched to using filter_out as an attribute of the Join object instead of a sentinel value for the first column. Filter by the right table's pkey being NULL instead of each joined column being NULL, because some joined columns may contain NULL values which would mess things up, but the pkey presumably is NOT NULL.

2266 05/21/2012 09:56 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bug where type_ None was being concatenated with the JOIN str

2265 05/21/2012 09:31 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bug where USING syntax could not be used for filter_out join type, because a separate right column is required for filtering

2264 05/21/2012 09:20 PM Aaron Marcuse-Kubitza

sql_gen.py: Use new table2sql_gen() in col2sql_gen(), join2sql_gen()

2263 05/21/2012 09:18 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Convert all joins to sql_gen format using join2sql_gen()

2262 05/21/2012 09:17 PM Aaron Marcuse-Kubitza

sql_gen.py: Added table2sql_gen()

2261 05/21/2012 08:44 PM Aaron Marcuse-Kubitza

sql_gen.py: Added join2sql_gen()

2260 05/21/2012 08:33 PM Aaron Marcuse-Kubitza

sql_gen.py: Added as_Col(). as_ValueCond(): Added support for assuming the value is a column rather than a literal value, using the default_table param. Added Join.

2259 05/21/2012 07:10 PM Aaron Marcuse-Kubitza

sql_gen.py: Put parameterized SQL code objects in separate section

2258 05/21/2012 07:08 PM Aaron Marcuse-Kubitza

sql.py: put_table(): DuplicateKeyException: Assert that join_cols has changed to avoid infinite loops

2257 05/21/2012 06:59 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Moved getting pkeys of already existing rows from DuplicateKeyException to try clause, so that it always runs if there are join_cols. DuplicateKeyException: Add new duplicate key cols to join_cols instead of replacing join_cols so that multiple unique constraints being violated causes the union of their columns to be used for join_cols.

2256 05/21/2012 06:23 PM Aaron Marcuse-Kubitza

sql_gen.py: Added CustomCode

2255 05/21/2012 06:05 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Fixed bug where joins dict was being modified without first being copied, causing the input value to be modified

2254 05/21/2012 05:52 PM Aaron Marcuse-Kubitza

Compare object()-based sentinel values using is. Where sentinel values must be compared using ==, use rand.rand_int() instead.

2253 05/21/2012 05:13 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Added debug messages for every action performed

2252 05/21/2012 04:45 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Moved assignment of in_pkeys_ref outside loop so it wouldn't need to be re-versioned every iteration

2251 05/21/2012 04:42 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Changed temp_suffix to temp_prefix so all temp tables for a given out_table would have the same prefix. (Existing name collisions due to truncated names are not a problem because version prefixes are automatically added.)

2250 05/21/2012 04:23 PM Aaron Marcuse-Kubitza

mappings/DwC2-VegBIEN.specimens.csv: Filter dates through _toTimestamp

2249 05/21/2012 04:20 PM Aaron Marcuse-Kubitza

schemas/functions.sql: Added _toTimestamp

2248 05/21/2012 04:15 PM Aaron Marcuse-Kubitza

mappings/DwC2-VegBIEN.specimens.csv: Filter coordsaccuracy through _toDouble

2247 05/21/2012 04:12 PM Aaron Marcuse-Kubitza

sql.py: FunctionValueException parsing: Support values containing non-word and non-ASCII characters

2246 05/21/2012 04:11 PM Aaron Marcuse-Kubitza

exc.py: Support exception messages containing non-ASCII characters

2245 05/18/2012 07:10 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Print debug messages about how exceptions are being handled

2244 05/18/2012 06:45 PM Aaron Marcuse-Kubitza

sql.py: put_table(): After getting pkeys of already existing rows, insert new rows

2243 05/18/2012 06:42 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Handle FunctionValueExceptions by excluding rows with the invalid value in their "value" column

2242 05/18/2012 06:41 PM Aaron Marcuse-Kubitza

sql.py: run_query(): Also parse "invalid input syntax at assignment" errors as FunctionValueExceptions

2241 05/18/2012 06:39 PM Aaron Marcuse-Kubitza

sql_gen.py: Col: Convert string table names to Table objects

2240 05/18/2012 06:09 PM Aaron Marcuse-Kubitza

sql.py: run_query(): Parse "invalid input value at assignment" errors' values as well

2239 05/18/2012 05:55 PM Aaron Marcuse-Kubitza

sql.py: run_query(): Parse "invalid input value at assignment" errors as FunctionValueExceptions

2238 05/18/2012 05:27 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: filter_out: Pass NULLs through. Use sql_gen.*2sql_gen() to add the left and right table names to the columns.

2237 05/18/2012 05:26 PM Aaron Marcuse-Kubitza

sql_gen.py: cond2sql_gen(): Take assume_col param and pass it to value2sql_gen()