Commit Graph

429 Commits

Author SHA1 Message Date
Steve Powell b3937239e1 RJMS-1.2.5-SNAPSHOT 2014-07-10 17:25:56 +01:00
Steve Powell e9c99fb268 RJMS-1.2.4 2014-07-10 17:21:51 +01:00
Steve Powell 0732f2a184 Include version 1.2.3 in compatibility check. 2014-07-10 16:42:05 +01:00
Steve Powell 42132dab1f open_source_licenses.txt 2014-07-10 16:33:47 +01:00
Steve Powell e0148ddfe0 RJMS-1.2.4-SNAPSHOT 2014-06-17 16:29:44 +01:00
Steve Powell 9a0e66e6b0 RJMS-1.2.3 2014-06-17 16:25:23 +01:00
Steve Powell 1000d5605e Modify version checking to make it easier to update (in include header file). 2014-06-17 15:39:13 +01:00
Steve Powell 1c556ce61a RJMS-1.2.3-SNAPSHOT 2014-06-17 10:10:40 +01:00
Steve Powell 242d12e3db open_source_licenses.txt 2014-06-17 10:08:30 +01:00
Steve Powell d85c5397ff RJMS-1.2.2-SNAPSHOT 2014-05-01 14:16:25 +01:00
Steve Powell fc88576c0f RJMS-1.2.1 2014-05-01 14:12:27 +01:00
Steve Powell 543daded22 Add version compatibility check to allow 1.2.0 interoperation. 2014-05-01 10:07:07 +01:00
Steve Powell 6fdc4dce09 RJMS-1.2.1-SNAPSHOT 2014-04-12 00:06:48 +01:00
Steve Powell e074a9400a Version-1.2.0 2014-04-12 00:00:06 +01:00
Steve Powell fdc7559d38 Chore: #63814718 Update OSL file: RJMS 1.2.0 for RabbitMQ. 2014-03-27 16:21:41 +00:00
Steve Powell 41f059f92f Add test escape for version check, no manifests are present when testing classes outside of jars.
[compat-#65568580]
2014-03-19 17:26:53 +00:00
Steve Powell 2fa2709234 Add version check to plugin; pass version on binding and exchange declaration.
The client needs to put a version on the create/bind calls, otherwise they are rejected by the plugin.
The version is matched exactly in this release (1.2.0) but need not be in future releases.
Durable exchanges and bindings from previous releases are not recovered.

[compat-#65568580]
2014-03-19 11:29:10 +00:00
Steve Powell eaf575ec14 Remove all compile/parse SQL code; make evaluator work stand-alone; adjust evaluator tests to use erlang terms directly.
[compat-#65568580]
2014-03-18 18:06:39 +00:00
Steve Powell 46789d436e Remove all RJMS_TYPE_INFO (<<"rjms_type_info">>) refs and usage.
[compat-#65568580]
2014-03-18 10:49:55 +00:00
Steve Powell 07a7337b28 Remove references to RJMS_SELECTOR_ARG <<"rjms_selector">> key on binding Args.
Remove usage and reading of type info in exchange Args.
Remove compilation steps in exchange main module.
Adjust tests 'til they pass.

[compat-#65568580]
2014-03-18 10:31:50 +00:00
Steve Powell 7b3ec393a9 Re-instate x_selection_policy field for db compatibility reasons, but do not use it.
[compat-#65568580]
2014-03-14 17:24:26 +00:00
Steve Powell 486b887020 Remove selection_policy field from database record.
Without version control this may fail upgrades from 1.1.* to 1.2.*.

[compat-#65568580]
2014-03-14 17:00:44 +00:00
Steve Powell 75faeb1358 Remove policy arguments.
[compat-#65568580]
2014-03-14 14:05:41 +00:00
Steve Powell c52ea55d64 open_source_licenses.txt 2014-03-06 17:33:17 +00:00
Steve Powell e823e4021c Merge branch 'v1.1.x' into master
- Fix error formatting invalid selector string (back-level compatibility).
2014-01-29 16:37:04 +00:00
Steve Powell 69555bd1ee Fix error formatting invalid selector string (back-level compatibility).
[compat-#64672608]
2014-01-29 15:02:04 +00:00
Steve Powell b7a39c32ae Merge branch 'v1.1.x' into master
* Adjust evaluate() on `between` functions to cope with ternary version in erlang selector form.
* Add erlang string parameter to jms-topic binding arguments as alternative to SQL string.
* Add function to create erlang term from parameter. Generate check function from erlang term.
* Add unit test for rjms_erlang_selector binding argument presence.
* Remove jms_queue exchange policy and associated tests.
* Adjust Makefile so EXCHANGE dir depends explicitly on test/src/ and include/
2014-01-28 13:55:17 +00:00
Steve Powell ea0b3e8206 Adjust evaluate() on `between` functions to cope with ternary version in erlang selector form.
[sql-parsing#62848150]
2014-01-27 10:59:14 +00:00
Steve Powell b8db16c54a Add erlang string parameter to jms-topic binding arguments as alternative to SQL string.
Add function to create erlang term from parameter.
Generate check function from erlang term.
Add unit test for rjms_erlang_selector binding argument presence.

[sql-parsing#62848150]
2014-01-20 16:33:12 +00:00
Steve Powell 838b42de9b Merge branch 'v1.1.x'
* v1.1.x:
  osl
  Simplify pattern matching code in sjx_evaluator.
  Make evaluator cope with un-compiled pattern strings (by calling sjx_parser:pattern_of/2). This paves the way for a raw evaluator expression to come from the client.

Conflicts:
	open_source_licenses.txt  : updated for 1.2.0
	pom.xml                   : left at 1.2.0-SNAPSHOT
2014-01-17 17:05:26 +00:00
Steve Powell d5d7cb5b7e Remove jms_queue exchange policy and associated tests.
[sql-parsing#62848150]
2014-01-16 16:30:52 +00:00
Steve Powell 2f664acbe7 RJMS 1.1.3-SNAPSHOT
[v1.1.x]
2013-12-20 15:51:12 +00:00
Steve Powell 3c2b9d7e5f RJMS 1.1.2 Release
[v1.1.x]
2013-12-20 15:32:23 +00:00
Steve Powell d46a9f63e7 osl
[v1.1.x]
2013-12-19 22:39:54 +00:00
Steve Powell 1e9cf03bf3 Simplify pattern matching code in sjx_evaluator.
[sql-parsing#54038411]
2013-12-13 16:28:28 +00:00
Steve Powell a0172094c2 Make evaluator cope with un-compiled pattern strings (by calling sjx_parser:pattern_of/2).
This paves the way for a raw evaluator expression to come from the client.

[sql-parsing#54038411]
2013-12-12 18:07:53 +00:00
Steve Powell 92d0ff7476 Merge branch 'v1.1.x'
* v1.1.x:
  Add isLike(undefined) definition, and rearrange evaluate();… for readability.
2013-12-11 16:03:55 +00:00
Steve Powell 80a86b575a Add isLike(undefined) definition, and rearrange evaluate();… for readability.
[in-op#62056870]
2013-12-11 16:00:28 +00:00
Steve Powell 0e9e07ddd0 Merge branch 'in-op#62056870'
* Augment tests for ‘in’ and ‘not_in’ in evaluator; add clauses to evaluate ‘not_in’, in evaluator.
2013-12-11 15:20:12 +00:00
Steve Powell d8ee12410c Augment tests for ‘in’ and ‘not_in’ in evaluator; add clauses to evaluate ‘not_in’, in evaluator.
[in-op#62056870]
2013-12-11 15:17:16 +00:00
Steve Powell 3d9bb312f1 Update copyright
[copyright-#61136178]
2013-12-10 15:44:54 +00:00
Steve Powell bbc593e55a Update copyright
[copyright-#61136178]
2013-12-10 15:44:27 +00:00
Steve Powell b8eb175f0d Merge branch 'master' into v1.1.x
* master:
  Add in operation type checking (and augment tests).
  RabbitMQ 3.2.1
  Automation of RJMS version in artefact build

[v1.1.x]
2013-12-10 14:42:50 +00:00
Steve Powell f049c1acee Add in operation type checking (and augment tests).
[in-op#62056870]
2013-12-10 10:41:31 +00:00
Steve Powell d9d8c6e265 RabbitMQ 3.2.1
[v1.1.x]
2013-11-11 16:24:42 +00:00
Steve Powell 8552548cc5 1.1.2-snapshot release on v1.1.x branch
[v1.1.x]
2013-11-11 15:55:07 +00:00
Steve Powell 0006ea6504 Create 1.1.1 release
[v1.1.x]
2013-11-08 14:59:18 +00:00
Steve Powell 88e43eba0d RabbitMQ 3.2.1
[v1.1.x]
2013-11-08 12:36:22 +00:00
Steve Powell 281754efae 1.1.1-snapshot release on v1.1.x branch
Includes automation of RJMS version in artefact build

[v1.1.x]
2013-11-07 11:54:48 +00:00
Steve Powell bd1c3de8d0 1.2-snapshot release on master branch
Includes automation of RJMS version in artefact build
2013-11-07 11:41:39 +00:00
Steve Powell 13c1c9795a v1.1.0
[v1.1.x]
2013-11-01 23:55:46 +00:00
Steve Powell 5e59108633 Create 1.1.0 release
[v1.1.x]
2013-11-01 17:00:35 +00:00
Steve Powell e607f2a0df RabbitMQ 3.2.0 2013-10-29 15:35:16 +00:00
Steve Powell be2e6d509c Correct boolean expression parsing to allow for multiple NOT
The grammar clause not_expr did not allow for NOT NOT expression. The parser will
automatically condense this to expression, but the grammar will not recognise it.
This commit corrects this and adds a test to check we parse it correctly.
2013-08-14 17:48:45 +01:00
Steve Powell 0cc2f03e4e Extend floating point syntax some more to allow numbers like "21." 2013-08-14 00:48:23 +01:00
Steve Powell 18e01f36d4 Extend floating point syntax to allow decimal digits before f|F|d|D terminator 2013-08-14 00:22:13 +01:00
Steve Powell 6d3570dacc Fix SQL grammar error that doesn't parse '--<expression>' correctly
Grammar clause for sign_expr doesn't allow arbitrarily many sign prefixes.
In particular, when floats were changed to be unsigned, --1.0 became
{'-', {'-', 1.0}} instead of {'-', -1.0}, and broke on this clause error.
This commit fixes this problem and adds some lexical and parser tests to
keep track of it.
2013-08-13 15:41:42 +01:00
Steve Powell 716e23f59a Remove unnecessary optional signs on floating point number lexical scanning. 2013-08-13 12:56:52 +01:00
Steve Powell 1a4d1ab071 Slightly simplify the lexical scanner.
Remove cryptic definitions and atomize clauses.
2013-08-13 11:21:48 +01:00
Steve Powell 697e777854 Add scanner unit tests.
The lexical scanner for SQL expressions was not directly tested in unit test phase.
This commit fixes this by supplying a unit test (which can be expanded) to check that
the lexical scanner can deliver the correct tokens.

[v1.0.x]
2013-08-12 17:21:37 +01:00
Steve Powell e3ed34b239 Simplify parser grammar, and remove comparison atom names.
The parser is inherently ambiguous, if you separate boolean, string and arithmetic expressions.
We merge the three types and create operations that work on any of them. This is a superset of
the valid expressions and validation is then made as far as possible by a separate type scan of
the parse tree.  Full validation is not possible until run-time when the types of the identifiers
is known.

This commit also removes the atoms 'eq', 'neq', 'lteq', &c. and replaces them with direct atoms of
the operator, viz. '=', '<>', '<=', &c.

[v1.0.x]
2013-08-12 17:21:27 +01:00
Steve Powell b19dd72cd2 Adjust s3 repository addresses. 2013-08-01 17:21:23 +01:00
Steve Powell 21f5f0fca9 Remove redundant accumulation field in scan. 2013-07-19 15:08:59 +01:00
Steve Powell 06eb1d2ca9 Refactor dictionary scan to make it more readable.
Fix warnings.
2013-07-19 14:47:29 +01:00
Steve Powell 76b0dd36a3 Add test for multiple queues on jms-queue policy selector exchanges.
Refactor test functions.

[#53393231-multiple-queues]
2013-07-18 17:18:10 +01:00
Steve Powell 4e1fb8268d Implement topic and queue selection policy types on the selection exchange.
Modify exchange record in selector exchange Mnesia db;
  db record now includes a flag indicating selection policy set upon exchange creation;
  queue-selection routing rules, or topic-selection routing rules;
  Default is topic-selection rules -- current behaviour;
  refactor matching to make things simpler and not to apply functions unless needed.

Refactor topic selection (in-broker) tests, and add queue selection test.

Fix unit test dummy_binding to pass the add_binding trivial test.

[#53393051-extend-plugin]
2013-07-18 15:58:34 +01:00
Steve Powell 8e126a7db5 Add some trivial unit tests
[#53393051-extend-plugin]
2013-07-16 11:36:38 +01:00
Steve Powell dbf92d1b1c Add some trivial unit tests
[#53393051-extend-plugin]
2013-07-16 11:00:27 +01:00
Steve Powell 63be245744 Remove reference to RabbitMQ version in build.
Add selector integration test (in-broker).
Augment exchange plugin callbacks for RabbitMQ [3.1.1, oo).
2013-07-03 17:39:09 +01:00
Steve Powell 01c78dc1bb Update all copyright statements to GoPivotal, Inc.
[v1.0.x]
2013-06-27 16:36:09 +01:00
Steve Powell a8717bba2e Set approved version 1.1 open_source_licenses.txt file.
[#50369741-open-source-licenses]
2013-06-19 15:54:18 +01:00
Steve Powell 31f0b07865 Allow periods in identifier names and add test to check for this.
[#51640045]
2013-06-13 15:14:38 +01:00
Steve Powell cbd5720302 Set release 1.1.0-SNAPSHOT 2013-05-21 16:37:12 +01:00
Steve Powell 66b4785fe0 Minor grammar updates to README 2013-05-20 14:04:06 +01:00
Steve Powell 039c31827d RJMS-111: Remove special format for TypeInfo; adjust tests; add more type tests. 2013-04-19 14:53:55 +01:00
Steve Powell dea9e0d1f4 RJMS-111: Removal of type info field from database and wholesale updates of file comments.
- type info directly derived from arguments
- copyright statements and license information was o-o-d
- file comments and type information improved
2013-04-19 14:52:33 +01:00
Steve Powell 3165c7a055 RJMS-105: Pass TypeInfo on XChange create; store in db state; use in add_binding validation. 2013-04-18 13:41:45 +01:00
Steve Powell a2f9b37483 RJMS-105: Expose TypeInfo on analyze interface -- update tests. 2013-04-18 13:41:41 +01:00
Steve Powell e8f1d7e984 RJMS-105: Continue refactoring of type information -- injected only at top. 2013-04-18 13:41:34 +01:00
Steve Powell 2e91f0324f RJMS-105: Rework identifier checks to isolate them ready for parametrisation. 2013-04-18 13:41:26 +01:00
Steve Powell d0a0870b2d RJMS-105: Add test for enumerated type JMSDeliveryMode. 2013-04-18 13:41:16 +01:00
Steve Powell b1e5df6d6a RJMS-103: Change keys in binding funs dictionary to include destination name.
Also change 'queue' references to 'destination' references.
2013-04-11 15:38:27 +01:00
Steve Powell 7a3fe66221 v1.0.x: Change orddict to dict 2013-04-11 15:03:50 +01:00
Steve Powell 294404bdcb RJMS-102: Added parent ref; removed redundant properties and parent-declared stuff.
Added repositories for stand-alone builds.
2013-03-28 12:18:52 +00:00
Steve Powell 0e1f536d1e RJMS-100: Re-instate tests (from six repo, which is now redundant). 2013-03-27 15:00:02 +00:00
Steve Powell 22ce396361 RJMS-100: Move sjx code to plugin repo; and adjust build steps. 2013-03-27 14:42:09 +00:00
Steve Powell 99a381f1ce Set 1.1 development train (1.1-SNAPSHOT) 2013-03-20 16:53:58 +00:00
Steve Powell 33d6b7141f Upgrade to rabbitmq-3.0.4 2013-03-19 09:42:51 +00:00
Steve Powell 0ba59ff4fb Remove unused error condition. 2013-03-15 17:00:18 +00:00
Steve Powell 53a4937331 Add db-transaction semantics for exchange callbacks. 2013-03-14 16:28:48 +00:00
Steve Powell ea9cbe107b Update default RMQ version. 2013-03-13 11:32:06 +00:00
Steve Powell 4915ca86db Correct error messages. 2013-03-13 10:42:49 +00:00
Steve Powell 4fc01c23ff Improve error diagnostics on selector expression failure. 2013-03-12 15:31:05 +00:00
Steve Powell 07e64a707b RJMS-74: Add analyse call which type-checks the SQL expression, and aborts add_binding when erroneous. 2013-03-11 17:03:16 +00:00
Steve Powell 9ac7a94cab RJMS-74: Merge branch 'master' into RJMS-74 2013-03-08 13:48:05 +00:00
Steve Powell f2054812b1 Add open_source_licenses.txt file. 2013-03-08 13:47:48 +00:00
Steve Powell 9ae4a5521f RJMS-74: Tidy some variable usage. 2013-03-05 16:44:23 +00:00
Steve Powell 95105c276f RJMS-74: Typo 2013-03-05 15:35:24 +00:00
Steve Powell 68cdcd52b9 RJMS-74: Fix compile_sql function. 2013-03-05 15:33:22 +00:00
Steve Powell c5b824249d RJMS-74: Ensure sjx_evaluator imported. 2013-03-05 15:16:25 +00:00
Steve Powell 4298ac4805 RJMS-74: Avoid returning non-boolean results;
correct mnesia basic read function.
2013-03-05 12:50:04 +00:00
Steve Powell f30f12e292 RJMS-74: Typo 2013-03-04 17:23:57 +00:00
Steve Powell 6be34bf1d9 RJMS-74: Typo 2013-03-04 16:39:22 +00:00
Steve Powell 6bd3d606f4 RJMS-74: Do work of getting SQL and running evaluate on it for binding checks. 2013-03-04 16:08:40 +00:00
Steve Powell 4fb8fbb3f4 Update description of repository. 2013-03-01 11:27:41 +00:00
Steve Powell 5ed603b96a Base function to deal with database i/o in selector exchange. 2013-02-28 17:25:23 +00:00
Steve Powell 260987bbcb Enable unit tests. 2013-02-28 12:44:56 +00:00
Steve Powell 5785461681 Added omitted exchange type behaviour method 'policy_changed/3'. 2013-02-28 12:44:25 +00:00
Steve Powell 9d4d13083f Start to flesh out topic selector exchange 2013-02-27 17:33:06 +00:00
Steve Powell ba1fb1d2b2 Set and use the rabbitmq.version parameter in the plugin build. 2013-02-26 18:27:29 +00:00
Steve Powell 23ab43521a Make standalone build/repo. 2013-02-14 18:08:12 +00:00
Steve Powell 06c6064116 Set MAVEN_ARTEFACT filename as a parameter. 2013-02-13 17:31:54 +00:00
Steve Powell 5a3091a3a1 Make RabbitMQ version overridable (and control umbrella building). 2013-02-13 16:37:00 +00:00
Steve Powell 99b70cc2f5 Put RabbitMQ version on exchange plugin. 2013-02-13 16:11:22 +00:00
Steve Powell e0ece8bf74 Upgrade to build against rabbitmq-3.0.1. 2013-02-05 17:42:40 +00:00
Steve Powell 4dc193d6cd Extract plugin to target/plugins directory on package. 2013-02-04 14:15:53 +00:00
Steve Powell bfcaedabcf Include sjx query source into exchange build. 2013-01-30 10:06:07 +00:00
Steve Powell 1c95cddd69 Correct rabbit plugin profile:
- better announcements in rabbitmq boot phases
  - run-in-broker make target for local hand-testing of plugin
  - removal of bad {mod, …} entry in application descriptor
2013-01-25 15:41:38 +00:00
Steve Powell 3e6f24dc67 Add database initialisation to exchange and put in trivial function. 2013-01-24 17:52:01 +00:00
Steve Powell bcfb07a068 Modify Makefile and build structure to have controlled makes. 2013-01-23 17:35:40 +00:00
Steve Powell 55f1967712 Update README. 2013-01-22 18:35:16 +00:00
Steve Powell 2dc3a6a065 Add Makefile2 which builds plugin standalone. 2013-01-22 18:21:14 +00:00
Steve Powell 537d87cfc2 Ignore build artefacts 2013-01-22 16:16:12 +00:00
Steve Powell e073d90973 LICENCE update 2013-01-22 15:02:33 +00:00
Steve Powell c093c147c6 Copyright dates 2013-01-22 15:00:27 +00:00
Steve Powell 3e1e3ebd07 Ignore built artefacts. 2013-01-21 16:18:12 +00:00
Steve Powell 9d62574eb3 no-op exchange that builds 2013-01-21 15:49:42 +00:00
Steve Powell 87c43e3602 Update README re build. 2012-08-24 14:22:52 +01:00
Steve Powell 1f5acfe0fd Initial contents 2012-08-24 14:18:40 +01:00