visual_query 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +59 -0
- data/Rakefile +23 -0
- data/app/assets/images/visual_query/ajax-loader.gif +0 -0
- data/app/assets/javascripts/visual_query/index.js +288 -0
- data/app/assets/stylesheets/visual_query/visual_query.css +161 -0
- data/app/controllers/queries_controller.rb +157 -0
- data/app/helpers/application_helper.rb +5 -0
- data/app/helpers/queries_helper.rb +43 -0
- data/app/views/queries/_columns.html.erb +5 -0
- data/app/views/queries/_command.html.erb +5 -0
- data/app/views/queries/_command_results_browser.html.erb +1 -0
- data/app/views/queries/_command_save.html.erb +1 -0
- data/app/views/queries/_commands_results.html.erb +2 -0
- data/app/views/queries/_filter.html.erb +6 -0
- data/app/views/queries/_list_all_relations.html.erb +8 -0
- data/app/views/queries/_list_joinable_relations.html.erb +10 -0
- data/app/views/queries/_list_relation.html.erb +8 -0
- data/app/views/queries/_name.html.erb +8 -0
- data/app/views/queries/_results.html.erb +14 -0
- data/app/views/queries/_results_column_filter.html.erb +3 -0
- data/app/views/queries/_results_column_hide.html.erb +3 -0
- data/app/views/queries/_results_column_human_name.html.erb +8 -0
- data/app/views/queries/_results_empty.html.erb +3 -0
- data/app/views/queries/_sort.html.erb +12 -0
- data/app/views/queries/_sort_condition.html.erb +18 -0
- data/app/views/queries/_url_root.html.erb +1 -0
- data/app/views/queries/_warning_large_result_set.html.erb +12 -0
- data/app/views/queries/filters/_boolean.html.erb +6 -0
- data/app/views/queries/filters/_date.html.erb +17 -0
- data/app/views/queries/filters/_datetime.html.erb +1 -0
- data/app/views/queries/filters/_decimal.html.erb +1 -0
- data/app/views/queries/filters/_integer.html.erb +1 -0
- data/app/views/queries/filters/_numeric.html.erb +6 -0
- data/app/views/queries/filters/_string.html.erb +1 -0
- data/app/views/queries/filters/_text.html.erb +6 -0
- data/app/views/queries/index.html.erb +39 -0
- data/app/views/queries/new.html.erb +27 -0
- data/app/views/queries/not_found.html.erb +1 -0
- data/app/views/queries/show.html.erb +40 -0
- data/app/views/queries/sql_form.html.erb +16 -0
- data/config/initializers/visual_query.rb +11 -0
- data/config/routes.rb +26 -0
- data/db/migrate/20130927090319_create_visual_query_schema.rb +9 -0
- data/db/migrate/20130927090400_create_visual_query_metadata_table.rb +16 -0
- data/lib/tasks/visual_query_tasks.rake +12 -0
- data/lib/tutuf/visual_query.rb +6 -0
- data/lib/tutuf/visual_query/base.rb +268 -0
- data/lib/tutuf/visual_query/common.rb +58 -0
- data/lib/tutuf/visual_query/metadata.rb +35 -0
- data/lib/tutuf/visual_query/single.rb +111 -0
- data/lib/tutuf/visual_query/sql.rb +20 -0
- data/lib/visual_query.rb +4 -0
- data/lib/visual_query/engine.rb +4 -0
- data/lib/visual_query/version.rb +3 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/account.rb +3 -0
- data/test/dummy/app/models/address.rb +3 -0
- data/test/dummy/app/models/category.rb +3 -0
- data/test/dummy/app/models/composite_pk.rb +3 -0
- data/test/dummy/app/models/customer.rb +4 -0
- data/test/dummy/app/models/order.rb +4 -0
- data/test/dummy/app/models/person.rb +4 -0
- data/test/dummy/app/models/post.rb +3 -0
- data/test/dummy/app/models/product.rb +4 -0
- data/test/dummy/app/models/product_in.rb +3 -0
- data/test/dummy/app/models/product_out.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +53 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +12 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +29 -0
- data/test/dummy/config/environments/production.rb +65 -0
- data/test/dummy/config/environments/test.rb +33 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/visual_query.rb +1 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/db/migrate/20130927112446_create_tables.rb +77 -0
- data/test/dummy/db/structure.sql +651 -0
- data/test/dummy/log/development.log +1548 -0
- data/test/dummy/log/test.log +36575 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-h/-hj2e_RSTanfbfrP0tso5Q7actRM6_clE5hetFlQ2y8.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/3B/3B_zqoNDfkO8wvAME66zxm9KzQaeDVSjnH0qC08yufM.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5g/5g7dhxVp4YbZmFw_-T3aU2oYq2Z9Jgtps0CKneXYSS0.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6-/6-CtZO6uG0yfwU8-098Sdy2wnfO0W6DbFu6B6DKYuiw.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8k/8kFIVN4cTS9KCQt_UIF5s_rcY-bMYlQpM489D98hvP4.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Au/AukU7t3xLnyCh7qW4u45q9YFmjVcYujmIFbnaOhF4Mo.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Bm/Bmsq0vYQqlrtfq5s-W8kcfLvwcsPT_6_5XxXt9J_QOw.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CQ/CQLNg7a2TsUWgc7JXjDkjseMig_dPVm6AvqO2IWk5zg.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/FX/FX9ZXN3HEHR5hPzvxW8rakWEt2ot4IPJyDB67O7KPZk.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Hv/HvOStITEkFHlcJCgaDnND6wzPw4dMmdAdZB1Xm6JfSA.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NW/NWCtuFzfIgixavqY71NIAa4ajbsXxRuiLNjceHgQ24M.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Ta/TaG641Ow168nkagg10mh6zuWS8RwWuawpHuMGakCVjU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VN/VNCapNKJLeponthNeFJhaBYs92UBT3P8PugENHP0474.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VR/VRi0Hz7tc62H5Of9XVjyAk7vSNmMr8xeYowo6lSBnZg.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Vg/Vgl_u6t3BvczgGi_ZJlyyo7xYSe-GgEshLofx-3QorI.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Vq/VqGJMF3Cpvp3fw2IEIkE2tzdFo_OdcEmxN58BQwbVDY.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/W6/W6DnXCIMHJ2i5hUkEiNeDLroWxW3VU18nq292n5jlts.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Z7/Z7fH8ST-O3GMnDUKvtKHHTSObfH2Nbs0J1QS79i80yE.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Zh/ZhrmuPgfbHthzikN8QSHR0Q0bLtSYS1Bzl9HauWeDfU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/bY/bYzYCY_bAGQGVGMbcxtKIhUYrgDQhmQVTmK50JrMNb8.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eT/eTmCDSnc2m9ER5Cn85g84xyTkVLWKLbbwPFQo8eUAIg.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/h-/h-taE7cHlbq76GUb5kHenjih_y66mO0w0lIZs7vY-0s.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ji/jikmiWyu-cXN_ZJ4hgLc3kuCAY-QJY2jmPeXS4_9vZY.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kC/kCijps52gsNlkYgT2Qzdz9UcSaxhcMGNfNL7MIiWk54.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kQ/kQt-OsUDJg_sl1be-FqJ6Vhw4XVguw9_msZEwXP0Nh0.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nd/ndbe-ZZWBqU5gLx5nxauCFvv963Zm3xqVEwVYQ7X_X8.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/q6/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sm/sm7AdmddDYbFx4-eo_y_kaZspanmc-jiJeM8j2DXX5k.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ux/uxPH9lLOW42lEQxJXnBizEObZReD8qkz6Eb6fdS6Ur4.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wn/wn0ayyM-chRdwEPI11SLkFT-7G2-GcOX8UIIC2kOWLY.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x7/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xK/xKo0PfDcZuMh8oO-6Gr4j4S8eR2qUNY9Gau4kAxKIH0.cache +1 -0
- data/test/fixtures/accounts.yml +4 -0
- data/test/fixtures/categories.yml +3 -0
- data/test/fixtures/categories_posts.yml +3 -0
- data/test/fixtures/people.yml +8 -0
- data/test/fixtures/posts.yml +8 -0
- data/test/fixtures/product_ins.yml +15 -0
- data/test/fixtures/product_outs.yml +5 -0
- data/test/fixtures/products.yml +6 -0
- data/test/fixtures/saved_queries.rb +7 -0
- data/test/functional/queries_controller_test.rb +267 -0
- data/test/functional/routes_test.rb +111 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/metadata_test.rb +10 -0
- data/test/unit/sql_test.rb +37 -0
- data/test/unit/visual_query_test.rb +648 -0
- metadata +381 -0
|
@@ -0,0 +1,1548 @@
|
|
|
1
|
+
[1m[36m (7.8ms)[0m [1mCREATE TABLE "schema_migrations" ("version" character varying(255) NOT NULL) [0m
|
|
2
|
+
[1m[35m (13.4ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
|
3
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.8ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
|
4
|
+
Migrating to CreateVisualQuerySchema (20130927090319)
|
|
5
|
+
[1m[35m (0.2ms)[0m BEGIN
|
|
6
|
+
[1m[36m (0.4ms)[0m [1mCREATE SCHEMA "tutuf::visual_query"[0m
|
|
7
|
+
[1m[35mSQL (0.8ms)[0m INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20130927090319"]]
|
|
8
|
+
[1m[36m (6.1ms)[0m [1mCOMMIT[0m
|
|
9
|
+
Migrating to CreateVisualQueryMetadataTable (20130927090400)
|
|
10
|
+
[1m[35m (0.3ms)[0m BEGIN
|
|
11
|
+
[1m[36m (17.4ms)[0m [1mCREATE TABLE "tutuf_visual_query_metadata" ("id" serial primary key, "name" character varying(63) NOT NULL, "params" text, "order_by" text, "created_at" timestamp) [0m
|
|
12
|
+
[1m[35m (5.5ms)[0m CREATE UNIQUE INDEX "index_tutuf_visual_query_metadata_on_name" ON "tutuf_visual_query_metadata" ("name")
|
|
13
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "schema_migrations" ("version") VALUES ($1)[0m [["version", "20130927090400"]]
|
|
14
|
+
[1m[35m (0.5ms)[0m COMMIT
|
|
15
|
+
Migrating to CreateTables (20130927112446)
|
|
16
|
+
[1m[36m (6.5ms)[0m [1mBEGIN[0m
|
|
17
|
+
[1m[35m (8.0ms)[0m CREATE TABLE "some_files" ("id" serial primary key, "name" character varying(255))
|
|
18
|
+
[1m[36m (7.8ms)[0m [1mCREATE TABLE "people" ("id" serial primary key, "name" character varying(255) NOT NULL, "age" integer) [0m
|
|
19
|
+
[1m[35m (3.2ms)[0m CREATE TABLE "accounts" ("id" serial primary key, "name" character varying(255) NOT NULL, "person_id" integer NOT NULL)
|
|
20
|
+
[1m[36m (3.5ms)[0m [1mCREATE TABLE "addresses" ("id" serial primary key, "country" character varying(255) NOT NULL, "city" character varying(255) NOT NULL, "street" character varying(255) NOT NULL, "addressable_id" integer NOT NULL, "addressable_type" character varying(255) NOT NULL) [0m
|
|
21
|
+
[1m[35m (2.4ms)[0m CREATE TABLE "customers" ("id" serial primary key, "name" character varying(255), "created_at" date, "vip" boolean NOT NULL)
|
|
22
|
+
[1m[36m (2.5ms)[0m [1mCREATE TABLE "orders" ("id" serial primary key, "name" character varying(255), "billing_customer_id" integer, "shipping_customer_id" integer) [0m
|
|
23
|
+
[1m[35m (3.9ms)[0m CREATE TABLE "posts" ("id" serial primary key, "title" character varying(255), "body" text)
|
|
24
|
+
[1m[36m (1.8ms)[0m [1mCREATE TABLE "categories" ("id" serial primary key, "name" character varying(255)) [0m
|
|
25
|
+
[1m[35m (0.6ms)[0m CREATE TABLE "categories_posts" ("category_id" integer NOT NULL, "post_id" integer NOT NULL)
|
|
26
|
+
[1m[36m (0.5ms)[0m [1mCREATE TABLE "composite_pks" ("first_id" integer NOT NULL, "second_id" integer NOT NULL, "name" character varying(255)) [0m
|
|
27
|
+
[1m[35m (0.8ms)[0m ALTER TABLE composite_pks ADD PRIMARY KEY (first_id,second_id)
|
|
28
|
+
[1m[36m (1.8ms)[0m [1mCREATE TABLE "products" ("id" serial primary key, "name" character varying(255)) [0m
|
|
29
|
+
[1m[35m (1.5ms)[0m CREATE TABLE "product_ins" ("id" serial primary key, "product_id" integer, "quantity" integer, "buy_price" integer)
|
|
30
|
+
[1m[36m (2.0ms)[0m [1mCREATE TABLE "product_outs" ("id" serial primary key, "product_id" integer, "quantity" integer, "sale_price" integer) [0m
|
|
31
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20130927112446"]]
|
|
32
|
+
[1m[36m (0.8ms)[0m [1mCOMMIT[0m
|
|
33
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
|
34
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.6ms)[0m SELECT "schema_migrations".* FROM "schema_migrations" ORDER BY version
|
|
35
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
|
36
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.5ms)[0m SELECT "schema_migrations".* FROM "schema_migrations" ORDER BY version
|
|
37
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
|
38
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.6ms)[0m SELECT "schema_migrations".* FROM "schema_migrations" ORDER BY version
|
|
39
|
+
[1m[36m (2.6ms)[0m [1mSELECT count(id) FROM tutuf_visual_query_metadata[0m
|
|
40
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.7ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' LIMIT 1
|
|
41
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
42
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' LIMIT 1
|
|
43
|
+
[1m[36mSQL (2.8ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "first"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"people:age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"people:age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"first\"}}"]]
|
|
44
|
+
[1m[35m (5.6ms)[0m CREATE VIEW "tutuf::visual_query"."first" AS SELECT "people"."age" AS "people:age" FROM "people"
|
|
45
|
+
[1m[36m (0.7ms)[0m [1mCOMMIT[0m
|
|
46
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.5ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'raw_sql' LIMIT 1
|
|
47
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
48
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'raw_sql' LIMIT 1
|
|
49
|
+
[1m[36mSQL (0.4ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "raw_sql"], ["params", "{\"sql\":\"SELECT AVG(age) AS average_age FROM people\",\"query\":{\"name\":\"raw_sql\"}}"]]
|
|
50
|
+
[1m[35m (1.5ms)[0m CREATE VIEW "tutuf::visual_query"."raw_sql" AS SELECT AVG(age) AS average_age FROM people
|
|
51
|
+
[1m[36m (0.4ms)[0m [1mCOMMIT[0m
|
|
52
|
+
Unable to load categories_post, underlying cause No such file to load -- categories_post
|
|
53
|
+
|
|
54
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `load'
|
|
55
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `block in load_file'
|
|
56
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:616:in `new_constants_in'
|
|
57
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:423:in `load_file'
|
|
58
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:324:in `require_or_load'
|
|
59
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:289:in `depend_on'
|
|
60
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:207:in `require_dependency'
|
|
61
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:773:in `try_to_load_dependency'
|
|
62
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:792:in `block in require_fixture_classes'
|
|
63
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `each'
|
|
64
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `require_fixture_classes'
|
|
65
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:768:in `fixtures'
|
|
66
|
+
/Users/sava/code/visual_query/test/test_helper.rb:17:in `<class:TestCase>'
|
|
67
|
+
/Users/sava/code/visual_query/test/test_helper.rb:11:in `<top (required)>'
|
|
68
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
69
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
70
|
+
visual_query_test.rb:2:in `<main>'
|
|
71
|
+
[1m[35m (1.9ms)[0m ALTER TABLE "categories" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" DISABLE TRIGGER ALL;ALTER TABLE "some_files" DISABLE TRIGGER ALL;ALTER TABLE "people" DISABLE TRIGGER ALL;ALTER TABLE "accounts" DISABLE TRIGGER ALL;ALTER TABLE "addresses" DISABLE TRIGGER ALL;ALTER TABLE "customers" DISABLE TRIGGER ALL;ALTER TABLE "orders" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "categories_posts" DISABLE TRIGGER ALL;ALTER TABLE "composite_pks" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "product_ins" DISABLE TRIGGER ALL;ALTER TABLE "product_outs" DISABLE TRIGGER ALL
|
|
72
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
73
|
+
[1m[35mFixture Delete (0.7ms)[0m DELETE FROM "accounts"
|
|
74
|
+
[1m[36mFixture Insert (0.3ms)[0m [1mINSERT INTO "accounts" ("id", "name", "person_id") VALUES (1, 'jat', 1)[0m
|
|
75
|
+
[1m[35mFixture Delete (0.8ms)[0m DELETE FROM "categories"
|
|
76
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories" ("id", "name") VALUES (1, 'first')[0m
|
|
77
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "categories_posts"
|
|
78
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories_posts" ("category_id", "post_id") VALUES (1, 1)[0m
|
|
79
|
+
[1m[35mFixture Delete (0.6ms)[0m DELETE FROM "people"
|
|
80
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "people" ("id", "name", "age") VALUES (1, 'John Atanasoff', 34)[0m
|
|
81
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "people" ("id", "name", "age") VALUES (2, 'Джон Атанасов', 34)
|
|
82
|
+
[1m[36mFixture Delete (0.6ms)[0m [1mDELETE FROM "posts"[0m
|
|
83
|
+
[1m[35mFixture Insert (0.2ms)[0m INSERT INTO "posts" ("id", "title", "body") VALUES (1, 'First post!', 'Wankers like first post')
|
|
84
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "posts" ("id", "title", "body") VALUES (2, 'Màmìta Español', '')[0m
|
|
85
|
+
[1m[35mFixture Delete (0.6ms)[0m DELETE FROM "product_ins"
|
|
86
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (1, 1, 23, 7)[0m
|
|
87
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (2, 1, 14, 10)
|
|
88
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (3, 2, 67, 25)[0m
|
|
89
|
+
[1m[35mFixture Delete (0.5ms)[0m DELETE FROM "product_outs"
|
|
90
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "product_outs" ("id", "product_id", "quantity", "sale_price") VALUES (1, 1, 45, 10)[0m
|
|
91
|
+
[1m[35mFixture Delete (0.6ms)[0m DELETE FROM "products"
|
|
92
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "products" ("id", "name") VALUES (1, 'pencil')[0m
|
|
93
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "products" ("id", "name") VALUES (2, 'bottle')
|
|
94
|
+
[1m[36m (0.3ms)[0m [1mCOMMIT[0m
|
|
95
|
+
[1m[35m (0.3ms)[0m ALTER TABLE "categories" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" ENABLE TRIGGER ALL;ALTER TABLE "some_files" ENABLE TRIGGER ALL;ALTER TABLE "people" ENABLE TRIGGER ALL;ALTER TABLE "accounts" ENABLE TRIGGER ALL;ALTER TABLE "addresses" ENABLE TRIGGER ALL;ALTER TABLE "customers" ENABLE TRIGGER ALL;ALTER TABLE "orders" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "categories_posts" ENABLE TRIGGER ALL;ALTER TABLE "composite_pks" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "product_ins" ENABLE TRIGGER ALL;ALTER TABLE "product_outs" ENABLE TRIGGER ALL
|
|
96
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
97
|
+
-----------------------------------------
|
|
98
|
+
VisualQueryTest: test_columns_all_content
|
|
99
|
+
-----------------------------------------
|
|
100
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
101
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
102
|
+
------------------------------------------
|
|
103
|
+
VisualQueryTest: test_columns_all_selected
|
|
104
|
+
------------------------------------------
|
|
105
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
106
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
107
|
+
-------------------------------------------------------
|
|
108
|
+
VisualQueryTest: test_columns_for_saving_selected_empty
|
|
109
|
+
-------------------------------------------------------
|
|
110
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
111
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
112
|
+
-----------------------------------------------------------
|
|
113
|
+
VisualQueryTest: test_columns_for_saving_selected_not_empty
|
|
114
|
+
-----------------------------------------------------------
|
|
115
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
116
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
117
|
+
---------------------------------------------
|
|
118
|
+
VisualQueryTest: test_columns_not_all_content
|
|
119
|
+
---------------------------------------------
|
|
120
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
121
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
122
|
+
----------------------------------------------
|
|
123
|
+
VisualQueryTest: test_columns_not_all_selected
|
|
124
|
+
----------------------------------------------
|
|
125
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
126
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
127
|
+
--------------------------------------------------------
|
|
128
|
+
VisualQueryTest: test_columns_with_composite_primary_key
|
|
129
|
+
--------------------------------------------------------
|
|
130
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
131
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
132
|
+
---------------------------------------------------------
|
|
133
|
+
VisualQueryTest: test_columns_with_name_of_existing_query
|
|
134
|
+
---------------------------------------------------------
|
|
135
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.4ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
136
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
137
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
138
|
+
------------------------------------------------------------
|
|
139
|
+
VisualQueryTest: test_columns_with_name_of_nonexisting_query
|
|
140
|
+
------------------------------------------------------------
|
|
141
|
+
PG::UndefinedTable: ERROR: relation "tutuf::visual_query.non existing" does not exist
|
|
142
|
+
LINE 5: WHERE a.attrelid = '"tutuf::visual_query"."no...
|
|
143
|
+
^
|
|
144
|
+
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
|
|
145
|
+
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
|
|
146
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
147
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
148
|
+
WHERE a.attrelid = '"tutuf::visual_query"."non existing"'::regclass
|
|
149
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
150
|
+
ORDER BY a.attnum
|
|
151
|
+
|
|
152
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
153
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
154
|
+
------------------------------------------------
|
|
155
|
+
VisualQueryTest: test_columns_without_query_name
|
|
156
|
+
------------------------------------------------
|
|
157
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
158
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
159
|
+
--------------------------------------------------------------------
|
|
160
|
+
VisualQueryTest: test_data_type_exisitng_relation_nonexisting_column
|
|
161
|
+
--------------------------------------------------------------------
|
|
162
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
163
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
164
|
+
-----------------------------------------------
|
|
165
|
+
VisualQueryTest: test_data_type_existing_column
|
|
166
|
+
-----------------------------------------------
|
|
167
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
168
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
169
|
+
-----------------------------------------------------------------------
|
|
170
|
+
VisualQueryTest: test_data_type_nonexisitng_relation_nonexisting_column
|
|
171
|
+
-----------------------------------------------------------------------
|
|
172
|
+
PG::UndefinedTable: ERROR: relation "non existing" does not exist
|
|
173
|
+
LINE 5: WHERE a.attrelid = '"non existing"'::regclass
|
|
174
|
+
^
|
|
175
|
+
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
|
|
176
|
+
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
|
|
177
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
178
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
179
|
+
WHERE a.attrelid = '"non existing"'::regclass
|
|
180
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
181
|
+
ORDER BY a.attnum
|
|
182
|
+
|
|
183
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
184
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
185
|
+
-----------------------------
|
|
186
|
+
VisualQueryTest: test_destroy
|
|
187
|
+
-----------------------------
|
|
188
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
189
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.3ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
190
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
191
|
+
[1m[35mSQL (0.4ms)[0m DELETE FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."id" = $1 [["id", 1]]
|
|
192
|
+
[1m[36m (1.2ms)[0m [1mDROP VIEW "tutuf::visual_query"."first"[0m
|
|
193
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
|
194
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
195
|
+
[1m[35m (1.6ms)[0m SELECT 1 FROM information_schema.views WHERE table_name='first' AND table_schema='tutuf::visual_query';
|
|
196
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
197
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
198
|
+
-----------------------------
|
|
199
|
+
VisualQueryTest: test_disable
|
|
200
|
+
-----------------------------
|
|
201
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
202
|
+
[1m[35m (0.6ms)[0m DROP SCHEMA IF EXISTS "tutuf::visual_query" CASCADE
|
|
203
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
204
|
+
[1m[35m (0.5ms)[0m SELECT 1 FROM information_schema.views WHERE table_schema='tutuf::visual_query'
|
|
205
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
206
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
207
|
+
----------------------------
|
|
208
|
+
VisualQueryTest: test_enable
|
|
209
|
+
----------------------------
|
|
210
|
+
[1m[36m (0.5ms)[0m [1mDROP SCHEMA IF EXISTS "tutuf::visual_query" CASCADE[0m
|
|
211
|
+
[1m[35m (0.3ms)[0m CREATE SCHEMA "tutuf::visual_query"
|
|
212
|
+
[1m[36mTutuf::VisualQuery::Metadata Load (0.2ms)[0m [1mSELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" ORDER BY "tutuf_visual_query_metadata"."name" ASC[0m
|
|
213
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.4ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'first' AND "tutuf_visual_query_metadata"."id" != 1) LIMIT 1
|
|
214
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
215
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'first' AND "tutuf_visual_query_metadata"."id" != 1) LIMIT 1
|
|
216
|
+
[1m[36mSQL (0.3ms)[0m [1mUPDATE "tutuf_visual_query_metadata" SET "params" = $1 WHERE "tutuf_visual_query_metadata"."id" = 1[0m [["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"people:age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"people:age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"first\"}}"]]
|
|
217
|
+
[1m[35m (0.5ms)[0m CREATE VIEW "tutuf::visual_query"."first" AS SELECT "people"."age" FROM "people"
|
|
218
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
219
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'raw_sql' AND "tutuf_visual_query_metadata"."id" != 2) LIMIT 1
|
|
220
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
221
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'raw_sql' AND "tutuf_visual_query_metadata"."id" != 2) LIMIT 1
|
|
222
|
+
[1m[36mSQL (0.2ms)[0m [1mUPDATE "tutuf_visual_query_metadata" SET "params" = $1 WHERE "tutuf_visual_query_metadata"."id" = 2[0m [["params", "{\"sql\":\"SELECT AVG(age) AS average_age FROM people\",\"query\":{\"name\":\"raw_sql\"}}"]]
|
|
223
|
+
[1m[35m (0.6ms)[0m CREATE VIEW "tutuf::visual_query"."raw_sql" AS SELECT AVG(age) AS average_age FROM people
|
|
224
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
225
|
+
[1m[35m (0.6ms)[0m SELECT 1 FROM information_schema.views WHERE table_name='first' AND table_schema='tutuf::visual_query';
|
|
226
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
227
|
+
[1m[35m (0.2ms)[0m BEGIN
|
|
228
|
+
------------------------------
|
|
229
|
+
VisualQueryTest: test_find_all
|
|
230
|
+
------------------------------
|
|
231
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
232
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(*) FROM "tutuf_visual_query_metadata"
|
|
233
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
234
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
235
|
+
-------------------------------------------
|
|
236
|
+
VisualQueryTest: test_find_by_name_existing
|
|
237
|
+
-------------------------------------------
|
|
238
|
+
[1m[36mTutuf::VisualQuery::Metadata Load (0.2ms)[0m [1mSELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1[0m
|
|
239
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
240
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
241
|
+
-----------------------------------------------
|
|
242
|
+
VisualQueryTest: test_find_by_name_not_existing
|
|
243
|
+
-----------------------------------------------
|
|
244
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.2ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
245
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
246
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
247
|
+
-----------------------------------------------
|
|
248
|
+
VisualQueryTest: test_is_new_on_existing_object
|
|
249
|
+
-----------------------------------------------
|
|
250
|
+
[1m[36mTutuf::VisualQuery::Metadata Load (0.2ms)[0m [1mSELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1[0m
|
|
251
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
252
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
253
|
+
------------------------------------------
|
|
254
|
+
VisualQueryTest: test_is_new_on_new_object
|
|
255
|
+
------------------------------------------
|
|
256
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
257
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
258
|
+
--------------------------------------------------
|
|
259
|
+
VisualQueryTest: test_join_condition_on_belongs_to
|
|
260
|
+
--------------------------------------------------
|
|
261
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
262
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
263
|
+
-----------------------------------------------------------------------------
|
|
264
|
+
VisualQueryTest: test_join_condition_on_belongs_to_with_composite_primary_key
|
|
265
|
+
-----------------------------------------------------------------------------
|
|
266
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
267
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
268
|
+
---------------------------------------------------------------
|
|
269
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many
|
|
270
|
+
---------------------------------------------------------------
|
|
271
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
272
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
273
|
+
------------------------------------------------------------------------------------------
|
|
274
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many_with_composite_primary_key
|
|
275
|
+
------------------------------------------------------------------------------------------
|
|
276
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
277
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
278
|
+
--------------------------------------------------------------------------------------------
|
|
279
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many_with_polymorphic_association
|
|
280
|
+
--------------------------------------------------------------------------------------------
|
|
281
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
282
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
283
|
+
---------------------------------------------------------------------------------------------------------------------------
|
|
284
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many_with_polymorphic_association_and_with_composite_primary_key
|
|
285
|
+
---------------------------------------------------------------------------------------------------------------------------
|
|
286
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
287
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
288
|
+
------------------------------------------------
|
|
289
|
+
VisualQueryTest: test_join_condition_on_has_many
|
|
290
|
+
------------------------------------------------
|
|
291
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
292
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
293
|
+
---------------------------------------------------------------------------
|
|
294
|
+
VisualQueryTest: test_join_condition_on_has_many_with_composite_primary_key
|
|
295
|
+
---------------------------------------------------------------------------
|
|
296
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
297
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
298
|
+
-----------------------------------------------------------------------------
|
|
299
|
+
VisualQueryTest: test_join_condition_on_has_many_with_polymorphic_association
|
|
300
|
+
-----------------------------------------------------------------------------
|
|
301
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
302
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
303
|
+
------------------------------------------------------------------------------------------------------------
|
|
304
|
+
VisualQueryTest: test_join_condition_on_has_many_with_polymorphic_association_and_with_composite_primary_key
|
|
305
|
+
------------------------------------------------------------------------------------------------------------
|
|
306
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
307
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
308
|
+
-----------------------------------------------
|
|
309
|
+
VisualQueryTest: test_join_condition_on_has_one
|
|
310
|
+
-----------------------------------------------
|
|
311
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
312
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
313
|
+
--------------------------------------------------------------------------
|
|
314
|
+
VisualQueryTest: test_join_condition_on_has_one_with_composite_primary_key
|
|
315
|
+
--------------------------------------------------------------------------
|
|
316
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
317
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
318
|
+
----------------------------------------------------------------------------
|
|
319
|
+
VisualQueryTest: test_join_condition_on_has_one_with_polymorphic_association
|
|
320
|
+
----------------------------------------------------------------------------
|
|
321
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
322
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
323
|
+
-----------------------------------------------------------------------------------------------------------
|
|
324
|
+
VisualQueryTest: test_join_condition_on_has_one_with_polymorphic_association_and_with_composite_primary_key
|
|
325
|
+
-----------------------------------------------------------------------------------------------------------
|
|
326
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
327
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
328
|
+
-----------------------------------------------
|
|
329
|
+
VisualQueryTest: test_join_relations_belongs_to
|
|
330
|
+
-----------------------------------------------
|
|
331
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
332
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
333
|
+
------------------------------------------------------------
|
|
334
|
+
VisualQueryTest: test_join_relations_has_and_belongs_to_many
|
|
335
|
+
------------------------------------------------------------
|
|
336
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
337
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
338
|
+
---------------------------------------------
|
|
339
|
+
VisualQueryTest: test_join_relations_has_many
|
|
340
|
+
---------------------------------------------
|
|
341
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
342
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
343
|
+
--------------------------------------------
|
|
344
|
+
VisualQueryTest: test_join_relations_has_one
|
|
345
|
+
--------------------------------------------
|
|
346
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
347
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
348
|
+
---------------------------------------------------
|
|
349
|
+
VisualQueryTest: test_joinable_relations_belongs_to
|
|
350
|
+
---------------------------------------------------
|
|
351
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
352
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
353
|
+
----------------------------------------------------------------
|
|
354
|
+
VisualQueryTest: test_joinable_relations_has_and_belongs_to_many
|
|
355
|
+
----------------------------------------------------------------
|
|
356
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
357
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
358
|
+
-------------------------------------------------
|
|
359
|
+
VisualQueryTest: test_joinable_relations_has_many
|
|
360
|
+
-------------------------------------------------
|
|
361
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
362
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
363
|
+
------------------------------------------------
|
|
364
|
+
VisualQueryTest: test_joinable_relations_has_one
|
|
365
|
+
------------------------------------------------
|
|
366
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
367
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
368
|
+
-----------------------------
|
|
369
|
+
VisualQueryTest: test_klasses
|
|
370
|
+
-----------------------------
|
|
371
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
372
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
373
|
+
----------------------------------------------------
|
|
374
|
+
VisualQueryTest: test_large_result_set_empty_results
|
|
375
|
+
----------------------------------------------------
|
|
376
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
377
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
378
|
+
--------------------------------------------------
|
|
379
|
+
VisualQueryTest: test_large_result_set_nil_results
|
|
380
|
+
--------------------------------------------------
|
|
381
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
382
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
383
|
+
-------------------------------------------------------
|
|
384
|
+
VisualQueryTest: test_large_result_set_not_really_large
|
|
385
|
+
-------------------------------------------------------
|
|
386
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
387
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
388
|
+
---------------------------------------------------
|
|
389
|
+
VisualQueryTest: test_large_result_set_really_large
|
|
390
|
+
---------------------------------------------------
|
|
391
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
392
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
393
|
+
---------------------------------------------
|
|
394
|
+
VisualQueryTest: test_name_on_loading_from_db
|
|
395
|
+
---------------------------------------------
|
|
396
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.4ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
397
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
398
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
399
|
+
---------------------------------
|
|
400
|
+
VisualQueryTest: test_name_on_new
|
|
401
|
+
---------------------------------
|
|
402
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
403
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
404
|
+
-----------------------------------------------------------------
|
|
405
|
+
VisualQueryTest: test_parsed_filters_with_all_nonempty_conditions
|
|
406
|
+
-----------------------------------------------------------------
|
|
407
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
408
|
+
[1m[35m (0.3ms)[0m BEGIN
|
|
409
|
+
---------------------------------------------------------
|
|
410
|
+
VisualQueryTest: test_parsed_filters_with_empty_condition
|
|
411
|
+
---------------------------------------------------------
|
|
412
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
413
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
414
|
+
-----------------------------------------------------
|
|
415
|
+
VisualQueryTest: test_quote_relation_name_with_schema
|
|
416
|
+
-----------------------------------------------------
|
|
417
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
418
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
419
|
+
-----------------------------------------------------------
|
|
420
|
+
VisualQueryTest: test_quote_relation_name_with_schema_empty
|
|
421
|
+
-----------------------------------------------------------
|
|
422
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
423
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
424
|
+
---------------------------------------------------------
|
|
425
|
+
VisualQueryTest: test_quote_relation_name_with_schema_nil
|
|
426
|
+
---------------------------------------------------------
|
|
427
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
428
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
429
|
+
--------------------------------------------
|
|
430
|
+
VisualQueryTest: test_results_balanced_query
|
|
431
|
+
--------------------------------------------
|
|
432
|
+
[1m[36m (0.4ms)[0m [1m(SELECT "products"."name","product_ins"."quantity",NULL FROM "products" INNER JOIN "product_ins" ON "products"."id" = "product_ins"."product_id") UNION ALL (SELECT "products"."name",NULL,"product_outs"."quantity" FROM "products" INNER JOIN "product_outs" ON "products"."id" = "product_outs"."product_id")[0m
|
|
433
|
+
[1m[35mProduct Load (0.3ms)[0m SELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1 [["id", 1]]
|
|
434
|
+
[1m[36mProductIn Load (0.3ms)[0m [1mSELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
435
|
+
[1m[35mProductOut Load (0.3ms)[0m SELECT "product_outs".* FROM "product_outs" WHERE "product_outs"."id" = $1 LIMIT 1 [["id", 1]]
|
|
436
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
437
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
438
|
+
----------------------------------------------------------------
|
|
439
|
+
VisualQueryTest: test_results_balanced_query_with_hidden_columns
|
|
440
|
+
----------------------------------------------------------------
|
|
441
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
442
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
443
|
+
------------------------------------------
|
|
444
|
+
VisualQueryTest: test_results_one_relation
|
|
445
|
+
------------------------------------------
|
|
446
|
+
[1m[36m (0.2ms)[0m [1mSELECT "people"."id","people"."name","people"."age" FROM "people"[0m
|
|
447
|
+
[1m[35mPerson Load (0.3ms)[0m SELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1 [["id", 1]]
|
|
448
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
449
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
450
|
+
------------------------------------------------------
|
|
451
|
+
VisualQueryTest: test_results_one_relation_with_filter
|
|
452
|
+
------------------------------------------------------
|
|
453
|
+
[1m[36mPerson Load (0.2ms)[0m [1mSELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
454
|
+
[1m[35m (0.1ms)[0m SELECT "people"."name" FROM "people" WHERE "public"."people"."id" = 1
|
|
455
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
456
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
457
|
+
-----------------------------------------
|
|
458
|
+
VisualQueryTest: test_results_saved_query
|
|
459
|
+
-----------------------------------------
|
|
460
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
461
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
|
462
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
463
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id" [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "query for results"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"query for results\"}}"]]
|
|
464
|
+
[1m[36m (0.5ms)[0m [1mCREATE VIEW "tutuf::visual_query"."query for results" AS SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
465
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
|
466
|
+
[1m[36m (0.1ms)[0m [1mSELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
467
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
468
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
469
|
+
-------------------------------------------------------------------
|
|
470
|
+
VisualQueryTest: test_results_two_relations_has_and_belongs_to_many
|
|
471
|
+
-------------------------------------------------------------------
|
|
472
|
+
[1m[35m (0.3ms)[0m SELECT "posts"."title","categories"."name" FROM "posts" INNER JOIN "categories_posts" ON "posts"."id" = "categories_posts"."post_id" INNER JOIN "categories" ON "categories_posts"."category_id" = "categories"."id"
|
|
473
|
+
[1m[36mCategory Load (0.3ms)[0m [1mSELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
474
|
+
[1m[35mPost Load (0.3ms)[0m SELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1 [["id", 1]]
|
|
475
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
476
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
477
|
+
----------------------------------------------------------------------------------
|
|
478
|
+
VisualQueryTest: test_results_two_relations_has_and_belongs_to_many_join_type_full
|
|
479
|
+
----------------------------------------------------------------------------------
|
|
480
|
+
[1m[36m (0.3ms)[0m [1mSELECT "posts"."title","categories"."name" FROM "posts" FULL JOIN "categories_posts" ON "posts"."id" = "categories_posts"."post_id" INNER JOIN "categories" ON "categories_posts"."category_id" = "categories"."id"[0m
|
|
481
|
+
[1m[35mCategory Load (0.2ms)[0m SELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1 [["id", 1]]
|
|
482
|
+
[1m[36mPost Load (0.2ms)[0m [1mSELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
483
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
484
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
485
|
+
-------------------------------------------------------------------------------------
|
|
486
|
+
VisualQueryTest: test_results_two_relations_has_and_belongs_to_many_join_type_invalid
|
|
487
|
+
-------------------------------------------------------------------------------------
|
|
488
|
+
[1m[35m (0.3ms)[0m SELECT "posts"."title","categories"."name" FROM "posts" INNER JOIN "categories_posts" ON "posts"."id" = "categories_posts"."post_id" INNER JOIN "categories" ON "categories_posts"."category_id" = "categories"."id"
|
|
489
|
+
[1m[36mCategory Load (0.2ms)[0m [1mSELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
490
|
+
[1m[35mPost Load (0.2ms)[0m SELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1 [["id", 1]]
|
|
491
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
492
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
493
|
+
---------------------------------------------------
|
|
494
|
+
VisualQueryTest: test_results_two_relations_has_one
|
|
495
|
+
---------------------------------------------------
|
|
496
|
+
[1m[36m (0.3ms)[0m [1mSELECT "people"."id","people"."name","people"."age","accounts"."id","accounts"."name" FROM "accounts" INNER JOIN "people" ON "accounts"."person_id" = "people"."id"[0m
|
|
497
|
+
[1m[35mPerson Load (0.2ms)[0m SELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1 [["id", 1]]
|
|
498
|
+
[1m[36mAccount Load (0.3ms)[0m [1mSELECT "accounts".* FROM "accounts" WHERE "accounts"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
499
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
500
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
501
|
+
-------------------------------------------------
|
|
502
|
+
VisualQueryTest: test_results_with_hidden_columns
|
|
503
|
+
-------------------------------------------------
|
|
504
|
+
[1m[35m (0.2ms)[0m SELECT NULL,"people"."name","people"."age" FROM "people"
|
|
505
|
+
[1m[36mPerson Load (0.2ms)[0m [1mSELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
506
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
507
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
508
|
+
-----------------------------------------
|
|
509
|
+
VisualQueryTest: test_save_balanced_query
|
|
510
|
+
-----------------------------------------
|
|
511
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
512
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
513
|
+
---------------------------------------------------------------------
|
|
514
|
+
VisualQueryTest: test_save_invalid_metadata_and_invalid_sql_generated
|
|
515
|
+
---------------------------------------------------------------------
|
|
516
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(*) FROM "tutuf_visual_query_metadata"
|
|
517
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1[0m
|
|
518
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
519
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
520
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
521
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "new query"], ["params", "{\"query\":{\"name\":\"new query\"}}"]]
|
|
522
|
+
[1m[35m (0.4ms)[0m CREATE VIEW "tutuf::visual_query"."new query" AS
|
|
523
|
+
PG::SyntaxError: ERROR: syntax error at end of input
|
|
524
|
+
LINE 1: CREATE VIEW "tutuf::visual_query"."new query" AS
|
|
525
|
+
^
|
|
526
|
+
: CREATE VIEW "tutuf::visual_query"."new query" AS
|
|
527
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
|
528
|
+
[1m[35m (0.5ms)[0m SELECT COUNT(*) FROM "tutuf_visual_query_metadata"
|
|
529
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
530
|
+
[1m[35m (0.2ms)[0m BEGIN
|
|
531
|
+
-------------------------------------------------------------------
|
|
532
|
+
VisualQueryTest: test_save_invalid_metadata_and_valid_sql_generated
|
|
533
|
+
-------------------------------------------------------------------
|
|
534
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" IS NULL LIMIT 1[0m
|
|
535
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" IS NULL LIMIT 1
|
|
536
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
537
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
538
|
+
---------------------------------------------
|
|
539
|
+
VisualQueryTest: test_save_valid_visual_query
|
|
540
|
+
---------------------------------------------
|
|
541
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1[0m
|
|
542
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
543
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
544
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
545
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "new query"], ["params", "{\"columns\":[{\"rel_name\":\"addresses\",\"col_name\":\"country\",\"save_name\":\"cntr\"}],\"relations\":[{\"rel_name\":\"addresses\"}],\"query\":{\"name\":\"new query\"}}"]]
|
|
546
|
+
[1m[35m (0.5ms)[0m CREATE VIEW "tutuf::visual_query"."new query" AS SELECT "addresses"."country" AS "cntr" FROM "addresses"
|
|
547
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
548
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
549
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
550
|
+
----------------------------
|
|
551
|
+
VisualQueryTest: test_schema
|
|
552
|
+
----------------------------
|
|
553
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
554
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
555
|
+
------------------------------------
|
|
556
|
+
VisualQueryTest: test_sort_ascending
|
|
557
|
+
------------------------------------
|
|
558
|
+
[1m[35m (0.3ms)[0m SELECT "people"."id" FROM "people" ORDER BY "people"."id" ASC
|
|
559
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
560
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
561
|
+
-----------------------------------------
|
|
562
|
+
VisualQueryTest: test_sort_balanced_query
|
|
563
|
+
-----------------------------------------
|
|
564
|
+
[1m[36m (0.4ms)[0m [1m(SELECT "products"."id","product_ins"."buy_price",NULL FROM "products" INNER JOIN "product_ins" ON "products"."id" = "product_ins"."product_id" ORDER BY "products"."id" ) UNION ALL (SELECT "products"."id",NULL,"product_outs"."sale_price" FROM "products" INNER JOIN "product_outs" ON "products"."id" = "product_outs"."product_id" ORDER BY "products"."id" )[0m
|
|
565
|
+
[1m[35mProduct Load (0.2ms)[0m SELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1 [["id", 1]]
|
|
566
|
+
[1m[36mProductIn Load (0.2ms)[0m [1mSELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
567
|
+
[1m[35mProductIn Load (0.2ms)[0m SELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1 [["id", 2]]
|
|
568
|
+
[1m[36mProduct Load (0.2ms)[0m [1mSELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1[0m [["id", 2]]
|
|
569
|
+
[1m[35mProductIn Load (0.2ms)[0m SELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1 [["id", 3]]
|
|
570
|
+
[1m[36mProductOut Load (0.2ms)[0m [1mSELECT "product_outs".* FROM "product_outs" WHERE "product_outs"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
571
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
572
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
573
|
+
-------------------------------------
|
|
574
|
+
VisualQueryTest: test_sort_descending
|
|
575
|
+
-------------------------------------
|
|
576
|
+
[1m[35m (0.1ms)[0m SELECT "people"."id" FROM "people" ORDER BY "people"."id" DESC
|
|
577
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
578
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
579
|
+
---------------------------------------
|
|
580
|
+
VisualQueryTest: test_sort_no_direction
|
|
581
|
+
---------------------------------------
|
|
582
|
+
[1m[36m (0.1ms)[0m [1mSELECT "people"."id" FROM "people" ORDER BY "people"."id" [0m
|
|
583
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
584
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
585
|
+
-------------------------------------------------------
|
|
586
|
+
VisualQueryTest: test_sort_sql_injection_in_column_name
|
|
587
|
+
-------------------------------------------------------
|
|
588
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
589
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
590
|
+
-----------------------------------------------------
|
|
591
|
+
VisualQueryTest: test_sort_sql_injection_in_direction
|
|
592
|
+
-----------------------------------------------------
|
|
593
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
594
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
595
|
+
---------------------------------------------------------
|
|
596
|
+
VisualQueryTest: test_sort_sql_injection_in_relation_name
|
|
597
|
+
---------------------------------------------------------
|
|
598
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
599
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
600
|
+
-----------------------------------------------
|
|
601
|
+
VisualQueryTest: test_sort_with_empty_condition
|
|
602
|
+
-----------------------------------------------
|
|
603
|
+
[1m[35m (0.2ms)[0m SELECT "people"."id" FROM "people" ORDER BY "people"."id"
|
|
604
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
605
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
606
|
+
--------------------------------------------------------
|
|
607
|
+
VisualQueryTest: test_sql_injection_in_columns_semicolon
|
|
608
|
+
--------------------------------------------------------
|
|
609
|
+
[1m[36m (0.3ms)[0m [1mSELECT "people"."name; DELETE FROM schema_info;" FROM "people"[0m
|
|
610
|
+
PG::UndefinedColumn: ERROR: column people.name; DELETE FROM schema_info; does not exist
|
|
611
|
+
LINE 1: SELECT "people"."name; DELETE FROM schema_info;" FROM "peopl...
|
|
612
|
+
^
|
|
613
|
+
: SELECT "people"."name; DELETE FROM schema_info;" FROM "people"
|
|
614
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
615
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
616
|
+
-------------------------------------------------------------------------------------
|
|
617
|
+
VisualQueryTest: test_sql_injection_in_columns_semicolon_and_backslashed_double_quote
|
|
618
|
+
-------------------------------------------------------------------------------------
|
|
619
|
+
[1m[35m (0.2ms)[0m SELECT "people"."name\""; DELETE FROM schema_info;" FROM "people"
|
|
620
|
+
PG::UndefinedColumn: ERROR: column people.name\"; DELETE FROM schema_info; does not exist
|
|
621
|
+
LINE 1: SELECT "people"."name\""; DELETE FROM schema_info;" FROM "pe...
|
|
622
|
+
^
|
|
623
|
+
: SELECT "people"."name\""; DELETE FROM schema_info;" FROM "people"
|
|
624
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
625
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
626
|
+
-------------------------------------------------------------------------
|
|
627
|
+
VisualQueryTest: test_sql_injection_in_columns_semicolon_and_double_quote
|
|
628
|
+
-------------------------------------------------------------------------
|
|
629
|
+
[1m[36m (0.2ms)[0m [1mSELECT "people"."name""; DELETE FROM schema_info;" FROM "people"[0m
|
|
630
|
+
PG::UndefinedColumn: ERROR: column people.name"; DELETE FROM schema_info; does not exist
|
|
631
|
+
LINE 1: SELECT "people"."name""; DELETE FROM schema_info;" FROM "peo...
|
|
632
|
+
^
|
|
633
|
+
: SELECT "people"."name""; DELETE FROM schema_info;" FROM "people"
|
|
634
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
635
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
636
|
+
-----------------------------------------------------
|
|
637
|
+
VisualQueryTest: test_sql_injection_in_filters_column
|
|
638
|
+
-----------------------------------------------------
|
|
639
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
640
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
641
|
+
-------------------------------------------------------
|
|
642
|
+
VisualQueryTest: test_sql_injection_in_filters_operator
|
|
643
|
+
-------------------------------------------------------
|
|
644
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
645
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
646
|
+
-------------------------------------------------------
|
|
647
|
+
VisualQueryTest: test_sql_injection_in_filters_relation
|
|
648
|
+
-------------------------------------------------------
|
|
649
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
650
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
651
|
+
-----------------------------------------------------
|
|
652
|
+
VisualQueryTest: test_sql_injection_in_filters_schema
|
|
653
|
+
-----------------------------------------------------
|
|
654
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
655
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
656
|
+
----------------------------------------------------
|
|
657
|
+
VisualQueryTest: test_sql_injection_in_filters_value
|
|
658
|
+
----------------------------------------------------
|
|
659
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
660
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
661
|
+
------------------------------------------------------
|
|
662
|
+
VisualQueryTest: test_sql_injection_in_join_conditions
|
|
663
|
+
------------------------------------------------------
|
|
664
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
665
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
666
|
+
----------------------------------------------------------
|
|
667
|
+
VisualQueryTest: test_sql_injection_in_relations_semicolon
|
|
668
|
+
----------------------------------------------------------
|
|
669
|
+
[1m[35m (0.2ms)[0m SELECT FROM "people; DELETE FROM schema_info;"
|
|
670
|
+
PG::UndefinedTable: ERROR: relation "people; DELETE FROM schema_info;" does not exist
|
|
671
|
+
LINE 1: SELECT FROM "people; DELETE FROM schema_info;"
|
|
672
|
+
^
|
|
673
|
+
: SELECT FROM "people; DELETE FROM schema_info;"
|
|
674
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
675
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
676
|
+
---------------------------------------------------------------------------------------
|
|
677
|
+
VisualQueryTest: test_sql_injection_in_relations_semicolon_and_backslashed_double_quote
|
|
678
|
+
---------------------------------------------------------------------------------------
|
|
679
|
+
[1m[36m (0.1ms)[0m [1mSELECT FROM "people\""; DELETE FROM schema_info;"[0m
|
|
680
|
+
PG::UndefinedTable: ERROR: relation "people\"; DELETE FROM schema_info;" does not exist
|
|
681
|
+
LINE 1: SELECT FROM "people\""; DELETE FROM schema_info;"
|
|
682
|
+
^
|
|
683
|
+
: SELECT FROM "people\""; DELETE FROM schema_info;"
|
|
684
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
685
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
686
|
+
---------------------------------------------------------------------------
|
|
687
|
+
VisualQueryTest: test_sql_injection_in_relations_semicolon_and_double_quote
|
|
688
|
+
---------------------------------------------------------------------------
|
|
689
|
+
[1m[35m (0.2ms)[0m SELECT FROM "people""; DELETE FROM schema_info;"
|
|
690
|
+
PG::UndefinedTable: ERROR: relation "people"; DELETE FROM schema_info;" does not exist
|
|
691
|
+
LINE 1: SELECT FROM "people""; DELETE FROM schema_info;"
|
|
692
|
+
^
|
|
693
|
+
: SELECT FROM "people""; DELETE FROM schema_info;"
|
|
694
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
695
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
696
|
+
----------------------------
|
|
697
|
+
VisualQueryTest: test_to_csv
|
|
698
|
+
----------------------------
|
|
699
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
700
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
|
701
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
702
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id" [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "query for results"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"query for results\"}}"]]
|
|
703
|
+
[1m[36m (0.6ms)[0m [1mCREATE VIEW "tutuf::visual_query"."query for results" AS SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
704
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
|
705
|
+
[1m[36m (0.1ms)[0m [1mSELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
706
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
707
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
708
|
+
----------------------------------------------
|
|
709
|
+
VisualQueryTest: test_to_json_without_escaping
|
|
710
|
+
----------------------------------------------
|
|
711
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1
|
|
712
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
713
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1
|
|
714
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:41:52 UTC +00:00], ["name", "query for results"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"query for results\"}}"]]
|
|
715
|
+
[1m[35m (0.5ms)[0m CREATE VIEW "tutuf::visual_query"."query for results" AS SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"
|
|
716
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
717
|
+
[1m[35m (0.2ms)[0m SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"
|
|
718
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
719
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
720
|
+
----------------------------------------------------------
|
|
721
|
+
VisualQueryTest: test_validate_name_cannot_be_empty_string
|
|
722
|
+
----------------------------------------------------------
|
|
723
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = '' LIMIT 1[0m
|
|
724
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
725
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
726
|
+
----------------------------------------------------------------
|
|
727
|
+
VisualQueryTest: test_validate_name_cannot_be_more_than_63_chars
|
|
728
|
+
----------------------------------------------------------------
|
|
729
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' LIMIT 1
|
|
730
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
731
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
732
|
+
-------------------------------------------------
|
|
733
|
+
VisualQueryTest: test_validate_name_cannot_be_nil
|
|
734
|
+
-------------------------------------------------
|
|
735
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" IS NULL LIMIT 1[0m
|
|
736
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
737
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
738
|
+
--------------------------------------------------
|
|
739
|
+
VisualQueryTest: test_validate_name_must_be_unique
|
|
740
|
+
--------------------------------------------------
|
|
741
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' LIMIT 1
|
|
742
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
743
|
+
[1m[36m (1.3ms)[0m [1mSELECT count(id) FROM tutuf_visual_query_metadata[0m
|
|
744
|
+
Unable to load categories_post, underlying cause No such file to load -- categories_post
|
|
745
|
+
|
|
746
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `load'
|
|
747
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `block in load_file'
|
|
748
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:616:in `new_constants_in'
|
|
749
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:423:in `load_file'
|
|
750
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:324:in `require_or_load'
|
|
751
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:289:in `depend_on'
|
|
752
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:207:in `require_dependency'
|
|
753
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:773:in `try_to_load_dependency'
|
|
754
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:792:in `block in require_fixture_classes'
|
|
755
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `each'
|
|
756
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `require_fixture_classes'
|
|
757
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:768:in `fixtures'
|
|
758
|
+
/Users/sava/code/visual_query/test/test_helper.rb:14:in `<class:TestCase>'
|
|
759
|
+
/Users/sava/code/visual_query/test/test_helper.rb:8:in `<top (required)>'
|
|
760
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
761
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
762
|
+
visual_query_test.rb:2:in `<main>'
|
|
763
|
+
[1m[35m (0.9ms)[0m ALTER TABLE "categories" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" DISABLE TRIGGER ALL;ALTER TABLE "some_files" DISABLE TRIGGER ALL;ALTER TABLE "people" DISABLE TRIGGER ALL;ALTER TABLE "accounts" DISABLE TRIGGER ALL;ALTER TABLE "addresses" DISABLE TRIGGER ALL;ALTER TABLE "customers" DISABLE TRIGGER ALL;ALTER TABLE "orders" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "categories_posts" DISABLE TRIGGER ALL;ALTER TABLE "composite_pks" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "product_ins" DISABLE TRIGGER ALL;ALTER TABLE "product_outs" DISABLE TRIGGER ALL
|
|
764
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
765
|
+
[1m[35mFixture Delete (0.4ms)[0m DELETE FROM "accounts"
|
|
766
|
+
[1m[36mFixture Insert (0.5ms)[0m [1mINSERT INTO "accounts" ("id", "name", "person_id") VALUES (1, 'jat', 1)[0m
|
|
767
|
+
[1m[35mFixture Delete (0.4ms)[0m DELETE FROM "categories"
|
|
768
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories" ("id", "name") VALUES (1, 'first')[0m
|
|
769
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "categories_posts"
|
|
770
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories_posts" ("category_id", "post_id") VALUES (1, 1)[0m
|
|
771
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "people"
|
|
772
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "people" ("id", "name", "age") VALUES (1, 'John Atanasoff', 34)[0m
|
|
773
|
+
[1m[35mFixture Insert (0.2ms)[0m INSERT INTO "people" ("id", "name", "age") VALUES (2, 'Джон Атанасов', 34)
|
|
774
|
+
[1m[36mFixture Delete (0.2ms)[0m [1mDELETE FROM "posts"[0m
|
|
775
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "posts" ("id", "title", "body") VALUES (1, 'First post!', 'Wankers like first post')
|
|
776
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "posts" ("id", "title", "body") VALUES (2, 'Màmìta Español', '')[0m
|
|
777
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "product_ins"
|
|
778
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (1, 1, 23, 7)[0m
|
|
779
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (2, 1, 14, 10)
|
|
780
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (3, 2, 67, 25)[0m
|
|
781
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "product_outs"
|
|
782
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_outs" ("id", "product_id", "quantity", "sale_price") VALUES (1, 1, 45, 10)[0m
|
|
783
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "products"
|
|
784
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "products" ("id", "name") VALUES (1, 'pencil')[0m
|
|
785
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "products" ("id", "name") VALUES (2, 'bottle')
|
|
786
|
+
[1m[36m (3.0ms)[0m [1mCOMMIT[0m
|
|
787
|
+
[1m[35m (0.4ms)[0m ALTER TABLE "categories" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" ENABLE TRIGGER ALL;ALTER TABLE "some_files" ENABLE TRIGGER ALL;ALTER TABLE "people" ENABLE TRIGGER ALL;ALTER TABLE "accounts" ENABLE TRIGGER ALL;ALTER TABLE "addresses" ENABLE TRIGGER ALL;ALTER TABLE "customers" ENABLE TRIGGER ALL;ALTER TABLE "orders" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "categories_posts" ENABLE TRIGGER ALL;ALTER TABLE "composite_pks" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "product_ins" ENABLE TRIGGER ALL;ALTER TABLE "product_outs" ENABLE TRIGGER ALL
|
|
788
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
789
|
+
-----------------------------------------
|
|
790
|
+
VisualQueryTest: test_columns_all_content
|
|
791
|
+
-----------------------------------------
|
|
792
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
793
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
794
|
+
------------------------------------------
|
|
795
|
+
VisualQueryTest: test_columns_all_selected
|
|
796
|
+
------------------------------------------
|
|
797
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
798
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
799
|
+
-------------------------------------------------------
|
|
800
|
+
VisualQueryTest: test_columns_for_saving_selected_empty
|
|
801
|
+
-------------------------------------------------------
|
|
802
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
803
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
804
|
+
-----------------------------------------------------------
|
|
805
|
+
VisualQueryTest: test_columns_for_saving_selected_not_empty
|
|
806
|
+
-----------------------------------------------------------
|
|
807
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
808
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
809
|
+
---------------------------------------------
|
|
810
|
+
VisualQueryTest: test_columns_not_all_content
|
|
811
|
+
---------------------------------------------
|
|
812
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
813
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
814
|
+
----------------------------------------------
|
|
815
|
+
VisualQueryTest: test_columns_not_all_selected
|
|
816
|
+
----------------------------------------------
|
|
817
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
818
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
819
|
+
--------------------------------------------------------
|
|
820
|
+
VisualQueryTest: test_columns_with_composite_primary_key
|
|
821
|
+
--------------------------------------------------------
|
|
822
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
823
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
824
|
+
---------------------------------------------------------
|
|
825
|
+
VisualQueryTest: test_columns_with_name_of_existing_query
|
|
826
|
+
---------------------------------------------------------
|
|
827
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.8ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
828
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
829
|
+
[1m[35m (0.3ms)[0m BEGIN
|
|
830
|
+
------------------------------------------------------------
|
|
831
|
+
VisualQueryTest: test_columns_with_name_of_nonexisting_query
|
|
832
|
+
------------------------------------------------------------
|
|
833
|
+
PG::UndefinedTable: ERROR: relation "tutuf::visual_query.non existing" does not exist
|
|
834
|
+
LINE 5: WHERE a.attrelid = '"tutuf::visual_query"."no...
|
|
835
|
+
^
|
|
836
|
+
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
|
|
837
|
+
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
|
|
838
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
839
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
840
|
+
WHERE a.attrelid = '"tutuf::visual_query"."non existing"'::regclass
|
|
841
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
842
|
+
ORDER BY a.attnum
|
|
843
|
+
|
|
844
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
845
|
+
[1m[35m (0.3ms)[0m BEGIN
|
|
846
|
+
------------------------------------------------
|
|
847
|
+
VisualQueryTest: test_columns_without_query_name
|
|
848
|
+
------------------------------------------------
|
|
849
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
850
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
851
|
+
--------------------------------------------------------------------
|
|
852
|
+
VisualQueryTest: test_data_type_exisitng_relation_nonexisting_column
|
|
853
|
+
--------------------------------------------------------------------
|
|
854
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
855
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
856
|
+
-----------------------------------------------
|
|
857
|
+
VisualQueryTest: test_data_type_existing_column
|
|
858
|
+
-----------------------------------------------
|
|
859
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
860
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
861
|
+
-----------------------------------------------------------------------
|
|
862
|
+
VisualQueryTest: test_data_type_nonexisitng_relation_nonexisting_column
|
|
863
|
+
-----------------------------------------------------------------------
|
|
864
|
+
PG::UndefinedTable: ERROR: relation "non existing" does not exist
|
|
865
|
+
LINE 5: WHERE a.attrelid = '"non existing"'::regclass
|
|
866
|
+
^
|
|
867
|
+
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
|
|
868
|
+
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
|
|
869
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
870
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
871
|
+
WHERE a.attrelid = '"non existing"'::regclass
|
|
872
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
873
|
+
ORDER BY a.attnum
|
|
874
|
+
|
|
875
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
876
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
877
|
+
-----------------------------
|
|
878
|
+
VisualQueryTest: test_destroy
|
|
879
|
+
-----------------------------
|
|
880
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
881
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.3ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
882
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
883
|
+
[1m[35mSQL (0.5ms)[0m DELETE FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."id" = $1 [["id", 1]]
|
|
884
|
+
[1m[36m (0.6ms)[0m [1mDROP VIEW "tutuf::visual_query"."first"[0m
|
|
885
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
|
886
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
887
|
+
[1m[35m (1.0ms)[0m SELECT 1 FROM information_schema.views WHERE table_name='first' AND table_schema='tutuf::visual_query';
|
|
888
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
889
|
+
[1m[35m (0.2ms)[0m BEGIN
|
|
890
|
+
-----------------------------
|
|
891
|
+
VisualQueryTest: test_disable
|
|
892
|
+
-----------------------------
|
|
893
|
+
[1m[36m (0.6ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
894
|
+
[1m[35m (1.2ms)[0m DROP SCHEMA IF EXISTS "tutuf::visual_query" CASCADE
|
|
895
|
+
[1m[36m (0.3ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
896
|
+
[1m[35m (0.9ms)[0m SELECT 1 FROM information_schema.views WHERE table_schema='tutuf::visual_query'
|
|
897
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
|
898
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
899
|
+
----------------------------
|
|
900
|
+
VisualQueryTest: test_enable
|
|
901
|
+
----------------------------
|
|
902
|
+
[1m[36m (0.9ms)[0m [1mDROP SCHEMA IF EXISTS "tutuf::visual_query" CASCADE[0m
|
|
903
|
+
[1m[35m (0.4ms)[0m CREATE SCHEMA "tutuf::visual_query"
|
|
904
|
+
[1m[36mTutuf::VisualQuery::Metadata Load (0.4ms)[0m [1mSELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" ORDER BY "tutuf_visual_query_metadata"."name" ASC[0m
|
|
905
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.5ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'first' AND "tutuf_visual_query_metadata"."id" != 1) LIMIT 1
|
|
906
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
907
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'first' AND "tutuf_visual_query_metadata"."id" != 1) LIMIT 1
|
|
908
|
+
[1m[36mSQL (0.4ms)[0m [1mUPDATE "tutuf_visual_query_metadata" SET "params" = $1 WHERE "tutuf_visual_query_metadata"."id" = 1[0m [["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"people:age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"people:age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"first\"}}"]]
|
|
909
|
+
[1m[35m (0.7ms)[0m CREATE VIEW "tutuf::visual_query"."first" AS SELECT "people"."age" FROM "people"
|
|
910
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
911
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'raw_sql' AND "tutuf_visual_query_metadata"."id" != 2) LIMIT 1
|
|
912
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
913
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE ("tutuf_visual_query_metadata"."name" = 'raw_sql' AND "tutuf_visual_query_metadata"."id" != 2) LIMIT 1
|
|
914
|
+
[1m[36mSQL (0.3ms)[0m [1mUPDATE "tutuf_visual_query_metadata" SET "params" = $1 WHERE "tutuf_visual_query_metadata"."id" = 2[0m [["params", "{\"sql\":\"SELECT AVG(age) AS average_age FROM people\",\"query\":{\"name\":\"raw_sql\"}}"]]
|
|
915
|
+
[1m[35m (0.6ms)[0m CREATE VIEW "tutuf::visual_query"."raw_sql" AS SELECT AVG(age) AS average_age FROM people
|
|
916
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
917
|
+
[1m[35m (0.5ms)[0m SELECT 1 FROM information_schema.views WHERE table_name='first' AND table_schema='tutuf::visual_query';
|
|
918
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
919
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
920
|
+
------------------------------
|
|
921
|
+
VisualQueryTest: test_find_all
|
|
922
|
+
------------------------------
|
|
923
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(*) FROM "tutuf_visual_query_metadata"[0m
|
|
924
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(*) FROM "tutuf_visual_query_metadata"
|
|
925
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
926
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
927
|
+
-------------------------------------------
|
|
928
|
+
VisualQueryTest: test_find_by_name_existing
|
|
929
|
+
-------------------------------------------
|
|
930
|
+
[1m[36mTutuf::VisualQuery::Metadata Load (0.2ms)[0m [1mSELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1[0m
|
|
931
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
932
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
933
|
+
-----------------------------------------------
|
|
934
|
+
VisualQueryTest: test_find_by_name_not_existing
|
|
935
|
+
-----------------------------------------------
|
|
936
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.2ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
937
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
938
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
939
|
+
-----------------------------------------------
|
|
940
|
+
VisualQueryTest: test_is_new_on_existing_object
|
|
941
|
+
-----------------------------------------------
|
|
942
|
+
[1m[36mTutuf::VisualQuery::Metadata Load (0.2ms)[0m [1mSELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1[0m
|
|
943
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
944
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
945
|
+
------------------------------------------
|
|
946
|
+
VisualQueryTest: test_is_new_on_new_object
|
|
947
|
+
------------------------------------------
|
|
948
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
949
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
950
|
+
--------------------------------------------------
|
|
951
|
+
VisualQueryTest: test_join_condition_on_belongs_to
|
|
952
|
+
--------------------------------------------------
|
|
953
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
954
|
+
[1m[36m (0.4ms)[0m [1mBEGIN[0m
|
|
955
|
+
-----------------------------------------------------------------------------
|
|
956
|
+
VisualQueryTest: test_join_condition_on_belongs_to_with_composite_primary_key
|
|
957
|
+
-----------------------------------------------------------------------------
|
|
958
|
+
[1m[35m (0.3ms)[0m ROLLBACK
|
|
959
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
960
|
+
---------------------------------------------------------------
|
|
961
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many
|
|
962
|
+
---------------------------------------------------------------
|
|
963
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
964
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
965
|
+
------------------------------------------------------------------------------------------
|
|
966
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many_with_composite_primary_key
|
|
967
|
+
------------------------------------------------------------------------------------------
|
|
968
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
969
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
970
|
+
--------------------------------------------------------------------------------------------
|
|
971
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many_with_polymorphic_association
|
|
972
|
+
--------------------------------------------------------------------------------------------
|
|
973
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
974
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
975
|
+
---------------------------------------------------------------------------------------------------------------------------
|
|
976
|
+
VisualQueryTest: test_join_condition_on_has_and_belongs_to_many_with_polymorphic_association_and_with_composite_primary_key
|
|
977
|
+
---------------------------------------------------------------------------------------------------------------------------
|
|
978
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
979
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
980
|
+
------------------------------------------------
|
|
981
|
+
VisualQueryTest: test_join_condition_on_has_many
|
|
982
|
+
------------------------------------------------
|
|
983
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
984
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
985
|
+
---------------------------------------------------------------------------
|
|
986
|
+
VisualQueryTest: test_join_condition_on_has_many_with_composite_primary_key
|
|
987
|
+
---------------------------------------------------------------------------
|
|
988
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
989
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
990
|
+
-----------------------------------------------------------------------------
|
|
991
|
+
VisualQueryTest: test_join_condition_on_has_many_with_polymorphic_association
|
|
992
|
+
-----------------------------------------------------------------------------
|
|
993
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
994
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
995
|
+
------------------------------------------------------------------------------------------------------------
|
|
996
|
+
VisualQueryTest: test_join_condition_on_has_many_with_polymorphic_association_and_with_composite_primary_key
|
|
997
|
+
------------------------------------------------------------------------------------------------------------
|
|
998
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
999
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1000
|
+
-----------------------------------------------
|
|
1001
|
+
VisualQueryTest: test_join_condition_on_has_one
|
|
1002
|
+
-----------------------------------------------
|
|
1003
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1004
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1005
|
+
--------------------------------------------------------------------------
|
|
1006
|
+
VisualQueryTest: test_join_condition_on_has_one_with_composite_primary_key
|
|
1007
|
+
--------------------------------------------------------------------------
|
|
1008
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1009
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1010
|
+
----------------------------------------------------------------------------
|
|
1011
|
+
VisualQueryTest: test_join_condition_on_has_one_with_polymorphic_association
|
|
1012
|
+
----------------------------------------------------------------------------
|
|
1013
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1014
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1015
|
+
-----------------------------------------------------------------------------------------------------------
|
|
1016
|
+
VisualQueryTest: test_join_condition_on_has_one_with_polymorphic_association_and_with_composite_primary_key
|
|
1017
|
+
-----------------------------------------------------------------------------------------------------------
|
|
1018
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1019
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1020
|
+
-----------------------------------------------
|
|
1021
|
+
VisualQueryTest: test_join_relations_belongs_to
|
|
1022
|
+
-----------------------------------------------
|
|
1023
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1024
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1025
|
+
------------------------------------------------------------
|
|
1026
|
+
VisualQueryTest: test_join_relations_has_and_belongs_to_many
|
|
1027
|
+
------------------------------------------------------------
|
|
1028
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1029
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1030
|
+
---------------------------------------------
|
|
1031
|
+
VisualQueryTest: test_join_relations_has_many
|
|
1032
|
+
---------------------------------------------
|
|
1033
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1034
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1035
|
+
--------------------------------------------
|
|
1036
|
+
VisualQueryTest: test_join_relations_has_one
|
|
1037
|
+
--------------------------------------------
|
|
1038
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1039
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1040
|
+
---------------------------------------------------
|
|
1041
|
+
VisualQueryTest: test_joinable_relations_belongs_to
|
|
1042
|
+
---------------------------------------------------
|
|
1043
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1044
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1045
|
+
----------------------------------------------------------------
|
|
1046
|
+
VisualQueryTest: test_joinable_relations_has_and_belongs_to_many
|
|
1047
|
+
----------------------------------------------------------------
|
|
1048
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1049
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1050
|
+
-------------------------------------------------
|
|
1051
|
+
VisualQueryTest: test_joinable_relations_has_many
|
|
1052
|
+
-------------------------------------------------
|
|
1053
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1054
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1055
|
+
------------------------------------------------
|
|
1056
|
+
VisualQueryTest: test_joinable_relations_has_one
|
|
1057
|
+
------------------------------------------------
|
|
1058
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1059
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1060
|
+
-----------------------------
|
|
1061
|
+
VisualQueryTest: test_klasses
|
|
1062
|
+
-----------------------------
|
|
1063
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1064
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1065
|
+
----------------------------------------------------
|
|
1066
|
+
VisualQueryTest: test_large_result_set_empty_results
|
|
1067
|
+
----------------------------------------------------
|
|
1068
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1069
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1070
|
+
--------------------------------------------------
|
|
1071
|
+
VisualQueryTest: test_large_result_set_nil_results
|
|
1072
|
+
--------------------------------------------------
|
|
1073
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1074
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1075
|
+
-------------------------------------------------------
|
|
1076
|
+
VisualQueryTest: test_large_result_set_not_really_large
|
|
1077
|
+
-------------------------------------------------------
|
|
1078
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
1079
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
1080
|
+
---------------------------------------------------
|
|
1081
|
+
VisualQueryTest: test_large_result_set_really_large
|
|
1082
|
+
---------------------------------------------------
|
|
1083
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1084
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1085
|
+
---------------------------------------------
|
|
1086
|
+
VisualQueryTest: test_name_on_loading_from_db
|
|
1087
|
+
---------------------------------------------
|
|
1088
|
+
[1m[35mTutuf::VisualQuery::Metadata Load (0.3ms)[0m SELECT "tutuf_visual_query_metadata".* FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' ORDER BY "tutuf_visual_query_metadata"."name" ASC LIMIT 1
|
|
1089
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1090
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1091
|
+
---------------------------------
|
|
1092
|
+
VisualQueryTest: test_name_on_new
|
|
1093
|
+
---------------------------------
|
|
1094
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1095
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1096
|
+
-----------------------------------------------------------------
|
|
1097
|
+
VisualQueryTest: test_parsed_filters_with_all_nonempty_conditions
|
|
1098
|
+
-----------------------------------------------------------------
|
|
1099
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1100
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1101
|
+
---------------------------------------------------------
|
|
1102
|
+
VisualQueryTest: test_parsed_filters_with_empty_condition
|
|
1103
|
+
---------------------------------------------------------
|
|
1104
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1105
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1106
|
+
-----------------------------------------------------
|
|
1107
|
+
VisualQueryTest: test_quote_relation_name_with_schema
|
|
1108
|
+
-----------------------------------------------------
|
|
1109
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1110
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1111
|
+
-----------------------------------------------------------
|
|
1112
|
+
VisualQueryTest: test_quote_relation_name_with_schema_empty
|
|
1113
|
+
-----------------------------------------------------------
|
|
1114
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1115
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1116
|
+
---------------------------------------------------------
|
|
1117
|
+
VisualQueryTest: test_quote_relation_name_with_schema_nil
|
|
1118
|
+
---------------------------------------------------------
|
|
1119
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1120
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1121
|
+
--------------------------------------------
|
|
1122
|
+
VisualQueryTest: test_results_balanced_query
|
|
1123
|
+
--------------------------------------------
|
|
1124
|
+
[1m[36m (0.4ms)[0m [1m(SELECT "products"."name","product_ins"."quantity",NULL FROM "products" INNER JOIN "product_ins" ON "products"."id" = "product_ins"."product_id") UNION ALL (SELECT "products"."name",NULL,"product_outs"."quantity" FROM "products" INNER JOIN "product_outs" ON "products"."id" = "product_outs"."product_id")[0m
|
|
1125
|
+
[1m[35mProduct Load (0.3ms)[0m SELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1126
|
+
[1m[36mProductIn Load (0.3ms)[0m [1mSELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1127
|
+
[1m[35mProductOut Load (0.4ms)[0m SELECT "product_outs".* FROM "product_outs" WHERE "product_outs"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1128
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1129
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1130
|
+
----------------------------------------------------------------
|
|
1131
|
+
VisualQueryTest: test_results_balanced_query_with_hidden_columns
|
|
1132
|
+
----------------------------------------------------------------
|
|
1133
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1134
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1135
|
+
------------------------------------------
|
|
1136
|
+
VisualQueryTest: test_results_one_relation
|
|
1137
|
+
------------------------------------------
|
|
1138
|
+
[1m[36m (0.2ms)[0m [1mSELECT "people"."id","people"."name","people"."age" FROM "people"[0m
|
|
1139
|
+
[1m[35mPerson Load (0.3ms)[0m SELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1140
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1141
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1142
|
+
------------------------------------------------------
|
|
1143
|
+
VisualQueryTest: test_results_one_relation_with_filter
|
|
1144
|
+
------------------------------------------------------
|
|
1145
|
+
[1m[36mPerson Load (0.2ms)[0m [1mSELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1146
|
+
[1m[35m (0.2ms)[0m SELECT "people"."name" FROM "people" WHERE "public"."people"."id" = 1
|
|
1147
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1148
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1149
|
+
-----------------------------------------
|
|
1150
|
+
VisualQueryTest: test_results_saved_query
|
|
1151
|
+
-----------------------------------------
|
|
1152
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
1153
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
|
1154
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
1155
|
+
[1m[35mSQL (1.1ms)[0m INSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id" [["created_at", Fri, 03 Feb 2017 14:42:21 UTC +00:00], ["name", "query for results"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"query for results\"}}"]]
|
|
1156
|
+
[1m[36m (0.7ms)[0m [1mCREATE VIEW "tutuf::visual_query"."query for results" AS SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
1157
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
|
1158
|
+
[1m[36m (0.1ms)[0m [1mSELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
1159
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1160
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1161
|
+
-------------------------------------------------------------------
|
|
1162
|
+
VisualQueryTest: test_results_two_relations_has_and_belongs_to_many
|
|
1163
|
+
-------------------------------------------------------------------
|
|
1164
|
+
[1m[35m (0.3ms)[0m SELECT "posts"."title","categories"."name" FROM "posts" INNER JOIN "categories_posts" ON "posts"."id" = "categories_posts"."post_id" INNER JOIN "categories" ON "categories_posts"."category_id" = "categories"."id"
|
|
1165
|
+
[1m[36mCategory Load (0.3ms)[0m [1mSELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1166
|
+
[1m[35mPost Load (0.3ms)[0m SELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1167
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1168
|
+
[1m[35m (0.2ms)[0m BEGIN
|
|
1169
|
+
----------------------------------------------------------------------------------
|
|
1170
|
+
VisualQueryTest: test_results_two_relations_has_and_belongs_to_many_join_type_full
|
|
1171
|
+
----------------------------------------------------------------------------------
|
|
1172
|
+
[1m[36m (0.3ms)[0m [1mSELECT "posts"."title","categories"."name" FROM "posts" FULL JOIN "categories_posts" ON "posts"."id" = "categories_posts"."post_id" INNER JOIN "categories" ON "categories_posts"."category_id" = "categories"."id"[0m
|
|
1173
|
+
[1m[35mCategory Load (0.5ms)[0m SELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1174
|
+
[1m[36mPost Load (0.5ms)[0m [1mSELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1175
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
1176
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
1177
|
+
-------------------------------------------------------------------------------------
|
|
1178
|
+
VisualQueryTest: test_results_two_relations_has_and_belongs_to_many_join_type_invalid
|
|
1179
|
+
-------------------------------------------------------------------------------------
|
|
1180
|
+
[1m[35m (0.2ms)[0m SELECT "posts"."title","categories"."name" FROM "posts" INNER JOIN "categories_posts" ON "posts"."id" = "categories_posts"."post_id" INNER JOIN "categories" ON "categories_posts"."category_id" = "categories"."id"
|
|
1181
|
+
[1m[36mCategory Load (0.2ms)[0m [1mSELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1182
|
+
[1m[35mPost Load (0.4ms)[0m SELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1183
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
1184
|
+
[1m[35m (0.2ms)[0m BEGIN
|
|
1185
|
+
---------------------------------------------------
|
|
1186
|
+
VisualQueryTest: test_results_two_relations_has_one
|
|
1187
|
+
---------------------------------------------------
|
|
1188
|
+
[1m[36m (0.5ms)[0m [1mSELECT "people"."id","people"."name","people"."age","accounts"."id","accounts"."name" FROM "accounts" INNER JOIN "people" ON "accounts"."person_id" = "people"."id"[0m
|
|
1189
|
+
[1m[35mPerson Load (0.3ms)[0m SELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1190
|
+
[1m[36mAccount Load (0.4ms)[0m [1mSELECT "accounts".* FROM "accounts" WHERE "accounts"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1191
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1192
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1193
|
+
-------------------------------------------------
|
|
1194
|
+
VisualQueryTest: test_results_with_hidden_columns
|
|
1195
|
+
-------------------------------------------------
|
|
1196
|
+
[1m[35m (0.2ms)[0m SELECT NULL,"people"."name","people"."age" FROM "people"
|
|
1197
|
+
[1m[36mPerson Load (0.3ms)[0m [1mSELECT "people".* FROM "people" WHERE "people"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1198
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1199
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1200
|
+
-----------------------------------------
|
|
1201
|
+
VisualQueryTest: test_save_balanced_query
|
|
1202
|
+
-----------------------------------------
|
|
1203
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1204
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1205
|
+
---------------------------------------------------------------------
|
|
1206
|
+
VisualQueryTest: test_save_invalid_metadata_and_invalid_sql_generated
|
|
1207
|
+
---------------------------------------------------------------------
|
|
1208
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(*) FROM "tutuf_visual_query_metadata"
|
|
1209
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1[0m
|
|
1210
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
1211
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
1212
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
1213
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:42:21 UTC +00:00], ["name", "new query"], ["params", "{\"query\":{\"name\":\"new query\"}}"]]
|
|
1214
|
+
[1m[35m (0.2ms)[0m CREATE VIEW "tutuf::visual_query"."new query" AS
|
|
1215
|
+
PG::SyntaxError: ERROR: syntax error at end of input
|
|
1216
|
+
LINE 1: CREATE VIEW "tutuf::visual_query"."new query" AS
|
|
1217
|
+
^
|
|
1218
|
+
: CREATE VIEW "tutuf::visual_query"."new query" AS
|
|
1219
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
|
1220
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(*) FROM "tutuf_visual_query_metadata"
|
|
1221
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
1222
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1223
|
+
-------------------------------------------------------------------
|
|
1224
|
+
VisualQueryTest: test_save_invalid_metadata_and_valid_sql_generated
|
|
1225
|
+
-------------------------------------------------------------------
|
|
1226
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" IS NULL LIMIT 1[0m
|
|
1227
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" IS NULL LIMIT 1
|
|
1228
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1229
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1230
|
+
---------------------------------------------
|
|
1231
|
+
VisualQueryTest: test_save_valid_visual_query
|
|
1232
|
+
---------------------------------------------
|
|
1233
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1[0m
|
|
1234
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
1235
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
1236
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'new query' LIMIT 1
|
|
1237
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:42:21 UTC +00:00], ["name", "new query"], ["params", "{\"columns\":[{\"rel_name\":\"addresses\",\"col_name\":\"country\",\"save_name\":\"cntr\"}],\"relations\":[{\"rel_name\":\"addresses\"}],\"query\":{\"name\":\"new query\"}}"]]
|
|
1238
|
+
[1m[35m (0.6ms)[0m CREATE VIEW "tutuf::visual_query"."new query" AS SELECT "addresses"."country" AS "cntr" FROM "addresses"
|
|
1239
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
1240
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1241
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1242
|
+
----------------------------
|
|
1243
|
+
VisualQueryTest: test_schema
|
|
1244
|
+
----------------------------
|
|
1245
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1246
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1247
|
+
------------------------------------
|
|
1248
|
+
VisualQueryTest: test_sort_ascending
|
|
1249
|
+
------------------------------------
|
|
1250
|
+
[1m[35m (0.3ms)[0m SELECT "people"."id" FROM "people" ORDER BY "people"."id" ASC
|
|
1251
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1252
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1253
|
+
-----------------------------------------
|
|
1254
|
+
VisualQueryTest: test_sort_balanced_query
|
|
1255
|
+
-----------------------------------------
|
|
1256
|
+
[1m[36m (0.4ms)[0m [1m(SELECT "products"."id","product_ins"."buy_price",NULL FROM "products" INNER JOIN "product_ins" ON "products"."id" = "product_ins"."product_id" ORDER BY "products"."id" ) UNION ALL (SELECT "products"."id",NULL,"product_outs"."sale_price" FROM "products" INNER JOIN "product_outs" ON "products"."id" = "product_outs"."product_id" ORDER BY "products"."id" )[0m
|
|
1257
|
+
[1m[35mProduct Load (0.2ms)[0m SELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1 [["id", 1]]
|
|
1258
|
+
[1m[36mProductIn Load (0.2ms)[0m [1mSELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1259
|
+
[1m[35mProductIn Load (0.2ms)[0m SELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1 [["id", 2]]
|
|
1260
|
+
[1m[36mProduct Load (0.2ms)[0m [1mSELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1[0m [["id", 2]]
|
|
1261
|
+
[1m[35mProductIn Load (0.2ms)[0m SELECT "product_ins".* FROM "product_ins" WHERE "product_ins"."id" = $1 LIMIT 1 [["id", 3]]
|
|
1262
|
+
[1m[36mProductOut Load (0.2ms)[0m [1mSELECT "product_outs".* FROM "product_outs" WHERE "product_outs"."id" = $1 LIMIT 1[0m [["id", 1]]
|
|
1263
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1264
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
1265
|
+
-------------------------------------
|
|
1266
|
+
VisualQueryTest: test_sort_descending
|
|
1267
|
+
-------------------------------------
|
|
1268
|
+
[1m[35m (0.1ms)[0m SELECT "people"."id" FROM "people" ORDER BY "people"."id" DESC
|
|
1269
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1270
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1271
|
+
---------------------------------------
|
|
1272
|
+
VisualQueryTest: test_sort_no_direction
|
|
1273
|
+
---------------------------------------
|
|
1274
|
+
[1m[36m (0.1ms)[0m [1mSELECT "people"."id" FROM "people" ORDER BY "people"."id" [0m
|
|
1275
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1276
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1277
|
+
-------------------------------------------------------
|
|
1278
|
+
VisualQueryTest: test_sort_sql_injection_in_column_name
|
|
1279
|
+
-------------------------------------------------------
|
|
1280
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1281
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1282
|
+
-----------------------------------------------------
|
|
1283
|
+
VisualQueryTest: test_sort_sql_injection_in_direction
|
|
1284
|
+
-----------------------------------------------------
|
|
1285
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1286
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1287
|
+
---------------------------------------------------------
|
|
1288
|
+
VisualQueryTest: test_sort_sql_injection_in_relation_name
|
|
1289
|
+
---------------------------------------------------------
|
|
1290
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1291
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1292
|
+
-----------------------------------------------
|
|
1293
|
+
VisualQueryTest: test_sort_with_empty_condition
|
|
1294
|
+
-----------------------------------------------
|
|
1295
|
+
[1m[35m (0.1ms)[0m SELECT "people"."id" FROM "people" ORDER BY "people"."id"
|
|
1296
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1297
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1298
|
+
--------------------------------------------------------
|
|
1299
|
+
VisualQueryTest: test_sql_injection_in_columns_semicolon
|
|
1300
|
+
--------------------------------------------------------
|
|
1301
|
+
[1m[36m (0.2ms)[0m [1mSELECT "people"."name; DELETE FROM schema_info;" FROM "people"[0m
|
|
1302
|
+
PG::UndefinedColumn: ERROR: column people.name; DELETE FROM schema_info; does not exist
|
|
1303
|
+
LINE 1: SELECT "people"."name; DELETE FROM schema_info;" FROM "peopl...
|
|
1304
|
+
^
|
|
1305
|
+
: SELECT "people"."name; DELETE FROM schema_info;" FROM "people"
|
|
1306
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1307
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1308
|
+
-------------------------------------------------------------------------------------
|
|
1309
|
+
VisualQueryTest: test_sql_injection_in_columns_semicolon_and_backslashed_double_quote
|
|
1310
|
+
-------------------------------------------------------------------------------------
|
|
1311
|
+
[1m[35m (0.2ms)[0m SELECT "people"."name\""; DELETE FROM schema_info;" FROM "people"
|
|
1312
|
+
PG::UndefinedColumn: ERROR: column people.name\"; DELETE FROM schema_info; does not exist
|
|
1313
|
+
LINE 1: SELECT "people"."name\""; DELETE FROM schema_info;" FROM "pe...
|
|
1314
|
+
^
|
|
1315
|
+
: SELECT "people"."name\""; DELETE FROM schema_info;" FROM "people"
|
|
1316
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1317
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1318
|
+
-------------------------------------------------------------------------
|
|
1319
|
+
VisualQueryTest: test_sql_injection_in_columns_semicolon_and_double_quote
|
|
1320
|
+
-------------------------------------------------------------------------
|
|
1321
|
+
[1m[36m (0.2ms)[0m [1mSELECT "people"."name""; DELETE FROM schema_info;" FROM "people"[0m
|
|
1322
|
+
PG::UndefinedColumn: ERROR: column people.name"; DELETE FROM schema_info; does not exist
|
|
1323
|
+
LINE 1: SELECT "people"."name""; DELETE FROM schema_info;" FROM "peo...
|
|
1324
|
+
^
|
|
1325
|
+
: SELECT "people"."name""; DELETE FROM schema_info;" FROM "people"
|
|
1326
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1327
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1328
|
+
-----------------------------------------------------
|
|
1329
|
+
VisualQueryTest: test_sql_injection_in_filters_column
|
|
1330
|
+
-----------------------------------------------------
|
|
1331
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1332
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1333
|
+
-------------------------------------------------------
|
|
1334
|
+
VisualQueryTest: test_sql_injection_in_filters_operator
|
|
1335
|
+
-------------------------------------------------------
|
|
1336
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1337
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1338
|
+
-------------------------------------------------------
|
|
1339
|
+
VisualQueryTest: test_sql_injection_in_filters_relation
|
|
1340
|
+
-------------------------------------------------------
|
|
1341
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1342
|
+
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
|
1343
|
+
-----------------------------------------------------
|
|
1344
|
+
VisualQueryTest: test_sql_injection_in_filters_schema
|
|
1345
|
+
-----------------------------------------------------
|
|
1346
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1347
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1348
|
+
----------------------------------------------------
|
|
1349
|
+
VisualQueryTest: test_sql_injection_in_filters_value
|
|
1350
|
+
----------------------------------------------------
|
|
1351
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1352
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1353
|
+
------------------------------------------------------
|
|
1354
|
+
VisualQueryTest: test_sql_injection_in_join_conditions
|
|
1355
|
+
------------------------------------------------------
|
|
1356
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1357
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1358
|
+
----------------------------------------------------------
|
|
1359
|
+
VisualQueryTest: test_sql_injection_in_relations_semicolon
|
|
1360
|
+
----------------------------------------------------------
|
|
1361
|
+
[1m[35m (0.2ms)[0m SELECT FROM "people; DELETE FROM schema_info;"
|
|
1362
|
+
PG::UndefinedTable: ERROR: relation "people; DELETE FROM schema_info;" does not exist
|
|
1363
|
+
LINE 1: SELECT FROM "people; DELETE FROM schema_info;"
|
|
1364
|
+
^
|
|
1365
|
+
: SELECT FROM "people; DELETE FROM schema_info;"
|
|
1366
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1367
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1368
|
+
---------------------------------------------------------------------------------------
|
|
1369
|
+
VisualQueryTest: test_sql_injection_in_relations_semicolon_and_backslashed_double_quote
|
|
1370
|
+
---------------------------------------------------------------------------------------
|
|
1371
|
+
[1m[36m (0.2ms)[0m [1mSELECT FROM "people\""; DELETE FROM schema_info;"[0m
|
|
1372
|
+
PG::UndefinedTable: ERROR: relation "people\"; DELETE FROM schema_info;" does not exist
|
|
1373
|
+
LINE 1: SELECT FROM "people\""; DELETE FROM schema_info;"
|
|
1374
|
+
^
|
|
1375
|
+
: SELECT FROM "people\""; DELETE FROM schema_info;"
|
|
1376
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1377
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1378
|
+
---------------------------------------------------------------------------
|
|
1379
|
+
VisualQueryTest: test_sql_injection_in_relations_semicolon_and_double_quote
|
|
1380
|
+
---------------------------------------------------------------------------
|
|
1381
|
+
[1m[35m (0.2ms)[0m SELECT FROM "people""; DELETE FROM schema_info;"
|
|
1382
|
+
PG::UndefinedTable: ERROR: relation "people"; DELETE FROM schema_info;" does not exist
|
|
1383
|
+
LINE 1: SELECT FROM "people""; DELETE FROM schema_info;"
|
|
1384
|
+
^
|
|
1385
|
+
: SELECT FROM "people""; DELETE FROM schema_info;"
|
|
1386
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1387
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1388
|
+
----------------------------
|
|
1389
|
+
VisualQueryTest: test_to_csv
|
|
1390
|
+
----------------------------
|
|
1391
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.4ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
1392
|
+
[1m[35m (0.2ms)[0m SAVEPOINT active_record_1
|
|
1393
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.5ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1[0m
|
|
1394
|
+
[1m[35mSQL (0.5ms)[0m INSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id" [["created_at", Fri, 03 Feb 2017 14:42:21 UTC +00:00], ["name", "query for results"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"query for results\"}}"]]
|
|
1395
|
+
[1m[36m (1.1ms)[0m [1mCREATE VIEW "tutuf::visual_query"."query for results" AS SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
1396
|
+
[1m[35m (0.2ms)[0m RELEASE SAVEPOINT active_record_1
|
|
1397
|
+
[1m[36m (0.3ms)[0m [1mSELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"[0m
|
|
1398
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
|
1399
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
1400
|
+
----------------------------------------------
|
|
1401
|
+
VisualQueryTest: test_to_json_without_escaping
|
|
1402
|
+
----------------------------------------------
|
|
1403
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.4ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1
|
|
1404
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
1405
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'query for results' LIMIT 1
|
|
1406
|
+
[1m[36mSQL (0.6ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:42:21 UTC +00:00], ["name", "query for results"], ["params", "{\"columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"all_columns\":[{\"rel_name\":\"people\",\"col_name\":\"name\",\"save_name\":\"name\"},{\"rel_name\":\"people\",\"col_name\":\"age\",\"save_name\":\"age\"}],\"relations\":[{\"rel_name\":\"people\",\"row\":0}],\"rows\":[0],\"query\":{\"name\":\"query for results\"}}"]]
|
|
1407
|
+
[1m[35m (0.8ms)[0m CREATE VIEW "tutuf::visual_query"."query for results" AS SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"
|
|
1408
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
1409
|
+
[1m[35m (0.3ms)[0m SELECT "people"."name" AS "name","people"."age" AS "age" FROM "people"
|
|
1410
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
1411
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1412
|
+
----------------------------------------------------------
|
|
1413
|
+
VisualQueryTest: test_validate_name_cannot_be_empty_string
|
|
1414
|
+
----------------------------------------------------------
|
|
1415
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = '' LIMIT 1[0m
|
|
1416
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1417
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1418
|
+
----------------------------------------------------------------
|
|
1419
|
+
VisualQueryTest: test_validate_name_cannot_be_more_than_63_chars
|
|
1420
|
+
----------------------------------------------------------------
|
|
1421
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' LIMIT 1
|
|
1422
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
|
1423
|
+
[1m[35m (0.1ms)[0m BEGIN
|
|
1424
|
+
-------------------------------------------------
|
|
1425
|
+
VisualQueryTest: test_validate_name_cannot_be_nil
|
|
1426
|
+
-------------------------------------------------
|
|
1427
|
+
[1m[36mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" IS NULL LIMIT 1[0m
|
|
1428
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
|
1429
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1430
|
+
--------------------------------------------------
|
|
1431
|
+
VisualQueryTest: test_validate_name_must_be_unique
|
|
1432
|
+
--------------------------------------------------
|
|
1433
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'first' LIMIT 1
|
|
1434
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1435
|
+
[1m[36m (1.3ms)[0m [1mSELECT count(id) FROM tutuf_visual_query_metadata[0m
|
|
1436
|
+
Unable to load categories_post, underlying cause No such file to load -- categories_post
|
|
1437
|
+
|
|
1438
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `load'
|
|
1439
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `block in load_file'
|
|
1440
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:616:in `new_constants_in'
|
|
1441
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:423:in `load_file'
|
|
1442
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:324:in `require_or_load'
|
|
1443
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:289:in `depend_on'
|
|
1444
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:207:in `require_dependency'
|
|
1445
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:773:in `try_to_load_dependency'
|
|
1446
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:792:in `block in require_fixture_classes'
|
|
1447
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `each'
|
|
1448
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `require_fixture_classes'
|
|
1449
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:768:in `fixtures'
|
|
1450
|
+
/Users/sava/code/visual_query/test/test_helper.rb:14:in `<class:TestCase>'
|
|
1451
|
+
/Users/sava/code/visual_query/test/test_helper.rb:8:in `<top (required)>'
|
|
1452
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
1453
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
1454
|
+
metadata_test.rb:2:in `<main>'
|
|
1455
|
+
[1m[35m (0.9ms)[0m ALTER TABLE "categories" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" DISABLE TRIGGER ALL;ALTER TABLE "some_files" DISABLE TRIGGER ALL;ALTER TABLE "people" DISABLE TRIGGER ALL;ALTER TABLE "accounts" DISABLE TRIGGER ALL;ALTER TABLE "addresses" DISABLE TRIGGER ALL;ALTER TABLE "customers" DISABLE TRIGGER ALL;ALTER TABLE "orders" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "categories_posts" DISABLE TRIGGER ALL;ALTER TABLE "composite_pks" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "product_ins" DISABLE TRIGGER ALL;ALTER TABLE "product_outs" DISABLE TRIGGER ALL
|
|
1456
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1457
|
+
[1m[35mFixture Delete (0.8ms)[0m DELETE FROM "accounts"
|
|
1458
|
+
[1m[36mFixture Insert (0.4ms)[0m [1mINSERT INTO "accounts" ("id", "name", "person_id") VALUES (1, 'jat', 1)[0m
|
|
1459
|
+
[1m[35mFixture Delete (0.4ms)[0m DELETE FROM "categories"
|
|
1460
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories" ("id", "name") VALUES (1, 'first')[0m
|
|
1461
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "categories_posts"
|
|
1462
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories_posts" ("category_id", "post_id") VALUES (1, 1)[0m
|
|
1463
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "people"
|
|
1464
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "people" ("id", "name", "age") VALUES (1, 'John Atanasoff', 34)[0m
|
|
1465
|
+
[1m[35mFixture Insert (0.2ms)[0m INSERT INTO "people" ("id", "name", "age") VALUES (2, 'Джон Атанасов', 34)
|
|
1466
|
+
[1m[36mFixture Delete (0.2ms)[0m [1mDELETE FROM "posts"[0m
|
|
1467
|
+
[1m[35mFixture Insert (0.2ms)[0m INSERT INTO "posts" ("id", "title", "body") VALUES (1, 'First post!', 'Wankers like first post')
|
|
1468
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "posts" ("id", "title", "body") VALUES (2, 'Màmìta Español', '')[0m
|
|
1469
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "product_ins"
|
|
1470
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (1, 1, 23, 7)[0m
|
|
1471
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (2, 1, 14, 10)
|
|
1472
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (3, 2, 67, 25)[0m
|
|
1473
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "product_outs"
|
|
1474
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_outs" ("id", "product_id", "quantity", "sale_price") VALUES (1, 1, 45, 10)[0m
|
|
1475
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "products"
|
|
1476
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "products" ("id", "name") VALUES (1, 'pencil')[0m
|
|
1477
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "products" ("id", "name") VALUES (2, 'bottle')
|
|
1478
|
+
[1m[36m (3.1ms)[0m [1mCOMMIT[0m
|
|
1479
|
+
[1m[35m (0.7ms)[0m ALTER TABLE "categories" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" ENABLE TRIGGER ALL;ALTER TABLE "some_files" ENABLE TRIGGER ALL;ALTER TABLE "people" ENABLE TRIGGER ALL;ALTER TABLE "accounts" ENABLE TRIGGER ALL;ALTER TABLE "addresses" ENABLE TRIGGER ALL;ALTER TABLE "customers" ENABLE TRIGGER ALL;ALTER TABLE "orders" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "categories_posts" ENABLE TRIGGER ALL;ALTER TABLE "composite_pks" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "product_ins" ENABLE TRIGGER ALL;ALTER TABLE "product_outs" ENABLE TRIGGER ALL
|
|
1480
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
|
1481
|
+
-----------------------------------------------------------------
|
|
1482
|
+
MetadataTest: test_params_serialize_to_json_without_escaping_utf8
|
|
1483
|
+
-----------------------------------------------------------------
|
|
1484
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.8ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'params_serialization' LIMIT 1
|
|
1485
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
1486
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.2ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'params_serialization' LIMIT 1
|
|
1487
|
+
[1m[36mSQL (1.7ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:42:27 UTC +00:00], ["name", "params_serialization"], ["params", "{\"sql\":\"SELECT AVG(age) AS \\\"възраст\\\" FROM people\",\"query\":{\"name\":\"params_serialization\"}}"]]
|
|
1488
|
+
[1m[35m (1.2ms)[0m CREATE VIEW "tutuf::visual_query"."params_serialization" AS SELECT AVG(age) AS "възраст" FROM people
|
|
1489
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
1490
|
+
[1m[35m (0.3ms)[0m SELECT params FROM tutuf_visual_query_metadata WHERE name='params_serialization'
|
|
1491
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
|
1492
|
+
[1m[36m (2.3ms)[0m [1mSELECT count(id) FROM tutuf_visual_query_metadata[0m
|
|
1493
|
+
Unable to load categories_post, underlying cause No such file to load -- categories_post
|
|
1494
|
+
|
|
1495
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `load'
|
|
1496
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:424:in `block in load_file'
|
|
1497
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:616:in `new_constants_in'
|
|
1498
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:423:in `load_file'
|
|
1499
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:324:in `require_or_load'
|
|
1500
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:289:in `depend_on'
|
|
1501
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:207:in `require_dependency'
|
|
1502
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:773:in `try_to_load_dependency'
|
|
1503
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:792:in `block in require_fixture_classes'
|
|
1504
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `each'
|
|
1505
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:790:in `require_fixture_classes'
|
|
1506
|
+
/Users/sava/.gem/ruby/2.2.6/gems/activerecord-4.0.13/lib/active_record/fixtures.rb:768:in `fixtures'
|
|
1507
|
+
/Users/sava/code/visual_query/test/test_helper.rb:14:in `<class:TestCase>'
|
|
1508
|
+
/Users/sava/code/visual_query/test/test_helper.rb:8:in `<top (required)>'
|
|
1509
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
1510
|
+
/Users/sava/.rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
|
|
1511
|
+
metadata_test.rb:2:in `<main>'
|
|
1512
|
+
[1m[35m (0.9ms)[0m ALTER TABLE "categories" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" DISABLE TRIGGER ALL;ALTER TABLE "some_files" DISABLE TRIGGER ALL;ALTER TABLE "people" DISABLE TRIGGER ALL;ALTER TABLE "accounts" DISABLE TRIGGER ALL;ALTER TABLE "addresses" DISABLE TRIGGER ALL;ALTER TABLE "customers" DISABLE TRIGGER ALL;ALTER TABLE "orders" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "categories_posts" DISABLE TRIGGER ALL;ALTER TABLE "composite_pks" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "product_ins" DISABLE TRIGGER ALL;ALTER TABLE "product_outs" DISABLE TRIGGER ALL
|
|
1513
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1514
|
+
[1m[35mFixture Delete (0.9ms)[0m DELETE FROM "accounts"
|
|
1515
|
+
[1m[36mFixture Insert (0.3ms)[0m [1mINSERT INTO "accounts" ("id", "name", "person_id") VALUES (1, 'jat', 1)[0m
|
|
1516
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "categories"
|
|
1517
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "categories" ("id", "name") VALUES (1, 'first')[0m
|
|
1518
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "categories_posts"
|
|
1519
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "categories_posts" ("category_id", "post_id") VALUES (1, 1)[0m
|
|
1520
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "people"
|
|
1521
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "people" ("id", "name", "age") VALUES (1, 'John Atanasoff', 34)[0m
|
|
1522
|
+
[1m[35mFixture Insert (0.4ms)[0m INSERT INTO "people" ("id", "name", "age") VALUES (2, 'Джон Атанасов', 34)
|
|
1523
|
+
[1m[36mFixture Delete (0.3ms)[0m [1mDELETE FROM "posts"[0m
|
|
1524
|
+
[1m[35mFixture Insert (0.2ms)[0m INSERT INTO "posts" ("id", "title", "body") VALUES (1, 'First post!', 'Wankers like first post')
|
|
1525
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "posts" ("id", "title", "body") VALUES (2, 'Màmìta Español', '')[0m
|
|
1526
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "product_ins"
|
|
1527
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (1, 1, 23, 7)[0m
|
|
1528
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (2, 1, 14, 10)
|
|
1529
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_ins" ("id", "product_id", "quantity", "buy_price") VALUES (3, 2, 67, 25)[0m
|
|
1530
|
+
[1m[35mFixture Delete (0.2ms)[0m DELETE FROM "product_outs"
|
|
1531
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "product_outs" ("id", "product_id", "quantity", "sale_price") VALUES (1, 1, 45, 10)[0m
|
|
1532
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "products"
|
|
1533
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "products" ("id", "name") VALUES (1, 'pencil')[0m
|
|
1534
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "products" ("id", "name") VALUES (2, 'bottle')
|
|
1535
|
+
[1m[36m (1.9ms)[0m [1mCOMMIT[0m
|
|
1536
|
+
[1m[35m (0.3ms)[0m ALTER TABLE "categories" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "tutuf_visual_query_metadata" ENABLE TRIGGER ALL;ALTER TABLE "some_files" ENABLE TRIGGER ALL;ALTER TABLE "people" ENABLE TRIGGER ALL;ALTER TABLE "accounts" ENABLE TRIGGER ALL;ALTER TABLE "addresses" ENABLE TRIGGER ALL;ALTER TABLE "customers" ENABLE TRIGGER ALL;ALTER TABLE "orders" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "categories_posts" ENABLE TRIGGER ALL;ALTER TABLE "composite_pks" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "product_ins" ENABLE TRIGGER ALL;ALTER TABLE "product_outs" ENABLE TRIGGER ALL
|
|
1537
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
|
1538
|
+
-----------------------------------------------------------------
|
|
1539
|
+
MetadataTest: test_params_serialize_to_json_without_escaping_utf8
|
|
1540
|
+
-----------------------------------------------------------------
|
|
1541
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.7ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'params_serialization' LIMIT 1
|
|
1542
|
+
[1m[36m (0.2ms)[0m [1mSAVEPOINT active_record_1[0m
|
|
1543
|
+
[1m[35mTutuf::VisualQuery::Metadata Exists (0.3ms)[0m SELECT 1 AS one FROM "tutuf_visual_query_metadata" WHERE "tutuf_visual_query_metadata"."name" = 'params_serialization' LIMIT 1
|
|
1544
|
+
[1m[36mSQL (1.3ms)[0m [1mINSERT INTO "tutuf_visual_query_metadata" ("created_at", "name", "params") VALUES ($1, $2, $3) RETURNING "id"[0m [["created_at", Fri, 03 Feb 2017 14:42:35 UTC +00:00], ["name", "params_serialization"], ["params", "{\"sql\":\"SELECT AVG(age) AS \\\"възраст\\\" FROM people\",\"query\":{\"name\":\"params_serialization\"}}"]]
|
|
1545
|
+
[1m[35m (1.1ms)[0m CREATE VIEW "tutuf::visual_query"."params_serialization" AS SELECT AVG(age) AS "възраст" FROM people
|
|
1546
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
|
1547
|
+
[1m[35m (0.2ms)[0m SELECT params FROM tutuf_visual_query_metadata WHERE name='params_serialization'
|
|
1548
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|